修改leds-gpio.c 让GPIO LED在kernel启动时就开始闪烁
内容提要:
客户需要在开机时就闪烁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启动时就开始闪烁的更多相关文章
- 【NXP开发板应用—智能插排】3.驱动GPIO点亮外接LED
[前言] 首先感谢深圳市米尔科技有限公司举办的这次活动并予以本人参加这次活动的机会,以往接触过嵌入式,但那都是皮毛,最多刷个系统之类的,可以说对于嵌入式系统开发这件事情是相当非常陌生的,这次活动为我提 ...
- 树莓派GPIO控制RGB彩色LED灯
树莓派GPIO通过PWM来控制RGB彩色LED灯,可以显示任何我们想要的颜色. RGB模块简介 这个RGB彩色LED里其实有3个灯,分别是红灯.绿灯和蓝灯.控制这三个灯分别发出不同强度的光,混合起来就 ...
- 树莓派 Learning 003 --- GPIO 001 --- 点亮LED
树莓派 Learning 003 - GPIO 001 - 点亮LED 我的树莓派型号:Raspberry Pi 2 Model B V1.1 装机系统:NOOBS v1.9.2 树莓派 Learni ...
- 痞子衡嵌入式:实测i.MXRT1010上的普通GPIO与高速GPIO极限翻转频率
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1010上的普通GPIO与高速GPIO极限翻转频率. 上一篇文章 <聊聊i.MXRT1xxx上的普通GPIO与高速GP ...
- 痞子衡嵌入式:再测i.MXRT1060,1170上的普通GPIO与高速GPIO极限翻转频率
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1060/1170上的普通GPIO与高速GPIO极限翻转频率. 按照上一篇文章 <实测i.MXRT1010上的普通GP ...
- Linux内核驱动之GPIO子系统(一)GPIO的使用
转自:http://blog.csdn.net/mirkerson/article/details/8464290 一 概述 Linux内核中gpio是最简单,最常用的资源(和 interrupt , ...
- RK3399/NanoPC-T4开发板使用/sys/class/gpio操作外接GPIO设备-【申嵌视频-RK3399篇】
实验2:RK3399/NanoPC-T4开发板使用/sys/class/gpio操作外接GPIO设备,比如外接一个LED模块,通过GPIO1_A0管脚 1 介绍 LED模块 Matrix-LE ...
- Linux内核驱动之GPIO子系统(一)GPIO的使用【转】
转自:http://blog.csdn.net/tommy_wxie/article/details/9427047 一 概述 Linux内核中gpio是最简单,最常用的资源(和 interrupt ...
- 痞子衡嵌入式:聊聊i.MXRT1xxx上的普通GPIO与高速GPIO差异及其用法
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT上的普通GPIO与高速GPIO差异. GPIO 可以说是 MCU 上最简单最常用的外设模块了,当一些原生功能外设接口模块不能 ...
- 用DMA直接驱动GPIO,实现GPIO最高输出速率(转)
源:用DMA直接驱动GPIO,实现GPIO最高输出速率 先上图:STM32F303芯片,72M的主频 可以看到GPIO的达到了14.4M的翻转速率, 再来上代码: RCC_AHBPeriph ...
随机推荐
- Invalid default value for prop "value": Props with type Object/Array must use a factory function to return the default value.
Invalid default value for prop "value": Props with type Object/Array must use a factory fu ...
- 基于surging的木舟平台如何上传模块热部署
一.概述 通过3个月的赶工,基本上快完成1.0版本的研发,将在下个月发布社区1.0版本. 木舟 (Kayak) 是什么? 木舟(Kayak)是基于.NET6.0软件环境下的surging微服务引擎进行 ...
- .NET 平台 WPF 通用权限开发框架 (ABP)
前言 对于大多数.NET后端开发者而言,ABP框架已经相当熟悉,可以轻松进行二次开发,无需重复实现用户角色管理.权限控制.组织管理和多租户等功能. 然而,ABP框架主要专注于Web应用,对于桌面端和移 ...
- Proteus中单片机IO口外接LED输出低电平时,引脚却一直保持高电平的问题(已解决)
前言 一个排阻接八个 LED,方便又省事,但出现了P1端口输出低电平后,仿真引脚却一直显示红色保持高电平不变,用电压表测量显示 2V 左右. 这是仿真的问题,在用开发板时是不会遇到的,为了仿真的显示效 ...
- mouseup模拟drag与click事件冲突
今天要说一个很隐晦的东西,一般可能很难碰到,碰到了可能很难解决.就是当我们自己用mousestart,mousemove,mouseup做自定义拖拽效果的时候,如果这个时候配上click就会引发一个拖 ...
- 数据抽取平台pydatax使用案例---11个库项目使用
数据抽取平台pydatax,前期项目做过介绍: 1,数据抽取平台pydatax介绍--实现和项目使用 项目2: 客户有9个分公司,用的ERP有9套,有9个库,不同版本,抽取的同一个表字段长度有不一样, ...
- curl访问etcd报错unable to set private key file
[appdeploy@1a32vla0168zzzz cfssl]$ curl -i https://xxx.xxx.xxx.5:2379/health --cacert /app/etcd/cfss ...
- 读书笔记-C#8.0本质论-07
19. 平台互相操作性和不安全代码 19.1 在托管平台调用非托管代码--P/Invoke模式 CLI通过P/Invoke功能对非托管DLL所导出的函数执行API调用.和类的所有普通方法一样,必须在类 ...
- 使用 ASM 实现 Java 语言的“多重继承”
问题的提出 在大部分情况下,需要多重继承往往意味着糟糕的设计.但在处理一些遗留项目的时候,多重继承可能是我们能做出的选择中代价最小的.由于 Java 语言本身不支持多重继承,这常常会给我们带来麻烦,最 ...
- Python:pygame游戏编程之旅四(游戏界面文字处理)
本节讲解游戏界面中字体的处理,以在界面中实时显示当前时间.小球位置为例进行实验,具体见代码. 一.代码 # -*- coding:utf-8 -*- import os import sys impo ...