idea6410 linux-3.6.6的leds移植

//--------------------------------------------------------------------------------------------

// 作者:longtian635241(longtian_huang@urbetter.com

// 论坛ID:idea6410

// 版权:idea6410

// 平台:友坚idea6410开发板

// 发布日期:2012-11-22

// 最后修改:2012-11-22

//

//----------------------------------------------------------------------------------------------

 

 

 

内核中带有GPIO控制LED的驱动,驱动文件为:drivers/leds/leds-gpio.c ;实现了一个体系结构无关的GPIO LED驱动,使用此LED 驱动,开发者不需要修改一行代码,只需要在 BSP 的板文件(对于idea6410 为arch/arm/mach-­s3c64xx/mach­-smdk6410.c)中定义相关的platform设备和数据。在 idea6410开发板上,GPM0~GPM3 实现了四个LED

1、其对应的platform 信息如下:

static struct gpio_led smdk6410_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 smdk6410_gpio_led_pdata ={

    .num_leds    = ARRAY_SIZE(smdk6410_leds),

    .leds         =smdk6410_leds,

};

static struct platform_device smdk6410_device_led ={

    .name    = "leds-gpio",

    .id        = -1,

    .dev    ={

    .platform_data = &smdk6410_gpio_led_pdata,

    },

};

2、加入必要的头文件:
#include <linux/leds.h>

 

3、在static struct platform_device *smdk6410_devices[] __initdata中加入

&smdk6410_device_led,

 

 

4、配置内核,支持LED驱动:
  Device Drivers --->
     [*] LED Support  ---> 
    <*>   LED Class Support

   <*>   LED Support for GPIO connected LEDs

 

查看设备:
/sys/class/leds/LEDX   (x为 1,2,3,4)
 
操作方法:
[root@urbetter /]# echo 1 > /sys/class/leds/LED1/brightness     让LED1 亮
[root@urbetter /]# echo 0 > /sys/class/leds/LED1/brightness      让LED1 灭

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值