7.2.2. CIR配置
7.2.2.1. 内核配置
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--->
<*> ZX IR remote control
备注
上图只是说明需要选择相应的红外协议,实际使用中可根据需要选择相应协议,CIR模块驱动可支持的协议有:NEC、RC5、RC6、Sony、Sanyo。
7.2.2.2. DTS配置
7.2.2.2.1. M4配置
CIR模块基本配置
cir: cir@19260000 {
compatible = "zx,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