当前位置: 首页 > news >正文

修改DTS适配遥控用户码

在将该DTS文件提交到Kernel后,若需适配遥控用户码,需修改 红外遥控(remote-controller)相关节点配置,具体对应DTS中的 pwm@ff420030 节点(RK3399常见红外遥控驱动节点),以下是具体修改位置及步骤:

一、定位需修改的核心节点

在你的DTS文件中,红外遥控配置集中在 /pwm@ff420030 节点(关键词:rockchip,remotectl-pwm,对应红外遥控功能的PWM驱动),该节点下包含 ir_key1/ir_key2/ir_key3 三个子节点,分别对应不同用户码的遥控配置,需修改的核心参数如下:

参数 含义
rockchip,usercode 遥控的用户码(16进制),需替换为目标遥控的实际用户码(如原配置中的 0x4040/0xff00
rockchip,key_table 按键码映射表(16进制),每组两个值分别为「遥控发送的按键码」和「Linux内核对应的键值」

二、具体修改步骤

步骤1:找到DTS中的红外遥控节点

在DTS文件中搜索 pwm@ff420030,定位到如下配置段(已在你的DTS中存在):

pwm@ff420030 {compatible = "rockchip,remotectl-pwm";reg = <0x00 0xff420030 0x00 0x10>;#pwm-cells = <0x03>;pinctrl-names = "default";pinctrl-0 = <0x99>;clocks = <0x86 0x1e>;clock-names = "pwm";status = "okay";interrupts = <0x00 0x3d 0x04 0x00>;remote_pwm_id = <0x03>;handle_cpu_id = <0x01>;remote_support_psci = <0x04>;phandle = <0x12f>;// 以下为3组遥控用户码配置,需根据实际遥控修改ir_key1 {rockchip,usercode = <0x4040>; // 第1组用户码rockchip,key_table = <0xf2 0xe8 0xba 0x9e ...>; // 对应按键映射};ir_key2 {rockchip,usercode = <0xff00>; // 第2组用户码rockchip,key_table = <0xf0 0x74 0xad 0x66 ...>; // 对应按键映射};ir_key3 {rockchip,usercode = <0x1dcc>; // 第3组用户码rockchip,key_table = <0xee 0xe8 0xf0 0x9e ...>; // 对应按键映射};
};

步骤2:修改用户码(rockchip,usercode

  1. 获取目标遥控的用户码
    通过工具(如 irrecord 或红外接收设备)读取你要适配的遥控用户码(16进制格式,如 0x8080);
  2. 替换原有用户码
    若只需适配1组遥控,可直接修改 ir_key1rockchip,usercode 为目标值(如将 0x4040 改为 0x8080);若需适配多组,可保留/修改 ir_key2/ir_key3 的用户码(最多支持3组)。

示例修改(适配用户码 0x8080):

ir_key1 {rockchip,usercode = <0x8080>; // 替换为目标遥控的用户码rockchip,key_table = <0xf2 0xe8 0xba 0x9e ...>; // 后续需同步修改按键映射
};

步骤3:修改按键码映射(rockchip,key_table

key_table 是「遥控按键码」与「Linux内核键值」的映射表,格式为 <遥控按键码> <Linux键值>,需根据目标遥控的实际按键码调整:

  1. 获取遥控按键码
    使用 irrecord -d /dev/lirc0(需内核支持LIRC驱动)录制目标遥控的每个按键对应的16进制按键码;
  2. 对应Linux内核键值
    参考Linux内核键值定义(路径:include/uapi/linux/input-event-codes.h),如:
    • 电源键:KEY_POWER(对应值 0x74
    • 音量+:KEY_VOLUMEUP(对应值 0x73
    • 音量-:KEY_VOLUMEDOWN(对应值 0x72
  3. 替换按键映射表
    rockchip,key_table 中的原有值替换为「目标遥控按键码 + 对应Linux键值」,每组两个值,按实际按键数量调整。

示例修改(适配某遥控的电源/音量键):

ir_key1 {rockchip,usercode = <0x8080>;// 映射规则:<遥控按键码> <Linux键值>rockchip,key_table = <0x12 0x74  // 遥控电源键(0x12)→ KEY_POWER(0x74)0x1a 0x73  // 遥控音量+(0x1a)→ KEY_VOLUMEUP(0x73)0x1e 0x72  // 遥控音量-(0x1e)→ KEY_VOLUMEDOWN(0x72)0x0c 0x66  // 遥控Home键(0x0c)→ KEY_HOME(0x66)// 其他按键按实际情况补充>;
};

步骤4:验证节点依赖(可选)

确保该节点的依赖配置正确,避免修改后功能失效:

  1. Pinctrl配置
    节点中 pinctrl-0 = <0x99> 对应红外接收引脚的引脚配置,需确认 0x99 指向的 pinctrl 节点(在DTS的 pinctrl 段中搜索 phandle = <0x99>)是否为实际使用的红外引脚,若引脚不同需同步修改 pinctrl-0 的值;
  2. 时钟配置
    clocks = <0x86 0x1e> 对应红外驱动的时钟源,无需修改(0x86pmucru 时钟控制器节点的 phandle0x1e 是红外对应的时钟索引)。

三、提交Kernel后的验证步骤

  1. 重新编译内核与DTS
    将修改后的DTS文件放入Kernel的 arch/arm64/boot/dts/rockchip/ 目录(RK3399对应的DTS路径),编译生成 dtb 文件并烧录到开发板;
  2. 测试遥控功能
    开发板启动后,通过 evtest 工具(需安装)测试按键是否被正确识别:
    evtest /dev/input/eventX  # X为红外对应的input设备号(可通过cat /proc/bus/input/devices查看)
    
    按下遥控按键,若终端输出对应的键值(如 KEY_POWER),说明适配成功。

关键注意事项

  1. 用户码格式:需使用16进制格式,且与遥控实际发送的用户码一致(部分遥控可能为32位用户码,需拆分为两个16进制值,具体参考驱动要求);
  2. 按键码顺序key_table 中每组值的顺序不可颠倒(必须是「遥控按键码在前,Linux键值在后」);
  3. 多组用户码:若需适配多个不同用户码的遥控,可保留 ir_key1/ir_key2/ir_key3 三个节点,分别配置不同的 usercodekey_table
http://www.gsyq.cn/news/56635.html

相关文章:

  • nginx性能优化之tcp调优
  • UModel 数据治理:运维世界模型构建实践
  • 2025年11月21日
  • James Watsons
  • 计算机网络:物理层 - 实践
  • MongoDB 平替新方案:金仓多模数据库驱动电子证照国产化落地 - 详解
  • Windows Server 2019 中文版、英文版下载 (2025 年 11 月更新)
  • 2025年11月中国/江苏/徐州MPP电力管,PE管,喷灌机管,建筑排水管,虹吸管综合评测与权威推荐榜单
  • Windows 11 25H2 | 24H2 中文版、英文版 (x64、ARM64) 下载 (2025 年 11 月更新)
  • 2025年11月中国/江苏/徐州MPP电力管,PE管,喷灌机管,建筑排水管,虹吸管权威推荐榜:评测与选购指南
  • 留学中介文书结构榜!申请院校哪家机构逻辑最清晰?
  • 2025年包头家政服务标杆企业最新推荐:信达家政,保洁|保姆|开荒|月嫂|护工一体化服务新标准
  • 2025 年国内空气站智慧站房厂家市场排名与品牌影响力分析报告
  • 留学中介这份文书终极排行快看!哪家最值得信任?
  • 留学中介文书实力排行来了!业内谁是写作天花板?
  • 2025年11月新疆学历提升/成人学历/专升本/自考本科/高起专权威推荐榜:中研教育登顶
  • 2025 年 11 月羊绒衫厂家推荐排行榜,女式羊绒衫,男士羊绒衫,小香风羊绒衫,精选优质羊绒衫公司推荐
  • 年末冲刺 | 2025年12月国际会议日历 | 覆盖理工文管全领域,快速投稿通道
  • 品牌评比结果公布,留学中介排行榜TOP10值得选择
  • 留学中介排名TOP10服务体验评选,这家学生最满意
  • 降ai率免费工具推荐:提升文本原创性的实用选择
  • 石油石化电力电缆生产厂家推荐权威TOP名单(2025年11月):涵盖低压、中压、聚乙烯绝缘电缆生产厂家盘点
  • 2025年路灯品牌权威推荐榜单:太阳能路灯/市电路灯/高杆灯供应商精选
  • 2025 年 11 月轨道交通电力电缆生产厂家精选:中低压电缆(含中压 / 低压)、变频电缆、聚乙烯绝缘电缆、聚氯乙烯绝缘电缆优质企业 Top10 推荐
  • llama-factory llm模型微调框架
  • #C语言——学习攻略:攻克 文档操作内容(一),根本不在话下!
  • 新能源行业时序数据库选型指南:五大关键维度与评估标准
  • gobgp的安装和使用
  • NUIST_LAB03
  • 2025年11月密封胶条十大品牌推荐:一线品质守护家居密封安全