xref: /freebsd/sys/contrib/device-tree/Bindings/mtd/amlogic,meson-nand.yaml (revision 7ef62cebc2f965b0f640263e179276928885e33d)
1*7ef62cebSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*7ef62cebSEmmanuel Vadot%YAML 1.2
3*7ef62cebSEmmanuel Vadot---
4*7ef62cebSEmmanuel Vadot$id: http://devicetree.org/schemas/mtd/amlogic,meson-nand.yaml#
5*7ef62cebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*7ef62cebSEmmanuel Vadot
7*7ef62cebSEmmanuel Vadottitle: Amlogic NAND Flash Controller (NFC) for GXBB/GXL/AXG family SoCs
8*7ef62cebSEmmanuel Vadot
9*7ef62cebSEmmanuel VadotallOf:
10*7ef62cebSEmmanuel Vadot  - $ref: nand-controller.yaml
11*7ef62cebSEmmanuel Vadot
12*7ef62cebSEmmanuel Vadotmaintainers:
13*7ef62cebSEmmanuel Vadot  - liang.yang@amlogic.com
14*7ef62cebSEmmanuel Vadot
15*7ef62cebSEmmanuel Vadotproperties:
16*7ef62cebSEmmanuel Vadot  compatible:
17*7ef62cebSEmmanuel Vadot    enum:
18*7ef62cebSEmmanuel Vadot      - amlogic,meson-gxl-nfc
19*7ef62cebSEmmanuel Vadot      - amlogic,meson-axg-nfc
20*7ef62cebSEmmanuel Vadot
21*7ef62cebSEmmanuel Vadot  reg:
22*7ef62cebSEmmanuel Vadot    maxItems: 2
23*7ef62cebSEmmanuel Vadot
24*7ef62cebSEmmanuel Vadot  reg-names:
25*7ef62cebSEmmanuel Vadot    items:
26*7ef62cebSEmmanuel Vadot      - const: nfc
27*7ef62cebSEmmanuel Vadot      - const: emmc
28*7ef62cebSEmmanuel Vadot
29*7ef62cebSEmmanuel Vadot  interrupts:
30*7ef62cebSEmmanuel Vadot    maxItems: 1
31*7ef62cebSEmmanuel Vadot
32*7ef62cebSEmmanuel Vadot  clocks:
33*7ef62cebSEmmanuel Vadot    minItems: 2
34*7ef62cebSEmmanuel Vadot
35*7ef62cebSEmmanuel Vadot  clock-names:
36*7ef62cebSEmmanuel Vadot    items:
37*7ef62cebSEmmanuel Vadot      - const: core
38*7ef62cebSEmmanuel Vadot      - const: device
39*7ef62cebSEmmanuel Vadot
40*7ef62cebSEmmanuel VadotpatternProperties:
41*7ef62cebSEmmanuel Vadot  "^nand@[0-7]$":
42*7ef62cebSEmmanuel Vadot    type: object
43*7ef62cebSEmmanuel Vadot    properties:
44*7ef62cebSEmmanuel Vadot      reg:
45*7ef62cebSEmmanuel Vadot        minimum: 0
46*7ef62cebSEmmanuel Vadot        maximum: 1
47*7ef62cebSEmmanuel Vadot
48*7ef62cebSEmmanuel Vadot      nand-ecc-mode:
49*7ef62cebSEmmanuel Vadot        const: hw
50*7ef62cebSEmmanuel Vadot
51*7ef62cebSEmmanuel Vadot      nand-ecc-step-size:
52*7ef62cebSEmmanuel Vadot        const: 1024
53*7ef62cebSEmmanuel Vadot
54*7ef62cebSEmmanuel Vadot      nand-ecc-strength:
55*7ef62cebSEmmanuel Vadot        enum: [8, 16, 24, 30, 40, 50, 60]
56*7ef62cebSEmmanuel Vadot        description: |
57*7ef62cebSEmmanuel Vadot          The ECC configurations that can be supported are as follows.
58*7ef62cebSEmmanuel Vadot            meson-gxl-nfc 8, 16, 24, 30, 40, 50, 60
59*7ef62cebSEmmanuel Vadot            meson-axg-nfc 8
60*7ef62cebSEmmanuel Vadot
61*7ef62cebSEmmanuel Vadotrequired:
62*7ef62cebSEmmanuel Vadot  - compatible
63*7ef62cebSEmmanuel Vadot  - reg
64*7ef62cebSEmmanuel Vadot  - interrupts
65*7ef62cebSEmmanuel Vadot  - clocks
66*7ef62cebSEmmanuel Vadot  - clock-names
67*7ef62cebSEmmanuel Vadot
68*7ef62cebSEmmanuel VadotunevaluatedProperties: false
69*7ef62cebSEmmanuel Vadot
70*7ef62cebSEmmanuel Vadotexamples:
71*7ef62cebSEmmanuel Vadot  - |
72*7ef62cebSEmmanuel Vadot    #include <dt-bindings/clock/axg-clkc.h>
73*7ef62cebSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
74*7ef62cebSEmmanuel Vadot    nand-controller@ffe07800 {
75*7ef62cebSEmmanuel Vadot      compatible = "amlogic,meson-axg-nfc";
76*7ef62cebSEmmanuel Vadot      reg = <0xffe07800 0x100>, <0xffe07000 0x800>;
77*7ef62cebSEmmanuel Vadot      reg-names = "nfc", "emmc";
78*7ef62cebSEmmanuel Vadot      interrupts = <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>;
79*7ef62cebSEmmanuel Vadot      clocks = <&clkc CLKID_SD_EMMC_C>,  <&clkc CLKID_FCLK_DIV2>;
80*7ef62cebSEmmanuel Vadot      clock-names = "core", "device";
81*7ef62cebSEmmanuel Vadot
82*7ef62cebSEmmanuel Vadot      pinctrl-0 = <&nand_pins>;
83*7ef62cebSEmmanuel Vadot      pinctrl-names = "default";
84*7ef62cebSEmmanuel Vadot
85*7ef62cebSEmmanuel Vadot      #address-cells = <1>;
86*7ef62cebSEmmanuel Vadot      #size-cells = <0>;
87*7ef62cebSEmmanuel Vadot
88*7ef62cebSEmmanuel Vadot      nand@0 {
89*7ef62cebSEmmanuel Vadot        reg = <0>;
90*7ef62cebSEmmanuel Vadot      };
91*7ef62cebSEmmanuel Vadot    };
92*7ef62cebSEmmanuel Vadot
93*7ef62cebSEmmanuel Vadot...
94