panda.jpg 


안녕하세요 판다 이우영입니다.


오늘은 저번시간에 이어서 pwm을 사용할 수 있도록 커널을 수정 해보도록 하겠습니다.

커널 패치!!



드라이버 작업을 들어가기 전에 현재 falinux에서 배포되고 있는 v210 커널에서

samsung에서 제공하는 pwm 드라이버가 빌드가 되지 않고 있습니다.


그럼 간단하게 몇가지를 추가하여 빌드가 될 수 있도록 수정해 보겠습니다.


먼저 mach 파일을 열어서 platform_device 정보를 추가해 주겠습니다.


arch/arm/mach-s5pv210/mach-ezs5pv210.c                                                                                      

  };

 #endif


+#ifdef CONFIG_HAVE_PWM

+static struct resource wiegand_resources[] = {

+       [0] = {

+               .start  = 2,

+               .end    = 2,

+               .flags  = IORESOURCE_MEM,

+       },

+       [1] = {

+               .start  = 3,

+               .end    = 3,

+               .flags  = IORESOURCE_MEM,

+       },

+};

+

+static struct platform_device device_pwm = {

+       .name           = "pwm",

+       .id                     = -1,

+       .num_resources  = ARRAY_SIZE(wiegand_resources),

+       .resource       = wiegand_resources,

+       .dev = {

+               .platform_data = s3c_device_timer,

+       },

+};

+#endif

+

 #ifdef CONFIG_SERIAL_8250              //==================================================

 #include <linux/serial_8250.h>

 #include <asm/serial.h>

~~

static struct platform_device *ezs5pv210_devices[] __initdata = {

~~

 #ifdef CONFIG_AX88796B

        &device_ax88796,

 #endif

+

+#ifdef CONFIG_HAVE_PWM

+       &s3c_device_timer[2],

+       &s3c_device_timer[3],

+       &device_pwm,

+#endif

+

 #ifdef CONFIG_SERIAL_8250

        &device_serial,

 #endif


그리고 Kconfig를 수정해서 커널에서 제공하는 pwm 제어 드라이버를 등록해 주겠습니다.


arch/arm/mach-s5pv210/Kconfig                                                                                                      

 config MACH_EZS5PV210

~~ 

      select S3C_DEV_WDT

        select HAVE_S3C2410_WATCHDOG

        select S5PV210_SETUP_SDHCI

+       select HAVE_PWM

        help

          Machine support for the FALinux EZ-S5PV210

~~


그럼 패치 끝~


커널 패치 확인!!



그럼 커널 패치가 잘 되었는지 확인을 해보도록 하겠습니다.


방법은 간단 합니다.


부팅 메시지를통해 우리가 추가한 패치를 확인만 하면됩니다.


전부올리면 너무 많으니 다으 메시지가 나왔는지 확인해 주세요.


커널 부팅 메시지                                                                                                                              

~~

 S5PV210: Initializing architecture

s3c24xx-pwm s3c24xx-pwm.2: tin at 2779166, tdiv at 2779166, tin=divclk, base 12

s3c24xx-pwm s3c24xx-pwm.3: tin at 2779166, tdiv at 2779166, tin=divclk, base 16

bio: create slab <bio-0> at 0

~~


간단하죠?



오늘도 여기까지!!!


다음시간에는 직접 디바이스 드라이버를 작성해서 pwm 신호가 잔 나오는지 확인해보도록 하겠습니다.


그럼 바이~