]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: rockchip: Add EEPROMs for Radxa ROCK 4 boards
authorFUKAUMI Naoki <naoki@radxa.com>
Tue, 2 Dec 2025 08:49:40 +0000 (08:49 +0000)
committerHeiko Stuebner <heiko@sntech.de>
Mon, 22 Dec 2025 13:28:54 +0000 (14:28 +0100)
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>
arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus.dts
arch/arm64/boot/dts/rockchip/rk3399-rock-4se.dts
arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi

index 74160cf891885f5c816540f5c30452dabb4abd21..f95fd92d58ba209cfb78821f43db639cd4b8b3f7 100644 (file)
                        regulator-off-in-suspend;
                };
        };
+
+       eeprom@50 {
+               compatible = "belling,bl24c04a", "atmel,24c04";
+               reg = <0x50>;
+               pagesize = <16>;
+               read-only;
+               vcc-supply = <&vcc_3v0_s0>;
+       };
 };
 
 &i2c3 {
index a8b8d4acc33712da01b3b93a0bffd1694aefe3be..c0b931b3c6409002cf2dfdde4ed3c5b559efcc2e 100644 (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";
        };
 };
 
+&i2c0 {
+       eeprom@50 {
+               compatible = "belling,bl24c16a", "atmel,24c16";
+               reg = <0x50>;
+               pagesize = <16>;
+               read-only;
+               vcc-supply = <&vcc_3v0>;
+       };
+};
+
 &sdio0 {
        status = "okay";
 
index 046dbe329017867d03f3db816885bd0f6eca880d..a8ab043e40620426420601cc967ac5d79e423fd9 100644 (file)
                        regulator-off-in-suspend;
                };
        };
+
+       eeprom: eeprom@50 {
+               compatible = "belling,bl24c04a", "atmel,24c04";
+               reg = <0x50>;
+               pagesize = <16>;
+               read-only;
+               vcc-supply = <&vcc_3v0>;
+       };
 };
 
 &i2c1 {