CIR 配置
CIR 包括以下配置内容:
- 内核配置
Device Drivers <*> Remote Controller support---> [*] LIRC user interface [*] Remote controller decoders---> <*> Enable IR raw decoder for the NEC protocol < > Enable IR raw decoder for the RC-5 protocol < > Enable IR raw decoder for the RC-6 protocol < > Enable IR raw decoder for the Sony protocol < > Enable IR raw decoder for the Sanyo protocol [*] Remote Controller devices---> <*> ArtInChip IR remote control
上图只是说明需要选择相应的红外协议,实际使用中可根据需要选择相应协议,CIR 模块驱动可支持的协议有:NEC、RC5、RC6、Sony、Sanyo。
- DTS 配置
D211 配置
CIR 模块基本配置
cir: cir@19260000 { compatible = "artinchip,aic-cir-v1.0"; reg = <0x0 0x19260000 0x0 0x400>; interrupts-extended = <&plic0 95 IRQ_TYPE_LEVEL_HIGH>; clocks = <&cmu CLK_CIR>; resets = <&rst RESET_CIR>; };
xxx/board.dts 配置
&cir { pinctrl-names = "default"; pinctrl-0 = <&cir_pins_a>; rx-level = <1>; linux,rc-map-name = "rc-empty"; status = "okay"; };
-
rx-level 为 1,表示在空闲状态下,RX 为高电平,激活状态下为低电平;
-
rx-level 为 0,表示在空闲状态下,RX 为低电平,激活状态下为高电平。
-
rx-level 参数的设置与 PCB 板的硬件电路设计相关
属性 linux,rc-map-name 表示该红外模块使用的“keycode-scancode”的映射表,默认使用内核中的空表,该属性可设置的值可参考 rc-map.h
-