GPIO模拟I2C实现RTC时钟

环境:xilinx zynq linux

linux系统:buildroot 2018

需求:通过GPIO模拟I2C实现RTC时钟配置及读取;

RTC芯片:RTC1338

内核配置

Device Drivers->

    I2C support  --->

        I2C Hardware Bus support  --->

            <*> GPIO-based bitbanging I2C

设备树配置

在amba节点中添加i2c虚拟节点,与PS其它节点在同一级,如下:

i2c5: i2c5 {

            #address-cells = <1>;

            #size-cells = <0>;

            compatible = "i2c-gpio";

            gpios = < &gpio0 34 0x01>,  // SDA

                    < &gpio0 32 0x01>;// SCL

            i2c-gpio,delay-us = < 0x05 >; // 100 KHz

            status = "okay";

             // 添加RTC子设备

            rtc1: rtc1@68 {

                compatible = "dallas,ds1338";

                reg = < 0x68 >; // DS1338设备地址

            };

        };

在aliases中添加i2c0=&i2c5或i2c0 = "/amba/i2c5";

验证测试

系统启动后增新了/dev/i2c-0总线设备,它就是我们新增的GPIO模拟I2C总线设备,可通过命令i2cdetect查看总线上挂载的设备,它将显示连接到I2C总线上的设备的地址。例如运行i2cdetect -y 0将扫描总线号为0的I2C总线上的设备。使用i2cdetect -l可列出可用I2C总线

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值