am335x system upgrade kernel i2c rtc eeprom(六)
1 Scope of Document
This document describes i2c bus hardware design and support i2c-devices: eeprom(at24c08) rtc(rx8025).
2 Requiremen
2.1 Function Requirement
Enumerate i2c bus eeprom and rtc i2c-device, load corresponding drivers
2.2 Performance Requirement
NA
3 Hardware Overview
i2c interface,pin map:
AM335X_I2C0_SCL------------------I2C0_SCL
AM335X_I2C0_SDA------------------I2C0_SDA


Figure 1 tf interface block diagram
4 Functional Description
4.1 I2C
4.1.1 Overview

Figure 2 timing diagram
- Data transfer is initiated with a start bit (S) signaled by SDA being pulled low while SCL stays high.
- SCL is pulled low, and SDA sets the first data bit level while keeping SCL low (during blue bar time).
- The data are sampled (received) when SCL rises for the first bit (B1). For a bit to be valid, SDA must not change between a rising edge of SCL and the subsequent falling edge (the entire green bar time).
- This process repeats, SDA transitioning while SCL is low, and the data being read while SCL is high (B2, ...Bn).
- The final bit is followed by a clock pulse, during which SDA is pulled low in preparation for the stop bit.
- A stop bit (P) is signaled when SCL rises, followed by SDA rising.
5 Porting
5.1 Kernel porting
Dts file :
i2c0_pins: pinmux_i2c0_pins {
pinctrl-single,pins = <
AM33XX_IOPAD(0x988, PIN_INPUT_PULLUP | MUX_MODE0)
AM33XX_IOPAD(0x98c, PIN_INPUT_PULLUP | MUX_MODE0)
>;
};
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins>;
status = "okay";
clock-frequency = <400000>;
at24c08@50 {
compatible = "atmel,24c08";
pagesize = <16>
reg = <0x50>;
};
rtc@32 {
compatible = "epson,rx8025";
reg = <0x32>;
};
};
[ 1.795430] at24 0-0050: 1024 byte 24c08 EEPROM, writable, 16 bytes/write
[ 1.803203] rtc-rx8025 0-0032: rx8025_get_time: read 0x09 0x01 0x06 0x06 0x16 0x11 0x18
[ 1.803220] rtc-rx8025 0-0032: rx8025_get_time: date 9s 1m 6h 16md 10m 118y
[ 1.803504] rtc rtc0: rx8025: dev (253:0)
[ 1.803534] rtc-rx8025 0-0032: rtc core: registered rx8025 as rtc0
[ 1.809854] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[ 3.179312] rtc-rx8025 0-0032: rx8025_get_time: read 0x10 0x01 0x06 0x06 0x16 0x11 0x18
[ 3.179330] rtc-rx8025 0-0032: rx8025_get_time: date 10s 1m 6h 16md 10m 118y
[ 3.179373] rtc-rx8025 0-0032: setting system clock to 2018-11-16 06:01:10 UTC (1542348070)
6 Follow-up
Read rtc:

Write rtc:

test rtc:

eeprom access dir:
/sys/bus/i2c/devices/0-0050
am335x system upgrade kernel i2c rtc eeprom(六)的更多相关文章
- am335x system upgrade kernel f-ram fm25l16b(十六)
1 Scope of Document This document describes SPI F-RAM hardware design 2 Requiremen 2.1 ...
- am335x system upgrade kernel tf(五)
1 Scope of Document This document describes TF hardware design 2 Requiremen 2.1 Functi ...
- am335x system upgrade kernel ethernet(四)
1 Scope of Document This document describes ethernet hardware design and porting KZS8081 to ubo ...
- am335x system upgrade kernel gpio(九)
1 Hardware Overview gpio interface,pin map: AM335X_I2C0_W_C----------------------MCASP0_AXR1 /* ...
- am335x system upgrade kernel can(八)
1 Scope of Document This document describes can bus hardware design and can bus driver developm ...
- am335x system upgrade kernel uart(七)
1 Scope of Document This document describes UART hardware design, uart driver porting 2 Re ...
- am335x system upgrade kernel ec20 simcom7600ce(十一)
1 Scope of Document This document describes 4G hardware design, support quectel ec20 4G module/ ...
- am335x system upgrade kernel usb stroage(十)
1 Scope of Document This document describes USB hardware design, support stardard usb2.0 port o ...
- am335x system upgrade kernel emmc(十八)
1 Scope of Document This document describes EMMC hardware design 2 Requiremen 2.1 Func ...
随机推荐
- CLASSPATH 环境变量设置
当 JVM 运行时,如果设置了 CLASSPATH 变量,那么 JVM 会到该目录下寻找 java 类文件 该变量配置的方式不同,寻找顺序也不同 在我的 D:\tmp\java\quickstart\ ...
- flutter isolate demo
main.dart import 'package:flutter/material.dart'; import 'package:flutter_isolate/flutter_isolate.da ...
- JS权威指南读书笔记(六)
第十五章 脚本化文档 1 文档对象模型(DOM)是表示和操作HTML和XML文档内容的基础API. 2 文档节点的部分层次结构 Text和CDATASection都是characterData的子 ...
- vscode编辑器自定义配置
{ //删除文件确认 "explorer.confirmDelete": false, // 主题 "workbench.iconTheme": "v ...
- MySQL Index--CREATE INDEX在各版本的优化
FIC(Fast index creation)特性在MySQL 5.5版本中引入FIC(Fast index creation)特性,创建索引时无需再拷贝整表数据,以提升索引的创建速度. FCI 操 ...
- java对象json序列化时忽略值为null的属性
环境: jdk: openjdk11 操作系统: windows 10教育版1903 目的: 如题,当一个对象里有些属性值为null 的不想参与json序列化时,可以添加如下注解 import com ...
- 让Jupyter Notebook个性化
Win下更改jupyter主题 Themes地址 本人环境 Win+Conda 开始使用pip 安装,发现无法使用pip,修改环境变量,将D:\Program Files\Conda\Scripts ...
- python 单元测试(unittest)
自动化测试在各大互联网公司全面铺开,那么针对于自动化测试好的设计思想有哪些呢?.....今天我们共同探讨下Unittest之数据驱动(DDT是 “Data-Driven Tests”的缩写). 对于接 ...
- 使用vue打包,vendor文件过大,或者是app.js文件很大
我的解决办法: 1.把不常改变的库放到index.html中,通过cdn引入,比如下面这样: 然后找到build/webpack.base.conf.js文件,在 module.exports = { ...
- [转]Linux虚拟网络设备之tun/tap
转, 原文:https://segmentfault.com/a/1190000009249039 -------------------------------------------------- ...