xref: /freebsd/sys/contrib/device-tree/Bindings/mtd/fsl,vf610-nfc.yaml (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
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