xref: /freebsd-src/sys/contrib/device-tree/Bindings/mtd/mxicy,nand-ecc-engine.yaml (revision 7ef62cebc2f965b0f640263e179276928885e33d)
1c9ccf3a3SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c9ccf3a3SEmmanuel Vadot%YAML 1.2
3c9ccf3a3SEmmanuel Vadot---
4c9ccf3a3SEmmanuel Vadot$id: http://devicetree.org/schemas/mtd/mxicy,nand-ecc-engine.yaml#
5c9ccf3a3SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c9ccf3a3SEmmanuel Vadot
7*7ef62cebSEmmanuel Vadottitle: Macronix NAND ECC engine
8c9ccf3a3SEmmanuel Vadot
9c9ccf3a3SEmmanuel Vadotmaintainers:
10c9ccf3a3SEmmanuel Vadot  - Miquel Raynal <miquel.raynal@bootlin.com>
11c9ccf3a3SEmmanuel Vadot
12c9ccf3a3SEmmanuel Vadotproperties:
13c9ccf3a3SEmmanuel Vadot  compatible:
14c9ccf3a3SEmmanuel Vadot    const: mxicy,nand-ecc-engine-rev3
15c9ccf3a3SEmmanuel Vadot
16c9ccf3a3SEmmanuel Vadot  reg:
17c9ccf3a3SEmmanuel Vadot    maxItems: 1
18c9ccf3a3SEmmanuel Vadot
19c9ccf3a3SEmmanuel Vadot  clocks:
20c9ccf3a3SEmmanuel Vadot    maxItems: 1
21c9ccf3a3SEmmanuel Vadot
22c9ccf3a3SEmmanuel Vadot  interrupts:
23c9ccf3a3SEmmanuel Vadot    maxItems: 1
24c9ccf3a3SEmmanuel Vadot
25c9ccf3a3SEmmanuel Vadotrequired:
26c9ccf3a3SEmmanuel Vadot  - compatible
27c9ccf3a3SEmmanuel Vadot  - reg
28c9ccf3a3SEmmanuel Vadot
29c9ccf3a3SEmmanuel VadotadditionalProperties: false
30c9ccf3a3SEmmanuel Vadot
31c9ccf3a3SEmmanuel Vadotexamples:
32c9ccf3a3SEmmanuel Vadot  - |
33c9ccf3a3SEmmanuel Vadot    /* External configuration */
34c9ccf3a3SEmmanuel Vadot    spi_controller0: spi@43c30000 {
35c9ccf3a3SEmmanuel Vadot        compatible = "mxicy,mx25f0a-spi";
36c9ccf3a3SEmmanuel Vadot        reg = <0x43c30000 0x10000>, <0xa0000000 0x4000000>;
37c9ccf3a3SEmmanuel Vadot        reg-names = "regs", "dirmap";
38c9ccf3a3SEmmanuel Vadot        clocks = <&clkwizard 0>, <&clkwizard 1>, <&clkc 15>;
39c9ccf3a3SEmmanuel Vadot        clock-names = "send_clk", "send_dly_clk", "ps_clk";
40c9ccf3a3SEmmanuel Vadot        #address-cells = <1>;
41c9ccf3a3SEmmanuel Vadot        #size-cells = <0>;
42c9ccf3a3SEmmanuel Vadot
43c9ccf3a3SEmmanuel Vadot        flash@0 {
44c9ccf3a3SEmmanuel Vadot            compatible = "spi-nand";
45c9ccf3a3SEmmanuel Vadot            reg = <0>;
46c9ccf3a3SEmmanuel Vadot            nand-ecc-engine = <&ecc_engine0>;
47c9ccf3a3SEmmanuel Vadot        };
48c9ccf3a3SEmmanuel Vadot    };
49c9ccf3a3SEmmanuel Vadot
50c9ccf3a3SEmmanuel Vadot    ecc_engine0: ecc@43c40000 {
51c9ccf3a3SEmmanuel Vadot        compatible = "mxicy,nand-ecc-engine-rev3";
52c9ccf3a3SEmmanuel Vadot        reg = <0x43c40000 0x10000>;
53c9ccf3a3SEmmanuel Vadot    };
54c9ccf3a3SEmmanuel Vadot
55c9ccf3a3SEmmanuel Vadot  - |
56c9ccf3a3SEmmanuel Vadot    /* Pipelined configuration */
57c9ccf3a3SEmmanuel Vadot    spi_controller1: spi@43c30000 {
58c9ccf3a3SEmmanuel Vadot        compatible = "mxicy,mx25f0a-spi";
59c9ccf3a3SEmmanuel Vadot        reg = <0x43c30000 0x10000>, <0xa0000000 0x4000000>;
60c9ccf3a3SEmmanuel Vadot        reg-names = "regs", "dirmap";
61c9ccf3a3SEmmanuel Vadot        clocks = <&clkwizard 0>, <&clkwizard 1>, <&clkc 15>;
62c9ccf3a3SEmmanuel Vadot        clock-names = "send_clk", "send_dly_clk", "ps_clk";
63c9ccf3a3SEmmanuel Vadot        #address-cells = <1>;
64c9ccf3a3SEmmanuel Vadot        #size-cells = <0>;
65c9ccf3a3SEmmanuel Vadot        nand-ecc-engine = <&ecc_engine1>;
66c9ccf3a3SEmmanuel Vadot
67c9ccf3a3SEmmanuel Vadot        flash@0 {
68c9ccf3a3SEmmanuel Vadot            compatible = "spi-nand";
69c9ccf3a3SEmmanuel Vadot            reg = <0>;
70c9ccf3a3SEmmanuel Vadot            nand-ecc-engine = <&spi_controller1>;
71c9ccf3a3SEmmanuel Vadot        };
72c9ccf3a3SEmmanuel Vadot    };
73c9ccf3a3SEmmanuel Vadot
74c9ccf3a3SEmmanuel Vadot    ecc_engine1: ecc@43c40000 {
75c9ccf3a3SEmmanuel Vadot        compatible = "mxicy,nand-ecc-engine-rev3";
76c9ccf3a3SEmmanuel Vadot        reg = <0x43c40000 0x10000>;
77c9ccf3a3SEmmanuel Vadot    };
78