这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » linux移植之LED驱动移植

共1条 1/1 1 跳转至

linux移植之LED驱动移植

专家
2013-03-08 14:54:01     打赏
  1. Linu内核下drivers/leds/leds­gpio.c实现了一个体系结构无关的GPIO LED驱动,使用此LED 驱动,开发者不需要修改一行代码,只需要在 BSP 的板文件(对于OK6410 为arch/arm/mach­s3c6410/mach­my6410.c)中定义相关的platform设备和数据。在 MY6410开发板上,GPM0~GPM3 实现了四个 LED,因此其对应的platform 信息如下:

    arch/arm/mach­s3c6410/mach­my6410.c:

    static struct gpio_led my6410_leds[] ={

        [0]= {

            .name = "LED1",

            .gpio = S3C64XX_GPM(0),

            },

        [1]= {

            .name = "LED2",

            .gpio = S3C64XX_GPM(1),

            },

        [2]= {

            .name = "LED3",

            .gpio = S3C64XX_GPM(2),

            },

        [3]= {

            .name = "LED4",

            .gpio = S3C64XX_GPM(3),

            },    

    };

    static struct gpio_led_platform_data my6410_gpio_led_pdata ={

        .num_leds    = ARRAY_SIZE(my6410_leds),

        .leds         =my6410_leds,

    };

    static struct platform_device my6410_device_led ={

        .name    = "leds-gpio",

        .id        = -1,

        .dev    ={

        .platform_data = &my6410_gpio_led_pdata,

        },

    };

  2. 将&my6410_device_led添加到static struct platform_device *my6410_devices[] __initdata中。
  3. 配置内核:

    Device Drivers --->

        [*] LED Support --->

            <*> LED Support for GPIO connected LEDs

    下载内核后开发板上的四个LED这时候已经全部都亮了




关键词: linux     驱动    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]