添加一个新的遥控器支持比较简单,大概分为记录键值,添加键值进代码两个大的步骤
记录键值
打印键值的调试开关
echo 1 > sys/module/rockchip_pwm_remotectl/parameters/code_print
按下对应的键值
[xxxxxxx]GET USERCODE=0x4040
[xxxxxxx]RMC_GETDATA=e9
该遥控器的
usercode
是
0x4040
,键值就是
0xe9
添加键值
将添加遥控器的修改放到 dts 里面,驱动文件不要做任何修改
&remotectl {
handle_cpu_id = <2>;
ir_key1{
rockchip,usercode = <0x4040>;
rockchip,key_table =
<0xf2 KEY_REPLY>,
<0xba KEY_BACK>,
<0xf4 KEY_UP>,
<0xf1 KEY_DOWN>,
<0xef KEY_LEFT>,
<0xee KEY_RIGHT>,
<0xbd KEY_HOME>,
<0xea KEY_VOLUMEUP>,
<0xe3 KEY_VOLUMEDOWN>,
<0xe2 KEY_SEARCH>,
<0xb2 KEY_POWER>,
<0xbc KEY_MUTE>,
<0xec KEY_MENU>;
};
}
dts
文件的格式要求比较严格,不然会编译不过
ir_key1
是代码第一个,这个名字没有要求
handle_cpu_id
项代表
ir
中断在哪一个
cpu
上处理,如果是
4
核系统可以是
0~3
,如果是双
核系统只能是
0~1
,为了遥控中断更好的响应建议错开
cpu0
去处理。