1、在配置内核驱动中添加如下选项
Device Drivers --->
[*]LED Support --->
<*> LED Class Support
<*> LED Support for GPIO connected LEDs
[*] Platform devicebindings for GPIO LEDs
[*] LED Triggersupport
*** LED Triggers***
<*> LED GPIO Trigger2、在mx53主代码文件中添加如下代码
#include <linux/leds.h>
#define GPIO_4_4 (3*32 + 4) /* GPIO_4_4 控制LED使用的GPIO*/
在mx53_xx_pads[] = {}数据结构中添加
MX53_PAD_GPIO_14__GPIO4_4,
static struct gpio_led mx53_leds[] = {
{
.name = "gpio-led",
.gpio = GPIO_4_4,
},
};
static struct gpio_led_platform_datamx53_led_pdata = {
.num_leds = ARRAY_SIZE(mx53_leds),
.leds = mx53_leds,
};
static struct platform_devicemx53_leds_device = {
.name = "leds-gpio",
.id = -1,
.dev = {
.platform_data= &mx53_led_pdata,
},
};
static void __init mx53_add_gpio_led(void)
{
platform_device_register(&mx53_leds_device);
}
在io初始化函数中添加
mx53_add__gpio_led();
系统启动后测试
$echo 0 > /sys/class/leds/gpio-led/brightness 控制gpio输出低电平
$echo 1 > /sys/class/leds/gpio-led/brightness 控制gpio输出高电平