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