[PATCH 2/8] ARM: dts: imx28: add nand@0 node and partitions

From: Frank Li

Date: Thu Feb 12 2026 - 11:21:22 EST


Add a nand@0 node and partitions subnode for NAND. Move the raw NAND
properties under nand@0. Remove redundant #address-cells and #size-cells at
board dts files.

Fix the below CHECK_DTBS warnings.

arch/arm/boot/dts/nxp/mxs/imx28-apf28.dtb: nand-controller@8000c000 (fsl,imx28-gpmi-nand): Unevaluated properties are not allowed ('partition@0', 'partition@300000', 'partition@380000', 'partition@400000', 'partition@480000', 'partition@500000', 'partition@d00000' were unexpected)

Signed-off-by: Frank Li <Frank.Li@xxxxxxx>
---
arch/arm/boot/dts/nxp/mxs/imx28-apf28.dts | 64 +++++++++++++++++-------------
arch/arm/boot/dts/nxp/mxs/imx28-m28.dtsi | 2 -
arch/arm/boot/dts/nxp/mxs/imx28-m28cu3.dts | 28 ++++++++-----
arch/arm/boot/dts/nxp/mxs/imx28-tx28.dts | 6 ++-
4 files changed, 60 insertions(+), 40 deletions(-)

diff --git a/arch/arm/boot/dts/nxp/mxs/imx28-apf28.dts b/arch/arm/boot/dts/nxp/mxs/imx28-apf28.dts
index 98672932e41bd8b9ee94efd2a11947fdb3ec7aa3..10bfac31f672cb4d473e16f2ce725c3ba359d9c4 100644
--- a/arch/arm/boot/dts/nxp/mxs/imx28-apf28.dts
+++ b/arch/arm/boot/dts/nxp/mxs/imx28-apf28.dts
@@ -27,39 +27,49 @@ &gpmi {
pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
status = "okay";

- partition@0 {
- label = "u-boot";
- reg = <0x0 0x300000>;
- };
+ nand@0 {
+ reg = <0>;

- partition@300000 {
- label = "env";
- reg = <0x300000 0x80000>;
- };
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;

- partition@380000 {
- label = "env2";
- reg = <0x380000 0x80000>;
- };
+ partition@0 {
+ label = "u-boot";
+ reg = <0x0 0x300000>;
+ };

- partition@400000 {
- label = "dtb";
- reg = <0x400000 0x80000>;
- };
+ partition@300000 {
+ label = "env";
+ reg = <0x300000 0x80000>;
+ };

- partition@480000 {
- label = "splash";
- reg = <0x480000 0x80000>;
- };
+ partition@380000 {
+ label = "env2";
+ reg = <0x380000 0x80000>;
+ };

- partition@500000 {
- label = "kernel";
- reg = <0x500000 0x800000>;
- };
+ partition@400000 {
+ label = "dtb";
+ reg = <0x400000 0x80000>;
+ };
+
+ partition@480000 {
+ label = "splash";
+ reg = <0x480000 0x80000>;
+ };
+
+ partition@500000 {
+ label = "kernel";
+ reg = <0x500000 0x800000>;
+ };

- partition@d00000 {
- label = "rootfs";
- reg = <0xd00000 0xf300000>;
+ partition@d00000 {
+ label = "rootfs";
+ reg = <0xd00000 0xf300000>;
+ };
+ };
};
};

diff --git a/arch/arm/boot/dts/nxp/mxs/imx28-m28.dtsi b/arch/arm/boot/dts/nxp/mxs/imx28-m28.dtsi
index 66facef10ba97690decb56ff0648d7fbb0a7bd9b..54b0f715f0918a538bff59762110c49afa52459b 100644
--- a/arch/arm/boot/dts/nxp/mxs/imx28-m28.dtsi
+++ b/arch/arm/boot/dts/nxp/mxs/imx28-m28.dtsi
@@ -24,8 +24,6 @@ reg_3p3v: regulator-0 {
};

&gpmi {
- #address-cells = <1>;
- #size-cells = <1>;
pinctrl-names = "default";
pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
status = "okay";
diff --git a/arch/arm/boot/dts/nxp/mxs/imx28-m28cu3.dts b/arch/arm/boot/dts/nxp/mxs/imx28-m28cu3.dts
index 34b4d3246db197a0588abc2d03ebabad3b0c4ca4..24bacc9ba10bf42671426d37d35c25055261e27c 100644
--- a/arch/arm/boot/dts/nxp/mxs/imx28-m28cu3.dts
+++ b/arch/arm/boot/dts/nxp/mxs/imx28-m28cu3.dts
@@ -93,21 +93,29 @@ &duart {
};

&gpmi {
- #address-cells = <1>;
- #size-cells = <1>;
pinctrl-names = "default";
pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
status = "okay";

- partition@0 {
- label = "gpmi-nfc-0-boot";
- reg = <0x00000000 0x01400000>;
- read-only;
- };
+ nand@0 {
+ reg = <0>;

- partition@1 {
- label = "gpmi-nfc-general-use";
- reg = <0x01400000 0x0ec00000>;
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "gpmi-nfc-0-boot";
+ reg = <0x00000000 0x01400000>;
+ read-only;
+ };
+
+ partition@1400000 {
+ label = "gpmi-nfc-general-use";
+ reg = <0x01400000 0x0ec00000>;
+ };
+ };
};
};

diff --git a/arch/arm/boot/dts/nxp/mxs/imx28-tx28.dts b/arch/arm/boot/dts/nxp/mxs/imx28-tx28.dts
index 9290635352f12c963243efc3d2fcbf0f19af8f8b..07c098ea2e154ebc9ef9c792f6b9351e1a74e67f 100644
--- a/arch/arm/boot/dts/nxp/mxs/imx28-tx28.dts
+++ b/arch/arm/boot/dts/nxp/mxs/imx28-tx28.dts
@@ -247,8 +247,12 @@ &duart {

&gpmi {
pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
- nand-on-flash-bbt;
status = "okay";
+
+ nand@0 {
+ reg = <0>;
+ nand-on-flash-bbt;
+ };
};

&i2c0 {

--
2.43.0