xref: /freebsd/sys/contrib/device-tree/Bindings/mtd/nuvoton,ma35d1-nand.yaml (revision 2846c90520eb4cc74e24d586a0ea0f4a0006bc73)
1*2846c905SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*2846c905SEmmanuel Vadot%YAML 1.2
3*2846c905SEmmanuel Vadot---
4*2846c905SEmmanuel Vadot$id: http://devicetree.org/schemas/mtd/nuvoton,ma35d1-nand.yaml#
5*2846c905SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*2846c905SEmmanuel Vadot
7*2846c905SEmmanuel Vadottitle: Nuvoton MA35D1 NAND Flash Interface (NFI) Controller
8*2846c905SEmmanuel Vadot
9*2846c905SEmmanuel Vadotmaintainers:
10*2846c905SEmmanuel Vadot  - Hui-Ping Chen <hpchen0nvt@gmail.com>
11*2846c905SEmmanuel Vadot
12*2846c905SEmmanuel VadotallOf:
13*2846c905SEmmanuel Vadot  - $ref: nand-controller.yaml#
14*2846c905SEmmanuel Vadot
15*2846c905SEmmanuel Vadotproperties:
16*2846c905SEmmanuel Vadot  compatible:
17*2846c905SEmmanuel Vadot    enum:
18*2846c905SEmmanuel Vadot      - nuvoton,ma35d1-nand-controller
19*2846c905SEmmanuel Vadot
20*2846c905SEmmanuel Vadot  reg:
21*2846c905SEmmanuel Vadot    maxItems: 1
22*2846c905SEmmanuel Vadot
23*2846c905SEmmanuel Vadot  interrupts:
24*2846c905SEmmanuel Vadot    maxItems: 1
25*2846c905SEmmanuel Vadot
26*2846c905SEmmanuel Vadot  clocks:
27*2846c905SEmmanuel Vadot    maxItems: 1
28*2846c905SEmmanuel Vadot
29*2846c905SEmmanuel VadotpatternProperties:
30*2846c905SEmmanuel Vadot  "^nand@[a-f0-9]$":
31*2846c905SEmmanuel Vadot    type: object
32*2846c905SEmmanuel Vadot    $ref: raw-nand-chip.yaml
33*2846c905SEmmanuel Vadot    properties:
34*2846c905SEmmanuel Vadot      reg:
35*2846c905SEmmanuel Vadot        minimum: 0
36*2846c905SEmmanuel Vadot        maximum: 1
37*2846c905SEmmanuel Vadot
38*2846c905SEmmanuel Vadot      nand-ecc-step-size:
39*2846c905SEmmanuel Vadot        enum: [512, 1024]
40*2846c905SEmmanuel Vadot
41*2846c905SEmmanuel Vadot      nand-ecc-strength:
42*2846c905SEmmanuel Vadot        enum: [8, 12, 24]
43*2846c905SEmmanuel Vadot
44*2846c905SEmmanuel Vadot    required:
45*2846c905SEmmanuel Vadot      - reg
46*2846c905SEmmanuel Vadot
47*2846c905SEmmanuel Vadot    unevaluatedProperties: false
48*2846c905SEmmanuel Vadot
49*2846c905SEmmanuel Vadotrequired:
50*2846c905SEmmanuel Vadot  - compatible
51*2846c905SEmmanuel Vadot  - reg
52*2846c905SEmmanuel Vadot  - interrupts
53*2846c905SEmmanuel Vadot  - clocks
54*2846c905SEmmanuel Vadot
55*2846c905SEmmanuel VadotunevaluatedProperties: false
56*2846c905SEmmanuel Vadot
57*2846c905SEmmanuel Vadotexamples:
58*2846c905SEmmanuel Vadot  - |
59*2846c905SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
60*2846c905SEmmanuel Vadot    #include <dt-bindings/clock/nuvoton,ma35d1-clk.h>
61*2846c905SEmmanuel Vadot
62*2846c905SEmmanuel Vadot    soc {
63*2846c905SEmmanuel Vadot        #address-cells = <2>;
64*2846c905SEmmanuel Vadot        #size-cells = <2>;
65*2846c905SEmmanuel Vadot
66*2846c905SEmmanuel Vadot        nand-controller@401A0000 {
67*2846c905SEmmanuel Vadot            compatible = "nuvoton,ma35d1-nand-controller";
68*2846c905SEmmanuel Vadot            reg = <0x0 0x401A0000 0x0 0x1000>;
69*2846c905SEmmanuel Vadot            interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
70*2846c905SEmmanuel Vadot            clocks = <&clk NAND_GATE>;
71*2846c905SEmmanuel Vadot            #address-cells = <1>;
72*2846c905SEmmanuel Vadot            #size-cells = <0>;
73*2846c905SEmmanuel Vadot
74*2846c905SEmmanuel Vadot            nand@0 {
75*2846c905SEmmanuel Vadot                reg = <0>;
76*2846c905SEmmanuel Vadot                nand-on-flash-bbt;
77*2846c905SEmmanuel Vadot                nand-ecc-step-size = <512>;
78*2846c905SEmmanuel Vadot                nand-ecc-strength = <8>;
79*2846c905SEmmanuel Vadot
80*2846c905SEmmanuel Vadot                partitions {
81*2846c905SEmmanuel Vadot                    compatible = "fixed-partitions";
82*2846c905SEmmanuel Vadot                    #address-cells = <1>;
83*2846c905SEmmanuel Vadot                    #size-cells = <1>;
84*2846c905SEmmanuel Vadot
85*2846c905SEmmanuel Vadot                    uboot@0 {
86*2846c905SEmmanuel Vadot                        label = "nand-uboot";
87*2846c905SEmmanuel Vadot                        read-only;
88*2846c905SEmmanuel Vadot                        reg = <0x0 0x300000>;
89*2846c905SEmmanuel Vadot                    };
90*2846c905SEmmanuel Vadot                };
91*2846c905SEmmanuel Vadot            };
92*2846c905SEmmanuel Vadot        };
93*2846c905SEmmanuel Vadot    };
94*2846c905SEmmanuel Vadot
95*2846c905SEmmanuel Vadot...
96