.../devicetree/bindings/mtd/hisilicon,504-nfc.yaml | 90 ++++++++++++++++++++++ 1 file changed, 90 insertions(+)
Convert Hisilicon Hip04 Soc NAND controller DT binding to YAML format.
Signed-off-by: Akhila YS <akhilayalmati@gmail.com>
---
.../devicetree/bindings/mtd/hisilicon,504-nfc.yaml | 90 ++++++++++++++++++++++
1 file changed, 90 insertions(+)
diff --git a/Documentation/devicetree/bindings/mtd/hisilicon,504-nfc.yaml b/Documentation/devicetree/bindings/mtd/hisilicon,504-nfc.yaml
new file mode 100644
index 000000000000..805ef0af0e04
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/hisilicon,504-nfc.yaml
@@ -0,0 +1,90 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mtd/hisilicon,504-nfc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: HiSilicon Hip04 NAND Flash Controller
+
+maintainers:
+ - Miquel Raynal <miquel.raynal@bootlin.com>
+ - Richard Weinberger <richard@nod.at>
+
+description:
+ The HiSilicon 504 NFC is a NAND flash memory controller used in the
+ Hip04 SoC. It supports hardware ECC for NAND devices and provides
+ register and buffer regions for NAND operations.
+
+allOf:
+ - $ref: nand-controller.yaml#
+
+properties:
+ compatible:
+ const: hisilicon,504-nfc
+
+ reg:
+ minItems: 2
+ maxItems: 2
+
+ interrupts:
+ maxItems: 1
+
+ nand-bus-width:
+ enum: [8, 16]
+
+ nand-ecc-mode:
+ enum:
+ - none
+ - hw
+
+ nand-ecc-strength:
+ const: 16
+
+ nand-ecc-step-size:
+ const: 1024
+
+ "#address-cells":
+ const: 1
+
+ "#size-cells":
+ const: 0
+
+ partitions:
+ $ref: /schemas/mtd/partitions/fixed-partitions.yaml#
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - nand-bus-width
+ - nand-ecc-mode
+ - "#address-cells"
+ - "#size-cells"
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ nand-controller@4020000 {
+ compatible = "hisilicon,504-nfc";
+ reg = <0x04020000 0x10000>, <0x05000000 0x1000>;
+ interrupts = <0 379 4>;
+ nand-bus-width = <8>;
+ nand-ecc-mode = "hw";
+ nand-ecc-strength = <16>;
+ nand-ecc-step-size = <1024>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "nand_text";
+ reg = <0x0 0x400000>;
+ };
+ };
+ };
+...
---
base-commit: d4906ae14a5f136ceb671bb14cedbf13fa560da6
change-id: 20260306-hisi504-1-d7aa09c70d93
Best regards,
--
Akhila YS <akhilayalmati@gmail.com>
On Sat, Mar 07, 2026 at 04:43:56PM +0000, Akhila YS wrote:
> Convert Hisilicon Hip04 Soc NAND controller DT binding to YAML format.
>
> Signed-off-by: Akhila YS <akhilayalmati@gmail.com>
> ---
> .../devicetree/bindings/mtd/hisilicon,504-nfc.yaml | 90 ++++++++++++++++++++++
> 1 file changed, 90 insertions(+)
Convert implies the removal of the .txt binding. Where is that? Could be
missing? If so, say that.
>
> diff --git a/Documentation/devicetree/bindings/mtd/hisilicon,504-nfc.yaml b/Documentation/devicetree/bindings/mtd/hisilicon,504-nfc.yaml
> new file mode 100644
> index 000000000000..805ef0af0e04
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/hisilicon,504-nfc.yaml
> @@ -0,0 +1,90 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mtd/hisilicon,504-nfc.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: HiSilicon Hip04 NAND Flash Controller
> +
> +maintainers:
> + - Miquel Raynal <miquel.raynal@bootlin.com>
> + - Richard Weinberger <richard@nod.at>
This should be someone with the h/w. I would use the HiSilicon
maintainer from MAINTAINERS.
> +
> +description:
> + The HiSilicon 504 NFC is a NAND flash memory controller used in the
> + Hip04 SoC. It supports hardware ECC for NAND devices and provides
> + register and buffer regions for NAND operations.
> +
> +allOf:
> + - $ref: nand-controller.yaml#
> +
> +properties:
> + compatible:
> + const: hisilicon,504-nfc
> +
> + reg:
> + minItems: 2
> + maxItems: 2
Need to define what each entry is.
> +
> + interrupts:
> + maxItems: 1
> +
> + nand-bus-width:
> + enum: [8, 16]
> +
> + nand-ecc-mode:
> + enum:
> + - none
> + - hw
> +
> + nand-ecc-strength:
> + const: 16
> +
> + nand-ecc-step-size:
> + const: 1024
> +
> + "#address-cells":
> + const: 1
> +
> + "#size-cells":
> + const: 0
These can be dropped as the child (partitions) doesn't have an address.
> +
> + partitions:
> + $ref: /schemas/mtd/partitions/fixed-partitions.yaml#
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - nand-bus-width
> + - nand-ecc-mode
> + - "#address-cells"
> + - "#size-cells"
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + nand-controller@4020000 {
> + compatible = "hisilicon,504-nfc";
> + reg = <0x04020000 0x10000>, <0x05000000 0x1000>;
> + interrupts = <0 379 4>;
> + nand-bus-width = <8>;
> + nand-ecc-mode = "hw";
> + nand-ecc-strength = <16>;
> + nand-ecc-step-size = <1024>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + partitions {
> + compatible = "fixed-partitions";
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + partition@0 {
> + label = "nand_text";
> + reg = <0x0 0x400000>;
> + };
> + };
> + };
> +...
>
> ---
> base-commit: d4906ae14a5f136ceb671bb14cedbf13fa560da6
> change-id: 20260306-hisi504-1-d7aa09c70d93
>
> Best regards,
> --
> Akhila YS <akhilayalmati@gmail.com>
>
Hello, >> + "#address-cells": >> + const: 1 >> + >> + "#size-cells": >> + const: 0 > > These can be dropped as the child (partitions) doesn't have an > address. Well, the child should, because it should be the NAND device (with, as address, the chip CS) instead of 'partitions'. If the driver in front of that binding does not support that, please wait for Frank Li's work to clearly identify the legacy bindings to be merged and reference it in the top level allOf. Thanks, Miquèl
On 13/03/2026 at 09:55:53 +01, Miquel Raynal <miquel.raynal@bootlin.com> wrote: > Hello, > >>> + "#address-cells": >>> + const: 1 >>> + >>> + "#size-cells": >>> + const: 0 >> >> These can be dropped as the child (partitions) doesn't have an >> address. > > Well, the child should, because it should be the NAND device (with, as > address, the chip CS) instead of 'partitions'. If the driver in front of > that binding does not support that, please wait for Frank Li's work to > clearly identify the legacy bindings to be merged and reference it in > the top level allOf. I forgot to share the link, here it is: https://lore.kernel.org/linux-mtd/20260309200351.1791162-1-Frank.Li@nxp.com/T/#t > > Thanks, > Miquèl
On 13-03-2026 14:27, Miquel Raynal wrote: > On 13/03/2026 at 09:55:53 +01, Miquel Raynal <miquel.raynal@bootlin.com> wrote: > >> Hello, >> >>>> + "#address-cells": >>>> + const: 1 >>>> + >>>> + "#size-cells": >>>> + const: 0 >>> These can be dropped as the child (partitions) doesn't have an >>> address. >> Well, the child should, because it should be the NAND device (with, as >> address, the chip CS) instead of 'partitions'. If the driver in front of >> that binding does not support that, please wait for Frank Li's work to >> clearly identify the legacy bindings to be merged and reference it in >> the top level allOf. > I forgot to share the link, here it is: > https://lore.kernel.org/linux-mtd/20260309200351.1791162-1-Frank.Li@nxp.com/T/#t Hi, miquel thank you for the review, sure i will go through this link. >> Thanks, >> Miquèl -- Best Regards, Akhila.
On 12-03-2026 20:58, Rob Herring wrote:
> On Sat, Mar 07, 2026 at 04:43:56PM +0000, Akhila YS wrote:
>> Convert Hisilicon Hip04 Soc NAND controller DT binding to YAML format.
>>
>> Signed-off-by: Akhila YS <akhilayalmati@gmail.com>
>> ---
>> .../devicetree/bindings/mtd/hisilicon,504-nfc.yaml | 90 ++++++++++++++++++++++
>> 1 file changed, 90 insertions(+)
> Convert implies the removal of the .txt binding. Where is that? Could be
> missing? If so, say that.
Hi rob, yeah the removed .txt binding is not added in this commit, i
will add it and send that in a v2.
>> diff --git a/Documentation/devicetree/bindings/mtd/hisilicon,504-nfc.yaml b/Documentation/devicetree/bindings/mtd/hisilicon,504-nfc.yaml
>> new file mode 100644
>> index 000000000000..805ef0af0e04
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/mtd/hisilicon,504-nfc.yaml
>> @@ -0,0 +1,90 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/mtd/hisilicon,504-nfc.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: HiSilicon Hip04 NAND Flash Controller
>> +
>> +maintainers:
>> + - Miquel Raynal <miquel.raynal@bootlin.com>
>> + - Richard Weinberger <richard@nod.at>
> This should be someone with the h/w. I would use the HiSilicon
> maintainer from MAINTAINERS.
Okay, sure.
>
>> +
>> +description:
>> + The HiSilicon 504 NFC is a NAND flash memory controller used in the
>> + Hip04 SoC. It supports hardware ECC for NAND devices and provides
>> + register and buffer regions for NAND operations.
>> +
>> +allOf:
>> + - $ref: nand-controller.yaml#
>> +
>> +properties:
>> + compatible:
>> + const: hisilicon,504-nfc
>> +
>> + reg:
>> + minItems: 2
>> + maxItems: 2
> Need to define what each entry is.
Okay.
>
>> +
>> + interrupts:
>> + maxItems: 1
>> +
>> + nand-bus-width:
>> + enum: [8, 16]
>> +
>> + nand-ecc-mode:
>> + enum:
>> + - none
>> + - hw
>> +
>> + nand-ecc-strength:
>> + const: 16
>> +
>> + nand-ecc-step-size:
>> + const: 1024
>> +
>> + "#address-cells":
>> + const: 1
>> +
>> + "#size-cells":
>> + const: 0
> These can be dropped as the child (partitions) doesn't have an address.
Okay.
>
>> +
>> + partitions:
>> + $ref: /schemas/mtd/partitions/fixed-partitions.yaml#
>> +
>> +required:
>> + - compatible
>> + - reg
>> + - interrupts
>> + - nand-bus-width
>> + - nand-ecc-mode
>> + - "#address-cells"
>> + - "#size-cells"
>> +
>> +unevaluatedProperties: false
>> +
>> +examples:
>> + - |
>> + nand-controller@4020000 {
>> + compatible = "hisilicon,504-nfc";
>> + reg = <0x04020000 0x10000>, <0x05000000 0x1000>;
>> + interrupts = <0 379 4>;
>> + nand-bus-width = <8>;
>> + nand-ecc-mode = "hw";
>> + nand-ecc-strength = <16>;
>> + nand-ecc-step-size = <1024>;
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + partitions {
>> + compatible = "fixed-partitions";
>> + #address-cells = <1>;
>> + #size-cells = <1>;
>> +
>> + partition@0 {
>> + label = "nand_text";
>> + reg = <0x0 0x400000>;
>> + };
>> + };
>> + };
>> +...
>>
>> ---
>> base-commit: d4906ae14a5f136ceb671bb14cedbf13fa560da6
>> change-id: 20260306-hisi504-1-d7aa09c70d93
>>
>> Best regards,
>> --
>> Akhila YS <akhilayalmati@gmail.com>
>>
--
Best Regards,
Akhila.
© 2016 - 2026 Red Hat, Inc.