[PATCH] arm64: dts: imx8mm: imx8mp: Update EEPROM with nWP GPIO, label and layout

Marek Vasut marex at nabladev.com
Tue Sep 8 14:54:37 PDT 2026


Describe ID EEPROM nWP GPIO, label and nvmem layout. The i.MX8MM eDM SBC
and i.MX8MP eDM SBC nvmem layout is almost identical, except for length
of product-name at 32 field, which is 19 Bytes on the Mini and 24 Bytes on
the Plus.

Signed-off-by: Marek Vasut <marex at nabladev.com>
---
Cc: Conor Dooley <conor+dt at kernel.org>
Cc: Fabio Estevam <festevam at gmail.com>
Cc: Frank Li <Frank.Li at nxp.com>
Cc: Krzysztof Kozlowski <krzk+dt at kernel.org>
Cc: Pengutronix Kernel Team <kernel at pengutronix.de>
Cc: Rob Herring <robh at kernel.org>
Cc: Sascha Hauer <s.hauer at pengutronix.de>
Cc: devicetree at vger.kernel.org
Cc: imx at lists.linux.dev
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-kernel at vger.kernel.org
---
 .../freescale/imx8mm-data-modul-edm-sbc.dts   |  56 ++++++++
 .../freescale/imx8mp-data-modul-edm-sbc.dts   | 128 ++++++++++++++++++
 2 files changed, 184 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8mm-data-modul-edm-sbc.dts b/arch/arm64/boot/dts/freescale/imx8mm-data-modul-edm-sbc.dts
index df857de0375cf..2b7fed0c5a7c7 100644
--- a/arch/arm64/boot/dts/freescale/imx8mm-data-modul-edm-sbc.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mm-data-modul-edm-sbc.dts
@@ -431,7 +431,63 @@ usb-hub at 2c {
 	eeprom: eeprom at 50 {
 		compatible = "atmel,24c32";
 		reg = <0x50>;
+		label = "dmo-board-info";
 		pagesize = <32>;
+		wp-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;
+
+		nvmem-layout {
+			compatible = "fixed-layout";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			company-name at 24 {
+				reg = <0x24 0xd>;
+			};
+
+			product-name at 32 {
+				reg = <0x32 0x13>;
+			};
+
+			board-revision at 4b {
+				reg = <0x4b 0x3>;
+			};
+
+			serial-number at 4f {
+				reg = <0x4f 0x8>;
+			};
+
+			manufacturing-date at 70 {
+				reg = <0x70 0xa>;
+			};
+
+			test-date at 7b {
+				reg = <0x7b 0xa>;
+			};
+
+			product-number at 86 {
+				reg = <0x86 0x8>;
+			};
+
+			board-variant at 9a {
+				reg = <0x9a 0x9>;
+			};
+
+			company-acronym at a4 {
+				reg = <0xa4 0x3>;
+			};
+
+			mac-address at b0 {
+				reg = <0xb0 0x6>;
+			};
+
+			board-id at 100 {
+				reg = <0x100 0x4>;
+			};
+
+			wifi-id at 1200 {
+				reg = <0x120 0x4>;
+			};
+		};
 	};
 
 	rtc: rtc at 68 {
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-data-modul-edm-sbc.dts b/arch/arm64/boot/dts/freescale/imx8mp-data-modul-edm-sbc.dts
index c284edfa1f4c8..1d03cf73588c4 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp-data-modul-edm-sbc.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mp-data-modul-edm-sbc.dts
@@ -421,14 +421,142 @@ tpm: tpm at 2e {
 	eeprom900: eeprom at 50 {	/* board rev.900 */
 		compatible = "atmel,24c32";
 		reg = <0x50>;
+		label = "dmo-board-info";
 		pagesize = <32>;
+		wp-gpios = <&gpio3 14 GPIO_ACTIVE_LOW>;
 		status = "disabled";
+
+		nvmem-layout {
+			compatible = "fixed-layout";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			company-name at 24 {
+				reg = <0x24 0xd>;
+			};
+
+			product-name at 32 {
+				reg = <0x32 0x18>;
+			};
+
+			board-revision at 4b {
+				reg = <0x4b 0x3>;
+			};
+
+			serial-number at 4f {
+				reg = <0x4f 0x8>;
+			};
+
+			manufacturing-date at 70 {
+				reg = <0x70 0xa>;
+			};
+
+			test-date at 7b {
+				reg = <0x7b 0xa>;
+			};
+
+			product-number at 86 {
+				reg = <0x86 0x8>;
+			};
+
+			board-variant at 9a {
+				reg = <0x9a 0x9>;
+			};
+
+			company-acronym at a4 {
+				reg = <0xa4 0x3>;
+			};
+
+			eeprom900mac: mac-address at b0 {
+				reg = <0xb0 0x6>;
+			};
+
+			board-id at 100 {
+				reg = <0x100 0x4>;
+			};
+
+			wifi-id at 1200 {
+				reg = <0x120 0x4>;
+			};
+
+			board-lvds-id at 140 {
+				reg = <0x140 0x4>;
+			};
+
+			camera-id at 160 {
+				reg = <0x160 0x4>;
+			};
+		};
 	};
 
 	eeprom902: eeprom at 51 {	/* board rev.902 */
 		compatible = "atmel,24c32";
 		reg = <0x51>;
+		label = "dmo-board-info";
 		pagesize = <32>;
+		wp-gpios = <&gpio3 14 GPIO_ACTIVE_LOW>;
+
+		nvmem-layout {
+			compatible = "fixed-layout";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			company-name at 24 {
+				reg = <0x24 0xd>;
+			};
+
+			product-name at 32 {
+				reg = <0x32 0x18>;
+			};
+
+			board-revision at 4b {
+				reg = <0x4b 0x3>;
+			};
+
+			serial-number at 4f {
+				reg = <0x4f 0x8>;
+			};
+
+			manufacturing-date at 70 {
+				reg = <0x70 0xa>;
+			};
+
+			test-date at 7b {
+				reg = <0x7b 0xa>;
+			};
+
+			product-number at 86 {
+				reg = <0x86 0x8>;
+			};
+
+			board-variant at 9a {
+				reg = <0x9a 0x9>;
+			};
+
+			company-acronym at a4 {
+				reg = <0xa4 0x3>;
+			};
+
+			eeprom902mac: mac-address at b0 {
+				reg = <0xb0 0x6>;
+			};
+
+			board-id at 100 {
+				reg = <0x100 0x4>;
+			};
+
+			wifi-id at 1200 {
+				reg = <0x120 0x4>;
+			};
+
+			board-lvds-id at 140 {
+				reg = <0x140 0x4>;
+			};
+
+			camera-id at 160 {
+				reg = <0x160 0x4>;
+			};
+		};
 	};
 
 	rtc: rtc at 68 {
-- 
2.53.0




More information about the linux-arm-kernel mailing list