Linux下Flash-LED的处理
Linux下Flash-LED的处理
一些LED设备提供两种模式-torch和flash。在LED子系统中,LED类(参见Linux下的LED处理)和LED Flash类,分别支持这些模式。torch模式相关的功能在默认情况下启用,只有当驱动程序通过设置LED_DEV_CAP_flash标志来声明时,才会启用flash功能。
为了启用对flash led的支持,必须在内核配置中定义flash LEDs CONFIG_LEDS_CLASS_FLASH符号。必须在具有led_classdev_flash_register功能的LED子系统中注册LED flash类驱动程序。
以下sysfs属性用于控制flash LED设备:
(see Documentation/ABI/testing/sysfs-class-led-flash)
• flash_brightness
• max_flash_brightness
• flash_timeout
• max_flash_timeout
• flash_strobe
• flash_fault
V4L2 flash wrapper for flash LEDs
LED子系统驱动器,可以从VideoForLinux2子系统level进行控制。为了启用此配置,需要在内核配置中定义CONFIG_V4L2_FLASH_LED_CLASS类符号。
驱动程序必须调用v4l2_flash_init函数才能在v4l2子系统中注册。函数有六个参数:
• dev:
flash device, e.g. an I2C device
• of_node:
of_node of the LED, may be NULL if the same as device’s
• fled_cdev:
LED flash class device to wrap
• iled_cdev:
表示与fled_cdev关联LED flash设备可能为空NULL
• ops:
V4L2 specific ops
o external_strobe_set
定义flash LED strobe的源source - V4L2_CID_FLASH_STROBE control or external source,通常是一个传感器,使flash strobe开始与曝光开始同步成为可能。
o intensity_to_led_brightness and led_brightness_to_intensity
perform enum led_brightness <-> V4L2 intensity conversion in a device specific manner - they can be used for devices with non-linear LED current scale.
• config:
configuration for V4L2 Flash sub-device
o dev_name
the name of the media entity, unique in the system,
o flash_faults
bitmask of flash faults that the LED flash class device can report; corresponding LED_FAULT* bit definitions are available in <linux/led-class-flash.h>,
o torch_intensity
constraints for the LED in TORCH mode in microamperes,
o indicator_intensity
constraints for the indicator LED in microamperes,
o has_external_strobe
determines whether the flash strobe source can be switched to external,
在remove时,必须调用v4l2_flash_release函数,该函数接受一个参数v4l2_flash_init先前返回的- struct v4l2_flash指针。可使用NULL或error指针参数,安全地调用此函数。
请参阅drivers/leds/leds-max77693.c,了解v4l2闪存包装器的示例性用法。
一旦创建媒体控制器设备的驱动程序,注册了V4L2子设备,子设备节点的作用就像本机V4L2 flash API设备的节点一样。调用被简单地路由到LED flash API。
打开V4L2 flash子设备,使LED子系统sysfs接口不可用。关闭V4L2闪存子设备,接口将重新启用。
Linux下Flash-LED的处理相关推荐
- linux flash擦除命令,Linux下flash操作读、写、擦除步骤
描述 1. 背景介绍 在板上,ZYNQ PL部分通过EMC连接一片NOR FLASH,地址空间如下: 可以看到NOR FLASH的起始地址为0x80000000,这是物理地址,可以把数据存放在以该地址 ...
- Linux下的LED子系统
最简单的led驱动就是从端口输出0或1来关闭或点亮灯.而我们这里讲的led子系统,主要是对led事件进行了分装和优化,这里我们主要讲的是可以实现跨平台的led驱动.不管你是使用三星的平台,还是Atme ...
- linux下flash大小如何查看器,Flash 型号和block大小查看
Flash 型号:S29AL016D90TFI001 016是flash 的大小 16M bit, D90 是指flash 的速度. Get the Flash Erase Block Size. I ...
- 嵌入式Linux开发17——LED驱动开发
Linux下LED灯驱动原理 Linux 下的任何外设驱动,最终都是要配置相应的硬件寄存器.所以本章的 LED 灯驱动最终也是对 I.MX6ULL 的 IO 口进行配置,与裸机实验不同的是,在 L ...
- ZedBoard--(5)嵌入式Linux下的DMA测试(Direct Register Mode)(PS + PL)
ZedBorad–(5)嵌入式Linux下的DMA测试(PS+PL) 本文将详细介绍如何在ZedBorad上使用AXI接口的DMA IP核.(文末会给出测试代码的下载链接) DDR控制器.AXI DM ...
- linux chrome 管理员,Linux下google chrome浏览器flash无法启用的解决
在Linux下使用google chrome浏览器却碰到flash无法启用的问题,以下是解决方法. 错误提示 提示正在为您加载视频...您没有安装flashplayer,请到www.adobe.com ...
- linux 查看led设备,Linux下LedButton设备驱动——详细设计
数据结构 点击(此处)折叠或打开 struct pca9555_led { u8 id; struct i2c_client *client; char *name; struct led_class ...
- linux 下安装adobe flash的关键。
记得第一次使用linux的时候真心觉得很麻烦,各种不适应.那时装个软件都弄得要生要死的.虽说最后也装了出来.第二次用linux就适应多了. 这是第一次查看的方法: linux下安装flash插件的解决 ...
- 解决Linux下chrome无法播放flash问题
解决Linux下chrome无法播放flash问题 参考文章: (1)解决Linux下chrome无法播放flash问题 (2)https://www.cnblogs.com/plodsoft/p/5 ...
最新文章
- Coolite 中GridView点击行中的按钮时跳转至不同的页面
- java中浅层克隆和深层克隆
- 逻辑设计中复位的稳妥处理方法?
- byteofpython.info_byteofpython学习笔记(2)
- 存储过程中执行DDL
- P3865 【模板】ST表
- C# 7.0中的解构功能---Deconstruct
- 阿里Java架构师精通资料:性能优化+亿级并发架构汇总+架构选型
- mysql中union 查询
- RecyclerView(三)实现聊天窗口样式(Android 5.0 新特性)
- html 权限模块设置,角色权限设置.html
- 揭秘 AWS 基础架构底层运维和构建之道!
- Oracle 存储过程的创建,及触发器调用存储过程
- 学习面试题(day01)
- c语言上机字符串,二级C语言上机题库100套(最新)
- “字体arial不支持样式regular“的解决方法
- 苹果三代耳机_【团品2】1.苹果原装数据线以及有线耳机 2.苹果蓝牙耳机
- 在移动开发快捷推广方式
- 网页中播放RTSP(5) WebSocket播放视频
- processon画类图和时序图