zynq-7000系列基于7015的linux下 I2C-bus switch的扩展使用

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
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Zynq-7000系列linux开发学习笔记是一系列关于在Zynq7030数据采集板上进行Linux开发的文章。在这些文章中,作者提供了关于编译Linux内核、制作设备树、安装NFS等方面的指导和经验。在其中一篇文章中,作者遇到了在挂载NFS时出现的问题,提示"wrong fs type, bad option, bad superblock"等错误信息。作者还提供了Linux内核源码的下载链接以及开发环境的相关信息。整个学习笔记的目标是让开发板能够连接外网,并通过NFS挂载到虚拟机上运行一个helloworld程序。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [Zynq-7000系列linux开发学习笔记:NFS配置与开发板联网(七)](https://blog.csdn.net/Claudedy/article/details/94591622)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Zynq-7000系列linux开发学习笔记:编译Linux内核和制作设备树(六)](https://blog.csdn.net/Claudedy/article/details/90760085)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值