瑞芯微Rockchip开发者社区
直播中

申根换

7年用户 1591经验值
私信 关注
[经验]

怎样使用RK3566板子去调试EEPROM呢

一、硬件结构

在I2C 2总线下接了一片K24C02O(华虹宏力),和AT24C02兼容,所以驱动用at24的。

1.jpg

注意:如果R32焊接,则EEPROM内容只读,如果R32 NC,则EEPROM可读、可写。

二、驱动

驱动文件位于..\kernel\drivers\misc\eeprom路径下。

三、加入设备

1.DTS文件中i2c2节点下加入设备描述:

eeprom: at24c02@50 {
	status = "okay";
	compatible = "atmel,24c02";
	reg = <0x50>;
	size = <256>;
	pagesize = <8>;
};

2.内核配置

make ARCH=arm64 menuconfig

Devices Drivers --->

Misc devices --->

              EEPROM support --->

                    <*> I2C EEPROMs / RAMs /ROMs from most vendors

保存配置文件:

cp .config arch/arm64/configs/rockchip_linux_defconfig

1.jpg

四、测试

修改SDK后,重新编译kernel,并将新生成的boot.img烧写到主板。

系统启动后查看设备是否存在:

[root@RK356X:/]# ls /sys/bus/i2c/drivers/at24/
2-0050 bind uevent unbind

内容读写:

[root@RK356X:/]# cd /sys/bus/i2c/drivers/at24/2-0050/
[root@RK356X:/sys/devices/platform/fe5b0000.i2c/i2c-2/2-0050]# echo "123456" > e
eprom
[root@RK356X:/sys/devices/platform/fe5b0000.i2c/i2c-2/2-0050]# cat eeprom
123456

原作者:火柴棍mcu

更多回帖

发帖
×
20
完善资料,
赚取积分