[RESEND PATCH 3/3] arm64: dts: rockchip: Add EEPROMs for Radxa boards
FUKAUMI Naoki
naoki at radxa.com
Tue Dec 2 00:49:41 PST 2025
The BL24C16A EEPROM is found in the schematics for Radxa CM3I, Radxa
ROCK 3A, 3B, 5B+, and 5T. [1] [2] [3] [4] [5]
The BL24C16F EEPROM is found in the schematic for Radxa ROCK 4D. [6]
Add these eeprom nodes.
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/cm3i/docs/hw/radxa_cm3i_v1310_schematic.pdf p.8
[2] https://dl.radxa.com/rock3/docs/hw/3a/radxa_rock_3a_v1310_schematic.pdf p.7
[3] https://dl.radxa.com/rock3/docs/hw/3b/Radxa_ROCK_3B_V1.51_SCH.pdf p.35
[4] https://dl.radxa.com/rock5/5b+/docs/hw/radxa_rock5bp_v1.2_schematic.pdf p.29
[5] https://dl.radxa.com/rock5/5t/docs/hw/radxa_rock5t_schematic_v1.2_20250109.pdf p.36
[6] https://dl.radxa.com/rock4/4d/docs/hw/Radxa_ROCK_4D_SCH_V1.12.pdf p.23
[7] https://github.com/radxa/u-boot/blob/next-dev-v2024.10/drivers/misc/radxa-i2c-eeprom.c
Signed-off-by: FUKAUMI Naoki <naoki at radxa.com>
---
.../arm64/boot/dts/rockchip/rk3568-radxa-cm3i.dtsi | 10 +++++++++-
arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts | 8 ++++++++
arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts | 8 ++++++++
arch/arm64/boot/dts/rockchip/rk3576-rock-4d.dts | 14 ++++++++++++++
.../boot/dts/rockchip/rk3588-rock-5b-plus.dts | 10 ++++++++++
arch/arm64/boot/dts/rockchip/rk3588-rock-5t.dts | 10 ++++++++++
6 files changed, 59 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-radxa-cm3i.dtsi b/arch/arm64/boot/dts/rockchip/rk3568-radxa-cm3i.dtsi
index 729e38b9f620..f97a0eb7f7c0 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-radxa-cm3i.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3568-radxa-cm3i.dtsi
@@ -321,7 +321,7 @@ regulator-state-mem {
};
};
- vcc_3v3: SWITCH_REG1 {
+ gpio_vref: vcc_3v3: SWITCH_REG1 {
regulator-name = "vcc_3v3";
regulator-always-on;
regulator-boot-on;
@@ -340,6 +340,14 @@ regulator-state-mem {
};
};
};
+
+ eeprom at 50 {
+ compatible = "belling,bl24c16a", "atmel,24c16";
+ reg = <0x50>;
+ pagesize = <16>;
+ read-only;
+ vcc-supply = <&gpio_vref>;
+ };
};
&pinctrl {
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
index 44cfdfeed668..9214e38648f2 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
@@ -532,6 +532,14 @@ regulator-state-mem {
};
};
};
+
+ eeprom at 50 {
+ compatible = "belling,bl24c16a", "atmel,24c16";
+ reg = <0x50>;
+ pagesize = <16>;
+ read-only;
+ vcc-supply = <&vcc3v3_pmu>;
+ };
};
&i2c3 {
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
index 3d0c1ccfaa79..69001e453732 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
@@ -480,6 +480,14 @@ regulator-state-mem {
};
};
};
+
+ eeprom at 50 {
+ compatible = "belling,bl24c16a", "atmel,24c16";
+ reg = <0x50>;
+ pagesize = <16>;
+ read-only;
+ vcc-supply = <&vcc3v3_sys>;
+ };
};
&i2c5 {
diff --git a/arch/arm64/boot/dts/rockchip/rk3576-rock-4d.dts b/arch/arm64/boot/dts/rockchip/rk3576-rock-4d.dts
index 7023dc326d0e..899a84b1fbf9 100644
--- a/arch/arm64/boot/dts/rockchip/rk3576-rock-4d.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3576-rock-4d.dts
@@ -682,6 +682,20 @@ hym8563: rtc at 51 {
};
};
+&i2c6 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c6m3_xfer>;
+ status = "okay";
+
+ eeprom at 50 {
+ compatible = "belling,bl24c16f", "atmel,24c16";
+ reg = <0x50>;
+ pagesize = <16>;
+ read-only;
+ vcc-supply = <&vcc_3v3_s3>;
+ };
+};
+
&mdio0 {
rgmii_phy0: ethernet-phy at 1 {
compatible = "ethernet-phy-id001c.c916";
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-plus.dts b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-plus.dts
index 07a840d9b385..30d15c7e860a 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-plus.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-plus.dts
@@ -69,6 +69,16 @@ wwan-wake-n-hog {
};
};
+&i2c1 {
+ eeprom at 50 {
+ compatible = "belling,bl24c16a", "atmel,24c16";
+ reg = <0x50>;
+ pagesize = <16>;
+ read-only;
+ vcc-supply = <&vcc_3v3_s3>;
+ };
+};
+
&pcie30phy {
data-lanes = <1 1 2 2>;
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5t.dts b/arch/arm64/boot/dts/rockchip/rk3588-rock-5t.dts
index 0dd90c744380..425036146b6d 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5t.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5t.dts
@@ -60,6 +60,16 @@ &hdmi_receiver {
status = "okay";
};
+&i2c1 {
+ eeprom at 50 {
+ compatible = "belling,bl24c16a", "atmel,24c16";
+ reg = <0x50>;
+ pagesize = <16>;
+ read-only;
+ vcc-supply = <&vcc_3v3_s3>;
+ };
+};
+
&pcie2x1l1 {
pinctrl-names = "default";
pinctrl-0 = <&pcie2_1_rst>;
--
2.43.0
More information about the Linux-rockchip
mailing list