162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/mtd/allwinner,sun4i-a10-nand.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Allwinner A10 NAND Controller
862306a36Sopenharmony_ci
962306a36Sopenharmony_ciallOf:
1062306a36Sopenharmony_ci  - $ref: nand-controller.yaml
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cimaintainers:
1362306a36Sopenharmony_ci  - Chen-Yu Tsai <wens@csie.org>
1462306a36Sopenharmony_ci  - Maxime Ripard <mripard@kernel.org>
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciproperties:
1762306a36Sopenharmony_ci  compatible:
1862306a36Sopenharmony_ci    enum:
1962306a36Sopenharmony_ci      - allwinner,sun4i-a10-nand
2062306a36Sopenharmony_ci      - allwinner,sun8i-a23-nand-controller
2162306a36Sopenharmony_ci  reg:
2262306a36Sopenharmony_ci    maxItems: 1
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci  interrupts:
2562306a36Sopenharmony_ci    maxItems: 1
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci  clocks:
2862306a36Sopenharmony_ci    items:
2962306a36Sopenharmony_ci      - description: Bus Clock
3062306a36Sopenharmony_ci      - description: Module Clock
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci  clock-names:
3362306a36Sopenharmony_ci    items:
3462306a36Sopenharmony_ci      - const: ahb
3562306a36Sopenharmony_ci      - const: mod
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci  resets:
3862306a36Sopenharmony_ci    maxItems: 1
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci  reset-names:
4162306a36Sopenharmony_ci    const: ahb
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci  dmas:
4462306a36Sopenharmony_ci    maxItems: 1
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci  dma-names:
4762306a36Sopenharmony_ci    const: rxtx
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_cipatternProperties:
5062306a36Sopenharmony_ci  "^nand@[a-f0-9]$":
5162306a36Sopenharmony_ci    type: object
5262306a36Sopenharmony_ci    $ref: raw-nand-chip.yaml
5362306a36Sopenharmony_ci    properties:
5462306a36Sopenharmony_ci      reg:
5562306a36Sopenharmony_ci        minimum: 0
5662306a36Sopenharmony_ci        maximum: 7
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci      nand-ecc-algo:
5962306a36Sopenharmony_ci        const: bch
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci      nand-ecc-step-size:
6262306a36Sopenharmony_ci        enum: [ 512, 1024 ]
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci      nand-ecc-strength:
6562306a36Sopenharmony_ci        maximum: 80
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci      allwinner,rb:
6862306a36Sopenharmony_ci        description:
6962306a36Sopenharmony_ci          Contains the native Ready/Busy IDs.
7062306a36Sopenharmony_ci        $ref: /schemas/types.yaml#/definitions/uint32-array
7162306a36Sopenharmony_ci        minItems: 1
7262306a36Sopenharmony_ci        maxItems: 2
7362306a36Sopenharmony_ci        items:
7462306a36Sopenharmony_ci          minimum: 0
7562306a36Sopenharmony_ci          maximum: 1
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci    unevaluatedProperties: false
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_cirequired:
8062306a36Sopenharmony_ci  - compatible
8162306a36Sopenharmony_ci  - reg
8262306a36Sopenharmony_ci  - interrupts
8362306a36Sopenharmony_ci  - clocks
8462306a36Sopenharmony_ci  - clock-names
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ciunevaluatedProperties: false
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ciexamples:
8962306a36Sopenharmony_ci  - |
9062306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
9162306a36Sopenharmony_ci    #include <dt-bindings/clock/sun6i-rtc.h>
9262306a36Sopenharmony_ci    #include <dt-bindings/clock/sun8i-a23-a33-ccu.h>
9362306a36Sopenharmony_ci    #include <dt-bindings/reset/sun8i-a23-a33-ccu.h>
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci    nand-controller@1c03000 {
9662306a36Sopenharmony_ci        compatible = "allwinner,sun8i-a23-nand-controller";
9762306a36Sopenharmony_ci        reg = <0x01c03000 0x1000>;
9862306a36Sopenharmony_ci        interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
9962306a36Sopenharmony_ci        clocks = <&ccu CLK_BUS_NAND>, <&ccu CLK_NAND>;
10062306a36Sopenharmony_ci        clock-names = "ahb", "mod";
10162306a36Sopenharmony_ci        resets = <&ccu RST_BUS_NAND>;
10262306a36Sopenharmony_ci        reset-names = "ahb";
10362306a36Sopenharmony_ci        dmas = <&dma 5>;
10462306a36Sopenharmony_ci        dma-names = "rxtx";
10562306a36Sopenharmony_ci        pinctrl-names = "default";
10662306a36Sopenharmony_ci        pinctrl-0 = <&nand_pins &nand_cs0_pin &nand_rb0_pin>;
10762306a36Sopenharmony_ci        #address-cells = <1>;
10862306a36Sopenharmony_ci        #size-cells = <0>;
10962306a36Sopenharmony_ci    };
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ci...
112