zynq-7000系列基于7015的linux下 I2C-bus switch的扩展使用
来源:互联网 发布:电脑淘宝怎么用淘口令 编辑:程序博客网 时间:2024/05/29 00:34
zynq-7000系列基于7015的linux下 I2C-bus switch的扩展使用
作者:卢浩
时间:2017.3.6
转载请注明出处
有一些用户在嵌入式开发过程中,存在I2C不够用的情况,这时候我们就需要扩展多个I2C接口了。这里我是基于7015的I2C0扩展的8个I2C,用PCA9548A8-channel I2C-bus switch with reset。
http://www.nxp.com/documents/data_sheet/PCA9548A.pdf
我们可以看一下PCA9548的地址信息:如下图
1110A2A1A0,我的设计中,A2 A1 A0都接了GND,即为0 0 0,那么地址就是1110000,16进制为0X70,请看原理图:
打开zynq-zed.dts文件,添加如下:
aliases { ethernet0 = &gem0; i2c0 = &i2c0; i2c1 = &i2c1; serial0 = &uart1; spi0 = &qspi; mmc0 = &sdhci0; };
&i2c0 { status = "okay"; clock-frequency = <100000>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c0_default>; #address-cells = <1>; #size-cells = <0>; pca9548: mux@70 { compatible = "nxp,pca9548"; #address-cells = <1>; #size-cells = <0>; reg = <0x70>; };};
&pinctrl0 {pinctrl_i2c0_default: i2c0-default { mux { groups = "i2c0_0_grp"; function = "i2c0"; }; conf { groups = "i2c0_0_grp"; bias-pull-up; slew-rate = <0>; io-standard = <1>; }; }; };然后配置内核添加对pca9543的支持,如下:
<*> Philips PCA954x I2C Mux/switches
编译内核和dts,收工。
0 0
- zynq-7000系列基于7015的linux下 I2C-bus switch的扩展使用
- zynq-7000系列基于7015的linux下IIC->RTC的扩展使用(DS3232)
- zynq-7000系列基于zynq-zed的vivado初步设计之linux下控制PL扩展的UART
- zynq-7000系列基于zynq-7015的vivado初步设计之linux下控制PL扩展的光以太网(1000BASE-X)
- zynq-7000系列基于zynq-zed的linux-uboot的编译
- zynq-7000系列基于zynq-zed的AMP模式的实现(linux+bare-metal)
- Zynq平台下linux的I2C驱动(RTC+EEPROM)
- Zynq平台下linux的I2C驱动(RTC+EEPROM)
- zynq-7000系列基于zynq-zed的vivado初步设计之使用jtag->uart(MDM)
- zynq-7000系列基于zynq-zed双核ARM-Cortex-A9性能的评估测试(多核的使用)
- linux下,qemu模拟Zynq-7000 EPP可扩展处理平台的搭建过程
- zynq-7000系列基于zynq-zed的MAC->MAC 的实现(fixed-link)
- zynq-7000系列基于zynq-zed的ramdisk文件系统的修改
- zynq-7000系列基于zynq-zed的RGMII以太网控制器稳定性的问题
- Xilinx ZYNQ 7000+Vivado2015.2系列(六)创建一个基于AXI总线的GPIO IP并使用
- /sys/bus/i2c/devices下的内容与i2c_board_info结构
- zynq-7000学习笔记(十一)——Linux下VDMA的使用
- Linux i2c bus driver
- java面试之HashMap的实现原理和底层数据结构
- DataTable中DefaultValue的使用
- 62. Unique Paths
- 移动端HTML5页面开发相关总结
- Spyder stuck onConnecting to kernel
- zynq-7000系列基于7015的linux下 I2C-bus switch的扩展使用
- javaScript与python(django)前后台传输数据格式的转换
- myclipse的mybatis逆向工程生成
- RXjava+Retrofit+dagger2打造自己的MVP框架
- mybatis----批量增加与批量删除
- AlgorithmExample3
- 解决升级 android stuidio 2.3正式版后,卡在Refreshing Gradle Project的问题
- 响应不同分辨率ViewPort
- T313发展史-光电集成史上一位神奇的科学家爷爷-Amnon Yariv