内容提要:

客户需要在开机时就闪烁LED,并要求越快越好

diff --git a/drivers/leds/leds-gpio.c b/drivers/leds/leds-gpio.c
index 764c313..9276e99 100644
--- a/drivers/leds/leds-gpio.c
+++ b/drivers/leds/leds-gpio.c
@@ -194,6 +194,10 @@ static struct gpio_leds_priv *gpio_leds_create(struct platform_device *pdev) fwnode_property_read_string(child, "linux,default-trigger",
&led.default_trigger);
+ fwnode_property_read_u32(child, "blink-delay-on",
+ (unsigned int *)&led_dat->cdev.blink_delay_on);
+ fwnode_property_read_u32(child, "blink-delay-off",
+ (unsigned int *)&led_dat->cdev.blink_delay_off); if (!fwnode_property_read_string(child, "default-state",
&state)) {

设备树配置参考

        boot_led {
label = "boot_led";
gpios = <&tlmm 36 0>;
default-state = "off";
linux,default-trigger = "timer";
blink-delay-on = <0>;
blink-delay-off = <500>;
}; work_led {
label = "work_led";
gpios = <&tlmm 34 0>;
default-state = "off";
linux,default-trigger = "timer";
blink-delay-on = <2000>;
blink-delay-off = <1000>;
};

总结。leds-gpio.c提供了在sysfs操作 blink_delay_on 和 blink_delay_off 的节点,但是默认情况下这两个属性在驱动中都初始化为0,导致驱动加载后无法开始闪烁,必须等kernel起来后,通过应用程序进行设置后才开始闪烁。通过在驱动中增加这两个方法,可以对这两个属性进行初始化配置,让闪烁在驱动加载完成后就进行。

修改leds-gpio.c 让GPIO LED在kernel启动时就开始闪烁的更多相关文章

  1. 【NXP开发板应用—智能插排】3.驱动GPIO点亮外接LED

    [前言] 首先感谢深圳市米尔科技有限公司举办的这次活动并予以本人参加这次活动的机会,以往接触过嵌入式,但那都是皮毛,最多刷个系统之类的,可以说对于嵌入式系统开发这件事情是相当非常陌生的,这次活动为我提 ...

  2. 树莓派GPIO控制RGB彩色LED灯

    树莓派GPIO通过PWM来控制RGB彩色LED灯,可以显示任何我们想要的颜色. RGB模块简介 这个RGB彩色LED里其实有3个灯,分别是红灯.绿灯和蓝灯.控制这三个灯分别发出不同强度的光,混合起来就 ...

  3. 树莓派 Learning 003 --- GPIO 001 --- 点亮LED

    树莓派 Learning 003 - GPIO 001 - 点亮LED 我的树莓派型号:Raspberry Pi 2 Model B V1.1 装机系统:NOOBS v1.9.2 树莓派 Learni ...

  4. 痞子衡嵌入式:实测i.MXRT1010上的普通GPIO与高速GPIO极限翻转频率

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1010上的普通GPIO与高速GPIO极限翻转频率. 上一篇文章 <聊聊i.MXRT1xxx上的普通GPIO与高速GP ...

  5. 痞子衡嵌入式:再测i.MXRT1060,1170上的普通GPIO与高速GPIO极限翻转频率

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1060/1170上的普通GPIO与高速GPIO极限翻转频率. 按照上一篇文章 <实测i.MXRT1010上的普通GP ...

  6. Linux内核驱动之GPIO子系统(一)GPIO的使用

    转自:http://blog.csdn.net/mirkerson/article/details/8464290 一 概述 Linux内核中gpio是最简单,最常用的资源(和 interrupt , ...

  7. RK3399/NanoPC-T4开发板使用/sys/class/gpio操作外接GPIO设备-【申嵌视频-RK3399篇】

    实验2:RK3399/NanoPC-T4开发板使用/sys/class/gpio操作外接GPIO设备,比如外接一个LED模块,通过GPIO1_A0管脚 1 介绍   LED模块   Matrix-LE ...

  8. Linux内核驱动之GPIO子系统(一)GPIO的使用【转】

    转自:http://blog.csdn.net/tommy_wxie/article/details/9427047 一 概述 Linux内核中gpio是最简单,最常用的资源(和 interrupt  ...

  9. 痞子衡嵌入式:聊聊i.MXRT1xxx上的普通GPIO与高速GPIO差异及其用法

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT上的普通GPIO与高速GPIO差异. GPIO 可以说是 MCU 上最简单最常用的外设模块了,当一些原生功能外设接口模块不能 ...

  10. 用DMA直接驱动GPIO,实现GPIO最高输出速率(转)

    源:用DMA直接驱动GPIO,实现GPIO最高输出速率 先上图:STM32F303芯片,72M的主频 可以看到GPIO的达到了14.4M的翻转速率,      再来上代码: RCC_AHBPeriph ...

随机推荐

  1. transformer论文解读

    1. 相关工作 2. 模型架构 3. 如何理解 Layer Norm 4. Encoder 和 Decoder 结构 5. 从 attention 到 Scaled Dot-Product Atten ...

  2. Redis工具可视化工具Redis Desktop Manager(附安装包)

    前言 redis工具,我相信每个开发都需要,如果每次查都去client执行指令,我怕查完之后,老大就要发版咯.我之前一直用的Redis可视化工具RedisDesktopManager,总觉得差点意思, ...

  3. 全网最适合入门的面向对象编程教程:58 Python字符串与序列化-序列化Web对象的定义与实现

    全网最适合入门的面向对象编程教程:58 Python 字符串与序列化-序列化 Web 对象的定义与实现 摘要: 如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML\YAM ...

  4. Mellanox hp 544+FLR QSFP 40G 网卡升级固件及性能测试

    烧录命令参考视频: 相关视频: https://www.youtube.com/watch?v=_2-qPV1giEc flint -allow_psid_change -d /dev/mst/mt4 ...

  5. 题解:CF771A Bear and Friendship Condition

    CF771A Bear and Friendship Condition 题解 算法 并查集,图的基本性质 分析 题目意思是,一旦有一些点联通,那么这些点必须两两直接相连.换句话讲,就是图中的每个联通 ...

  6. 知识分享:Air780E软件之UDP应用示例

    一.UDP概述 UDP(用户数据报协议,UserDatagramProtocol)是一种无连接的.不可靠的传输层协议,主要用于实现网络中的快速通讯.以下是UDP通讯的主要特点: 1.1 无连接通讯: ...

  7. 低功耗4G模组:MQTT通信功能

    ​ 今天我们来学习使用合宙Air708E开发板的MQTT通信基本功能. 一.MQTT介绍 MQTT是一种低开销.低带宽占用的即时通讯协议,可以用极少的代码和带宽为远程设备提供实时可靠的消息服务.它适用 ...

  8. php 异步并行

    如果你有一批数据需要调用远程接口处理,而远程接口处理时间很长,比如需要1秒左右,那10条数据就是10秒,你的程序就要10S才能结束,而这样的话一旦接口提供方有点问题,就需要20秒 30秒甚至更久,这样 ...

  9. PythonDay3Advance

    PythonDay3Advance 运算符 位运算符 进制: 将整数分了几种进制表示法 二进制:由0,1构成,逢2进1,以0b开头 八进制:由0,1,2,3,4,5,6,7构成,逢8进1,以0开头 十 ...

  10. http相关知识要点

    1.TCP/IP协议分为哪几层?每一层主要作用是什么?为什么要分层? 应用层 传输层 网络层 数据链路层 2.HTTP请求有哪些方式? GET:用于从服务器获取资源.不会改变资源状态,无副作用,幂等. ...