[PATCH v2 14/15] dt-bindings: mtd: sunxi: Add H616 compatible
Richard Genoud
richard.genoud at bootlin.com
Mon Oct 13 08:26:44 PDT 2025
The H616 NAND controller is quite different from the A10 and A23 ones,
some registers offset changed, and some new one are introduced.
Also, the DMA handling is different (it uses chained descriptors)
So, introduce a new compatible to represent this version of the IP.
Signed-off-by: Richard Genoud <richard.genoud at bootlin.com>
---
.../mtd/allwinner,sun4i-a10-nand.yaml | 57 ++++++++++++++++---
1 file changed, 48 insertions(+), 9 deletions(-)
diff --git a/Documentation/devicetree/bindings/mtd/allwinner,sun4i-a10-nand.yaml b/Documentation/devicetree/bindings/mtd/allwinner,sun4i-a10-nand.yaml
index 054b6b8bf9b9..4b82de9fae17 100644
--- a/Documentation/devicetree/bindings/mtd/allwinner,sun4i-a10-nand.yaml
+++ b/Documentation/devicetree/bindings/mtd/allwinner,sun4i-a10-nand.yaml
@@ -6,9 +6,6 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Allwinner A10 NAND Controller
-allOf:
- - $ref: nand-controller.yaml
-
maintainers:
- Chen-Yu Tsai <wens at csie.org>
- Maxime Ripard <mripard at kernel.org>
@@ -18,6 +15,8 @@ properties:
enum:
- allwinner,sun4i-a10-nand
- allwinner,sun8i-a23-nand-controller
+ - allwinner,sun50i-h616-nand-controller
+
reg:
maxItems: 1
@@ -25,14 +24,12 @@ properties:
maxItems: 1
clocks:
- items:
- - description: Bus Clock
- - description: Module Clock
+ minItems: 2
+ maxItems: 4
clock-names:
- items:
- - const: ahb
- - const: mod
+ minItems: 2
+ maxItems: 4
resets:
maxItems: 1
@@ -85,6 +82,48 @@ required:
unevaluatedProperties: false
+allOf:
+ - $ref: nand-controller.yaml
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - allwinner,sun4i-a10-nand
+ - allwinner,sun8i-a23-nand-controller
+ then:
+ properties:
+ clocks:
+ items:
+ - description: Bus Clock
+ - description: Module Clock
+ clock-names:
+ items:
+ - const: ahb
+ - const: mod
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - allwinner,sun50i-h616-nand-controller
+ then:
+ properties:
+ clocks:
+ items:
+ - description: Bus Clock
+ - description: Module Clock
+ - description: ECC Clock
+ - description: MBus Clock
+ clock-names:
+ items:
+ - const: ahb
+ - const: mod
+ - const: ecc
+ - const: mbus
+
examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
More information about the linux-mtd
mailing list