* [PATCH 1/3] dt-bindings: mtd: mxc-nand: add i.MX25 and i.MX27 nand support
2026-02-11 21:19 [PATCH 0/3] ARM: dts: imx: clean up imx2* NAND CHECK_DTBS warnings Frank Li
@ 2026-02-11 21:19 ` Frank Li
2026-02-12 11:47 ` Krzysztof Kozlowski
2026-02-11 21:19 ` [PATCH 2/3] RM: dts: imx: set #size-cells to 0 to align with nand-controller.yaml Frank Li
2026-02-11 21:19 ` [PATCH 3/3] ARM: dts: imx: move NAND properties under nand@0 node Frank Li
2 siblings, 1 reply; 8+ messages in thread
From: Frank Li @ 2026-02-11 21:19 UTC (permalink / raw)
To: Miquel Raynal, Richard Weinberger, Vignesh Raghavendra,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, Uwe Kleine-König
Cc: linux-mtd, devicetree, imx, linux-arm-kernel, linux-kernel,
Frank Li
Add compatible string fsl,imx25-nand and fsl,imx27-nand (over 15 years
chips). Add one optional clocks for it.
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
Documentation/devicetree/bindings/mtd/mxc-nand.yaml | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/mtd/mxc-nand.yaml b/Documentation/devicetree/bindings/mtd/mxc-nand.yaml
index bd8f7b6839535fe900ebf8477c79bd28c15726e3..433ae5727ad85b0fcb9617b5096fa57dcecb1683 100644
--- a/Documentation/devicetree/bindings/mtd/mxc-nand.yaml
+++ b/Documentation/devicetree/bindings/mtd/mxc-nand.yaml
@@ -15,7 +15,9 @@ allOf:
properties:
compatible:
oneOf:
- - const: fsl,imx27-nand
+ - enum:
+ - fsl,imx25-nand
+ - fsl,imx27-nand
- items:
- enum:
- fsl,imx31-nand
@@ -26,6 +28,9 @@ properties:
interrupts:
maxItems: 1
+ clocks:
+ maxItems: 1
+
required:
- compatible
- reg
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH 2/3] RM: dts: imx: set #size-cells to 0 to align with nand-controller.yaml
2026-02-11 21:19 [PATCH 0/3] ARM: dts: imx: clean up imx2* NAND CHECK_DTBS warnings Frank Li
2026-02-11 21:19 ` [PATCH 1/3] dt-bindings: mtd: mxc-nand: add i.MX25 and i.MX27 nand support Frank Li
@ 2026-02-11 21:19 ` Frank Li
2026-02-12 8:56 ` Miquel Raynal
2026-02-13 7:27 ` Uwe Kleine-König
2026-02-11 21:19 ` [PATCH 3/3] ARM: dts: imx: move NAND properties under nand@0 node Frank Li
2 siblings, 2 replies; 8+ messages in thread
From: Frank Li @ 2026-02-11 21:19 UTC (permalink / raw)
To: Miquel Raynal, Richard Weinberger, Vignesh Raghavendra,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, Uwe Kleine-König
Cc: linux-mtd, devicetree, imx, linux-arm-kernel, linux-kernel,
Frank Li
Set #size-cells to 0 to align with nand-controller.yaml. Remove the
redundant empty clock-names property from the NFC node.
Fix below CHECK_DTBS warning:
arch/arm/boot/dts/nxp/imx/imx25-karo-tx25.dtb: nand-controller@bb000000 (fsl,imx25-nand): #size-cells: 0 was expected
from schema $id: http://devicetree.org/schemas/mtd/nand-controller.yam
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
arch/arm/boot/dts/nxp/imx/imx25.dtsi | 3 +--
arch/arm/boot/dts/nxp/imx/imx27.dtsi | 2 +-
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/arch/arm/boot/dts/nxp/imx/imx25.dtsi b/arch/arm/boot/dts/nxp/imx/imx25.dtsi
index 54a116533c45883d9a2f7823a2e48b2f82a17b1e..d0f01f9b76afcfa0f38398ec29697b6d590a613a 100644
--- a/arch/arm/boot/dts/nxp/imx/imx25.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx25.dtsi
@@ -613,12 +613,11 @@ bus@80000000 {
nfc: nand-controller@bb000000 {
#address-cells = <1>;
- #size-cells = <1>;
+ #size-cells = <0>;
compatible = "fsl,imx25-nand";
reg = <0xbb000000 0x2000>;
clocks = <&clks 50>;
- clock-names = "";
interrupts = <33>;
status = "disabled";
};
diff --git a/arch/arm/boot/dts/nxp/imx/imx27.dtsi b/arch/arm/boot/dts/nxp/imx/imx27.dtsi
index 3a8ca1c3f179361870d95136b1141c147132c840..99a8f2b1f7d319fd8d25ff696d53622f8badf0c7 100644
--- a/arch/arm/boot/dts/nxp/imx/imx27.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx27.dtsi
@@ -560,7 +560,7 @@ fec: ethernet@1002b000 {
nfc: nand-controller@d8000000 {
#address-cells = <1>;
- #size-cells = <1>;
+ #size-cells = <0>;
compatible = "fsl,imx27-nand";
reg = <0xd8000000 0x1000>;
interrupts = <29>;
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH 3/3] ARM: dts: imx: move NAND properties under nand@0 node
2026-02-11 21:19 [PATCH 0/3] ARM: dts: imx: clean up imx2* NAND CHECK_DTBS warnings Frank Li
2026-02-11 21:19 ` [PATCH 1/3] dt-bindings: mtd: mxc-nand: add i.MX25 and i.MX27 nand support Frank Li
2026-02-11 21:19 ` [PATCH 2/3] RM: dts: imx: set #size-cells to 0 to align with nand-controller.yaml Frank Li
@ 2026-02-11 21:19 ` Frank Li
2026-02-12 8:55 ` Miquel Raynal
2 siblings, 1 reply; 8+ messages in thread
From: Frank Li @ 2026-02-11 21:19 UTC (permalink / raw)
To: Miquel Raynal, Richard Weinberger, Vignesh Raghavendra,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, Uwe Kleine-König
Cc: linux-mtd, devicetree, imx, linux-arm-kernel, linux-kernel,
Frank Li
Move NAND flash properties under the nand@0 node and place partition
properties under the partitions node.
Fix below CHECK_DTBS warnings:
arch/arm/boot/dts/nxp/imx/imx27-apf27.dtb: nand-controller@d8000000 (fsl,imx27-nand): Unevaluated properties are not allowed ('#address-cells', '#size-cells', 'clocks', 'nand-bus-width', 'nand-ecc-mode', 'nand-on-flash-bbt', 'partition@0', 'partition@100000', 'partition@180000', 'partition@200000', 'partition@280000', 'partition@300000', 'partition@800000' were unexpected)
from schema $id: http://devicetree.org/schemas/mtd/mxc-nand.yaml
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
.../boot/dts/nxp/imx/imx25-eukrea-cpuimx25.dtsi | 10 ++-
arch/arm/boot/dts/nxp/imx/imx25-karo-tx25.dts | 10 ++-
arch/arm/boot/dts/nxp/imx/imx25-pdk.dts | 6 +-
arch/arm/boot/dts/nxp/imx/imx27-apf27.dts | 82 ++++++++++++----------
.../boot/dts/nxp/imx/imx27-eukrea-cpuimx27.dtsi | 10 ++-
arch/arm/boot/dts/nxp/imx/imx27-pdk.dts | 8 ++-
.../dts/nxp/imx/imx27-phytec-phycard-s-som.dtsi | 10 ++-
.../boot/dts/nxp/imx/imx27-phytec-phycore-som.dtsi | 10 ++-
8 files changed, 92 insertions(+), 54 deletions(-)
diff --git a/arch/arm/boot/dts/nxp/imx/imx25-eukrea-cpuimx25.dtsi b/arch/arm/boot/dts/nxp/imx/imx25-eukrea-cpuimx25.dtsi
index 31dc2a6403628db1527a1707460afbf9de893abd..29a7f99842e3a70c5dc7ce70c547afce2ed73f9f 100644
--- a/arch/arm/boot/dts/nxp/imx/imx25-eukrea-cpuimx25.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx25-eukrea-cpuimx25.dtsi
@@ -57,8 +57,12 @@ MX25_PAD_I2C1_DAT__I2C1_DAT 0x80000000
};
&nfc {
- nand-bus-width = <8>;
- nand-ecc-mode = "hw";
- nand-on-flash-bbt;
status = "okay";
+
+ nand@0 {
+ reg = <0>;
+ nand-bus-width = <8>;
+ nand-ecc-mode = "hw";
+ nand-on-flash-bbt;
+ };
};
diff --git a/arch/arm/boot/dts/nxp/imx/imx25-karo-tx25.dts b/arch/arm/boot/dts/nxp/imx/imx25-karo-tx25.dts
index 458b94d3d4ed4c97adc5b9f2597698f22edb9350..7fd8656f529b1a9f3a4cacc68fe63ad0f23571dc 100644
--- a/arch/arm/boot/dts/nxp/imx/imx25-karo-tx25.dts
+++ b/arch/arm/boot/dts/nxp/imx/imx25-karo-tx25.dts
@@ -94,8 +94,12 @@ &fec {
&nfc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_nfc>;
- nand-on-flash-bbt;
- nand-ecc-mode = "hw";
- nand-bus-width = <8>;
status = "okay";
+
+ nand@0 {
+ reg = <0>;
+ nand-on-flash-bbt;
+ nand-ecc-mode = "hw";
+ nand-bus-width = <8>;
+ };
};
diff --git a/arch/arm/boot/dts/nxp/imx/imx25-pdk.dts b/arch/arm/boot/dts/nxp/imx/imx25-pdk.dts
index a35778ba6ffa0474d67f77005dfa4299b27d947c..04183ee7ff6851fc26874a640002bf702fe7aa07 100644
--- a/arch/arm/boot/dts/nxp/imx/imx25-pdk.dts
+++ b/arch/arm/boot/dts/nxp/imx/imx25-pdk.dts
@@ -245,8 +245,12 @@ &lcdc {
};
&nfc {
- nand-on-flash-bbt;
status = "okay";
+
+ nand@0 {
+ reg = <0>;
+ nand-on-flash-bbt;
+ };
};
&kpp {
diff --git a/arch/arm/boot/dts/nxp/imx/imx27-apf27.dts b/arch/arm/boot/dts/nxp/imx/imx27-apf27.dts
index b67bb21af3dedf1124ccdff6a1ac3ef703a6e22d..a61b0afa958ad304338192d8b8eb76a5c2004e3a 100644
--- a/arch/arm/boot/dts/nxp/imx/imx27-apf27.dts
+++ b/arch/arm/boot/dts/nxp/imx/imx27-apf27.dts
@@ -69,42 +69,52 @@ &fec {
&nfc {
status = "okay";
- nand-bus-width = <16>;
- nand-ecc-mode = "hw";
- nand-on-flash-bbt;
- partition@0 {
- label = "u-boot";
- reg = <0x0 0x100000>;
- };
-
- partition@100000 {
- label = "env";
- reg = <0x100000 0x80000>;
- };
-
- partition@180000 {
- label = "env2";
- reg = <0x180000 0x80000>;
- };
-
- partition@200000 {
- label = "firmware";
- reg = <0x200000 0x80000>;
- };
-
- partition@280000 {
- label = "dtb";
- reg = <0x280000 0x80000>;
- };
-
- partition@300000 {
- label = "kernel";
- reg = <0x300000 0x500000>;
- };
-
- partition@800000 {
- label = "rootfs";
- reg = <0x800000 0xf800000>;
+ nand@0 {
+ reg = <0>;
+ nand-bus-width = <16>;
+ nand-ecc-mode = "hw";
+ nand-on-flash-bbt;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x0 0x100000>;
+ };
+
+ partition@100000 {
+ label = "env";
+ reg = <0x100000 0x80000>;
+ };
+
+ partition@180000 {
+ label = "env2";
+ reg = <0x180000 0x80000>;
+ };
+
+ partition@200000 {
+ label = "firmware";
+ reg = <0x200000 0x80000>;
+ };
+
+ partition@280000 {
+ label = "dtb";
+ reg = <0x280000 0x80000>;
+ };
+
+ partition@300000 {
+ label = "kernel";
+ reg = <0x300000 0x500000>;
+ };
+
+ partition@800000 {
+ label = "rootfs";
+ reg = <0x800000 0xf800000>;
+ };
+ };
};
};
diff --git a/arch/arm/boot/dts/nxp/imx/imx27-eukrea-cpuimx27.dtsi b/arch/arm/boot/dts/nxp/imx/imx27-eukrea-cpuimx27.dtsi
index 3df70ed6056c4d122c83f9d6dd1ec1af3c64ff0b..bc28250df7a7fb729c2ef76b1f4b3c1199e7f1ba 100644
--- a/arch/arm/boot/dts/nxp/imx/imx27-eukrea-cpuimx27.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx27-eukrea-cpuimx27.dtsi
@@ -42,10 +42,14 @@ rtc@51 {
&nfc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_nfc>;
- nand-bus-width = <8>;
- nand-ecc-mode = "hw";
- nand-on-flash-bbt;
status = "okay";
+
+ nand@0 {
+ reg = <0>;
+ nand-bus-width = <8>;
+ nand-ecc-mode = "hw";
+ nand-on-flash-bbt;
+ };
};
&owire {
diff --git a/arch/arm/boot/dts/nxp/imx/imx27-pdk.dts b/arch/arm/boot/dts/nxp/imx/imx27-pdk.dts
index 2fc4ea5b9501f4765624b42f8badf013fbcdad6f..a1e3b387ba8ee290746fb094903989366a9968fb 100644
--- a/arch/arm/boot/dts/nxp/imx/imx27-pdk.dts
+++ b/arch/arm/boot/dts/nxp/imx/imx27-pdk.dts
@@ -88,9 +88,13 @@ MATRIX_KEY(2, 3, KEY_F10)
&nfc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_nand>;
- nand-ecc-mode = "hw";
- nand-on-flash-bbt;
status = "okay";
+
+ nand@0 {
+ reg = <0>;
+ nand-ecc-mode = "hw";
+ nand-on-flash-bbt;
+ };
};
&uart1 {
diff --git a/arch/arm/boot/dts/nxp/imx/imx27-phytec-phycard-s-som.dtsi b/arch/arm/boot/dts/nxp/imx/imx27-phytec-phycard-s-som.dtsi
index 2f60b3809f39b2f2c92cdb6a61664103380e3478..ba6cf03b60057af41f291a2c760efeeecf064301 100644
--- a/arch/arm/boot/dts/nxp/imx/imx27-phytec-phycard-s-som.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx27-phytec-phycard-s-som.dtsi
@@ -150,10 +150,14 @@ MX27_PAD_USBH2_DATA7__USBH2_DATA7 0x0
&nfc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_nfc>;
- nand-bus-width = <8>;
- nand-ecc-mode = "hw";
- nand-on-flash-bbt;
status = "okay";
+
+ nand@0 {
+ reg = <0>;
+ nand-bus-width = <8>;
+ nand-ecc-mode = "hw";
+ nand-on-flash-bbt;
+ };
};
&usbotg {
diff --git a/arch/arm/boot/dts/nxp/imx/imx27-phytec-phycore-som.dtsi b/arch/arm/boot/dts/nxp/imx/imx27-phytec-phycore-som.dtsi
index 7d5d24c781b9834dbf8834c798b923829fd98444..cfa833cf0c114d987821ec563c7af5053b153a62 100644
--- a/arch/arm/boot/dts/nxp/imx/imx27-phytec-phycore-som.dtsi
+++ b/arch/arm/boot/dts/nxp/imx/imx27-phytec-phycore-som.dtsi
@@ -280,10 +280,14 @@ MX27_PAD_USBOTG_DATA7__USBOTG_DATA7 0x0
&nfc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_nfc>;
- nand-bus-width = <8>;
- nand-ecc-mode = "hw";
- nand-on-flash-bbt;
status = "okay";
+
+ nand@0 {
+ reg = <0>;
+ nand-bus-width = <8>;
+ nand-ecc-mode = "hw";
+ nand-on-flash-bbt;
+ };
};
&ssi1 {
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread