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

怎么查看Linux I2C总线挂载了那些设备?

1. 根据系统启动查看设备树节点文件(系统运行后的)

比如:要查看I2C2

	i2c2: i2c@feaa0000 {compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";reg = <0x0 0xfeaa0000 0x0 0x1000>;clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>;clock-names = "i2c", "pclk";interrupts = <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>;pinctrl-names = "default";pinctrl-0 = <&i2c2m0_xfer>;resets = <&cru SRST_I2C2>, <&cru SRST_P_I2C2>;reset-names = "i2c", "apb";#address-cells = <1>;#size-cells = <0>;status = "disabled";};

在这里插入图片描述

综上所述,节点名称是i2c@feaa0000

cd /proc/device-tree/i2c@feaa0000 ,进入这个目录 ls查看
在这里插入图片描述

2. 反编译总的设备树文件来查询

dtc -I dtb -O dts rk3588s-evb1-lp4x-v10-linux.dtb > test_all.dts

执行这个指令 grep -A10 “i2c2” test_all.dts
结果如下

wls@wls-virtual-machine:~/manifoldtech_file/project/RK3588/rk3588_linux_241112/kernel/arch/arm64/boot/dts/rockchip$ grep -A10 "i2c2" test_all.dtsi2c2 = "/i2c@feaa0000";i2c3 = "/i2c@feab0000";i2c4 = "/i2c@feac0000";i2c5 = "/i2c@fead0000";i2c6 = "/i2c@fec80000";i2c7 = "/i2c@fec90000";i2c8 = "/i2c@feca0000";rkcif_mipi_lvds0 = "/rkcif-mipi-lvds";rkcif_mipi_lvds1 = "/rkcif-mipi-lvds1";rkcif_mipi_lvds2 = "/rkcif-mipi-lvds2";rkcif_mipi_lvds3 = "/rkcif-mipi-lvds3";
--i2c2 {i2c2m0-xfer {rockchip,pins = <0x00 0x0f 0x09 0x19d 0x00 0x10 0x09 0x19d>;phandle = <0x143>;};i2c2m2-xfer {rockchip,pins = <0x02 0x03 0x09 0x19d 0x02 0x02 0x09 0x19d>;phandle = <0x341>;};i2c2m3-xfer {rockchip,pins = <0x01 0x15 0x09 0x19d 0x01 0x14 0x09 0x19d>;phandle = <0x342>;};i2c2m4-xfer {rockchip,pins = <0x01 0x01 0x09 0x19d 0x01 0x00 0x09 0x19d>;phandle = <0x343>;};};i2c3 {i2c3m0-xfer {rockchip,pins = <0x01 0x11 0x09 0x19d 0x01 0x10 0x09 0x19d>;phandle = <0x150>;
--i2c2 = "/i2c@feaa0000";vdd_npu_s0 = "/i2c@feaa0000/rk8602@42";vdd_npu_mem_s0 = "/i2c@feaa0000/rk8602@42";aw2013_led = "/i2c@feaa0000/aw2013_led@45";imu_icm_45686 = "/i2c@feaa0000/imu_icm_45686@69";usbc0 = "/i2c@feaa0000/fusb301@25";usbc0_role_sw = "/i2c@feaa0000/fusb301@25/ports/port@0/endpoint@0";usb_con = "/i2c@feaa0000/fusb301@25/connector";usbc0_orien_sw = "/i2c@feaa0000/fusb301@25/connector/ports/port@0/endpoint";dp_altmode_mux = "/i2c@feaa0000/fusb301@25/connector/ports/port@1/endpoint";og02b10_1 = "/i2c@feaa0000/og02b10-1@70";
--i2c2m0_xfer = "/pinctrl/i2c2/i2c2m0-xfer";i2c2m2_xfer = "/pinctrl/i2c2/i2c2m2-xfer";i2c2m3_xfer = "/pinctrl/i2c2/i2c2m3-xfer";i2c2m4_xfer = "/pinctrl/i2c2/i2c2m4-xfer";i2c3m0_xfer = "/pinctrl/i2c3/i2c3m0-xfer";i2c3m1_xfer = "/pinctrl/i2c3/i2c3m1-xfer";i2c3m2_xfer = "/pinctrl/i2c3/i2c3m2-xfer";i2c3m4_xfer = "/pinctrl/i2c3/i2c3m4-xfer";i2c4m0_xfer = "/pinctrl/i2c4/i2c4m0-xfer";i2c4m2_xfer = "/pinctrl/i2c4/i2c4m2-xfer";i2c4m3_xfer = "/pinctrl/i2c4/i2c4m3-xfer";i2c4m4_xfer = "/pinctrl/i2c4/i2c4m4-xfer";i2c5m0_xfer = "/pinctrl/i2c5/i2c5m0-xfer";i2c5m1_xfer = "/pinctrl/i2c5/i2c5m1-xfer";
http://www.dtcms.com/a/321192.html

相关文章:

  • springboot整合rabbitMQ的示例
  • Elasticsearch:在向量搜索中使用 Direct IO
  • 解码华为云安全“铁三角”:用“分层防御”化解安全挑战
  • 微软披露Exchange Server漏洞:攻击者可静默获取混合部署环境云访问权限
  • 企业AI的双层技术栈架构:融合社区创新与企业级管控的设计蓝图
  • Git 使用场景笔记
  • DuoPlus支持导入文件批量配置云手机参数,还优化了批量操作和搜索功能!
  • 数据结构--哈希表
  • QAGenerationChain从知识库生成大模型应用测试的问题对
  • LeetCode算法日记 - Day 5: 长度最小的子数组、无重复字符的最长子串
  • 【uni-app】解决在 h5 环境下会出现双标题问题
  • 内核的调试和优化
  • Netty-Rest搭建笔记
  • 微算法科技(NASDAQ:MLGO)使用循环QSC和QKD的量子区块链架构,提高交易安全性和透明度
  • 降低程序运行时CPU和GPU峰值占用的技术方案
  • 基于深度学习的鸟类检测识别系统(yolo11、yolov8、yolov5+UI界面+Python项目源码+模型+标注好的数据集)
  • ROHM推出适用于Zone-ECU的高性能智能高边开关!
  • 【unitrix数间混合计算】2.3 标准化处理系统(src/number/normalize/mod.rs)
  • Alkimi 与 Sui 合作,修复「破碎」的广告生态
  • HarmonyOS多设备资源文件管理以及resources资源引用方式
  • 交换机100G模块远距离连接踩坑记录
  • 强制用户更改WordPress密码的重要性及实现方法
  • Pinterest视觉营销自动化:亚矩阵云手机实例与多分辨率适配技术
  • 在 Elasticsearch/Kibana (ELK Stack) 中搜索包含竖线 (|)​​ 这类特殊字符的日志消息 (msg 字段) ​确实需要转义
  • proteus实现简易DS18B20温度计(stm32)
  • python学智能算法(三十五)|SVM-软边界拉格朗日方程乘子非负性理解
  • 阿里云服务linux安装单机版
  • Java 之 设计模式
  • Scratch编程:枪战游戏(附源码)
  • C++信息学奥赛一本通-第一部分-基础一-第3章-第1节