1*ae5de77eSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*ae5de77eSEmmanuel Vadot%YAML 1.2 3*ae5de77eSEmmanuel Vadot--- 4*ae5de77eSEmmanuel Vadot$id: http://devicetree.org/schemas/mtd/fsl,vf610-nfc.yaml# 5*ae5de77eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*ae5de77eSEmmanuel Vadot 7*ae5de77eSEmmanuel Vadottitle: Freescale's NAND flash controller (NFC) 8*ae5de77eSEmmanuel Vadot 9*ae5de77eSEmmanuel Vadotdescription: 10*ae5de77eSEmmanuel Vadot This variant of the Freescale NAND flash controller (NFC) can be found on 11*ae5de77eSEmmanuel Vadot Vybrid (vf610), MPC5125, MCF54418 and Kinetis K70. 12*ae5de77eSEmmanuel Vadot 13*ae5de77eSEmmanuel Vadotmaintainers: 14*ae5de77eSEmmanuel Vadot - Frank Li <Frank.Li@nxp.com> 15*ae5de77eSEmmanuel Vadot 16*ae5de77eSEmmanuel Vadotproperties: 17*ae5de77eSEmmanuel Vadot compatible: 18*ae5de77eSEmmanuel Vadot enum: 19*ae5de77eSEmmanuel Vadot - fsl,vf610-nfc 20*ae5de77eSEmmanuel Vadot 21*ae5de77eSEmmanuel Vadot reg: 22*ae5de77eSEmmanuel Vadot maxItems: 1 23*ae5de77eSEmmanuel Vadot 24*ae5de77eSEmmanuel Vadot interrupts: 25*ae5de77eSEmmanuel Vadot maxItems: 1 26*ae5de77eSEmmanuel Vadot 27*ae5de77eSEmmanuel Vadot clocks: 28*ae5de77eSEmmanuel Vadot maxItems: 1 29*ae5de77eSEmmanuel Vadot 30*ae5de77eSEmmanuel Vadot clock-names: 31*ae5de77eSEmmanuel Vadot items: 32*ae5de77eSEmmanuel Vadot - const: nfc 33*ae5de77eSEmmanuel Vadot 34*ae5de77eSEmmanuel VadotpatternProperties: 35*ae5de77eSEmmanuel Vadot "^nand@[a-f0-9]$": 36*ae5de77eSEmmanuel Vadot type: object 37*ae5de77eSEmmanuel Vadot $ref: raw-nand-chip.yaml 38*ae5de77eSEmmanuel Vadot 39*ae5de77eSEmmanuel Vadot properties: 40*ae5de77eSEmmanuel Vadot compatible: 41*ae5de77eSEmmanuel Vadot const: fsl,vf610-nfc-nandcs 42*ae5de77eSEmmanuel Vadot 43*ae5de77eSEmmanuel Vadot reg: 44*ae5de77eSEmmanuel Vadot const: 0 45*ae5de77eSEmmanuel Vadot 46*ae5de77eSEmmanuel Vadot nand-ecc-strength: 47*ae5de77eSEmmanuel Vadot enum: [24, 32] 48*ae5de77eSEmmanuel Vadot 49*ae5de77eSEmmanuel Vadot nand-ecc-step-size: 50*ae5de77eSEmmanuel Vadot const: 2048 51*ae5de77eSEmmanuel Vadot 52*ae5de77eSEmmanuel Vadot unevaluatedProperties: false 53*ae5de77eSEmmanuel Vadot 54*ae5de77eSEmmanuel Vadotrequired: 55*ae5de77eSEmmanuel Vadot - compatible 56*ae5de77eSEmmanuel Vadot - reg 57*ae5de77eSEmmanuel Vadot - interrupts 58*ae5de77eSEmmanuel Vadot 59*ae5de77eSEmmanuel VadotallOf: 60*ae5de77eSEmmanuel Vadot - $ref: nand-controller.yaml 61*ae5de77eSEmmanuel Vadot 62*ae5de77eSEmmanuel VadotunevaluatedProperties: false 63*ae5de77eSEmmanuel Vadot 64*ae5de77eSEmmanuel Vadotexamples: 65*ae5de77eSEmmanuel Vadot - | 66*ae5de77eSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 67*ae5de77eSEmmanuel Vadot #include <dt-bindings/clock/vf610-clock.h> 68*ae5de77eSEmmanuel Vadot 69*ae5de77eSEmmanuel Vadot nand-controller@400e0000 { 70*ae5de77eSEmmanuel Vadot compatible = "fsl,vf610-nfc"; 71*ae5de77eSEmmanuel Vadot reg = <0x400e0000 0x4000>; 72*ae5de77eSEmmanuel Vadot #address-cells = <1>; 73*ae5de77eSEmmanuel Vadot #size-cells = <0>; 74*ae5de77eSEmmanuel Vadot interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 75*ae5de77eSEmmanuel Vadot clocks = <&clks VF610_CLK_NFC>; 76*ae5de77eSEmmanuel Vadot clock-names = "nfc"; 77*ae5de77eSEmmanuel Vadot assigned-clocks = <&clks VF610_CLK_NFC>; 78*ae5de77eSEmmanuel Vadot assigned-clock-rates = <33000000>; 79*ae5de77eSEmmanuel Vadot 80*ae5de77eSEmmanuel Vadot nand@0 { 81*ae5de77eSEmmanuel Vadot compatible = "fsl,vf610-nfc-nandcs"; 82*ae5de77eSEmmanuel Vadot reg = <0>; 83*ae5de77eSEmmanuel Vadot nand-bus-width = <8>; 84*ae5de77eSEmmanuel Vadot nand-ecc-mode = "hw"; 85*ae5de77eSEmmanuel Vadot nand-ecc-strength = <32>; 86*ae5de77eSEmmanuel Vadot nand-ecc-step-size = <2048>; 87*ae5de77eSEmmanuel Vadot nand-on-flash-bbt; 88*ae5de77eSEmmanuel Vadot }; 89*ae5de77eSEmmanuel Vadot }; 90