arm64: dts: rockchip: Add EEPROMs for Radxa ROCK 4 boards

The BL24C04A EEPROM is found in the schematics for Radxa ROCK Pi 4A+
and 4B+. [1] [2]

The BL24C16A EEPROM is found in the schematics for Radxa ROCK 4C+, 4SE,
Radxa ROCK Pi 4A, 4B, and 4C. [3] [4] [5] [6] [7]

However, newer boards/batches should have the BL24C16A, but older ones
may have the BL24C04A. (the ROCK Pi 4B+ I own has a 16Kb EEPROM)

For the ROCK Pi 4s (except the relatively new ROCK 4SE), add the
BL24C04A eeprom node for backward compatibility.
For the ROCK 4SE, add the BL24C16A eeprom node.

These are designed to have data written during factory programming
(regardless of whether data is actually written or not), and we at
Radxa permit users to read the data but not write to it. [8]
Therefore, we will add a read-only property to the eeprom node.

[1] https://dl.radxa.com/rockpi4/docs/hw/rockpi4/4ap/radxa_rock_4ap_v1730_schematic.pdf p.17
[2] https://dl.radxa.com/rockpi4/docs/hw/rockpi4/4bp/radxa_rock_4bp_v1730_schematic.pdf p.17
[3] https://dl.radxa.com/rockpi4/docs/hw/rockpi4/ROCK-4C+-V1.411-SCH.pdf p.22
[4] https://dl.radxa.com/rockpi4/docs/hw/rockpi4/ROCK-4-SE-V1.53-SCH.pdf p.17
[5] https://dl.radxa.com/rockpi4/docs/hw/rockpi4/4a/ROCK_4A_V1.52_SCH.pdf p.17
[6] https://dl.radxa.com/rockpi4/docs/hw/rockpi4/4b/ROCK_4B_v1.52_SCH.pdf p.17
[7] https://dl.radxa.com/rockpi4/docs/hw/rockpi4/rockpi4c_v12_sch_20200620.pdf p.17
[8] https://github.com/radxa/u-boot/blob/next-dev-v2024.10/drivers/misc/radxa-i2c-eeprom.c

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://patch.msgid.link/20251202084941.1785-3-naoki@radxa.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
This commit is contained in:
FUKAUMI Naoki 2025-12-02 08:49:40 +00:00 committed by Heiko Stuebner
parent f8a1d7d136
commit 1b2d6b75e2
3 changed files with 28 additions and 0 deletions

View File

@ -453,6 +453,14 @@ regulator-state-mem {
regulator-off-in-suspend;
};
};
eeprom@50 {
compatible = "belling,bl24c04a", "atmel,24c04";
reg = <0x50>;
pagesize = <16>;
read-only;
vcc-supply = <&vcc_3v0_s0>;
};
};
&i2c3 {

View File

@ -8,6 +8,8 @@
#include "rk3399-t.dtsi"
#include "rk3399-rock-pi-4.dtsi"
/delete-node/ &eeprom;
/ {
model = "Radxa ROCK 4SE";
compatible = "radxa,rock-4se", "rockchip,rk3399";
@ -17,6 +19,16 @@ aliases {
};
};
&i2c0 {
eeprom@50 {
compatible = "belling,bl24c16a", "atmel,24c16";
reg = <0x50>;
pagesize = <16>;
read-only;
vcc-supply = <&vcc_3v0>;
};
};
&sdio0 {
status = "okay";

View File

@ -456,6 +456,14 @@ regulator-state-mem {
regulator-off-in-suspend;
};
};
eeprom: eeprom@50 {
compatible = "belling,bl24c04a", "atmel,24c04";
reg = <0x50>;
pagesize = <16>;
read-only;
vcc-supply = <&vcc_3v0>;
};
};
&i2c1 {