xref: /freebsd/sys/contrib/device-tree/Bindings/spi/fsl,spi-fsl-qspi.yaml (revision 2eb4d8dc723da3cf7d735a3226ae49da4c8c5dbc)
1*2eb4d8dcSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*2eb4d8dcSEmmanuel Vadot%YAML 1.2
3*2eb4d8dcSEmmanuel Vadot---
4*2eb4d8dcSEmmanuel Vadot$id: http://devicetree.org/schemas/spi/fsl,spi-fsl-qspi.yaml#
5*2eb4d8dcSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*2eb4d8dcSEmmanuel Vadot
7*2eb4d8dcSEmmanuel Vadottitle: Freescale Quad Serial Peripheral Interface (QuadSPI)
8*2eb4d8dcSEmmanuel Vadot
9*2eb4d8dcSEmmanuel Vadotmaintainers:
10*2eb4d8dcSEmmanuel Vadot  - Han Xu <han.xu@nxp.com>
11*2eb4d8dcSEmmanuel Vadot
12*2eb4d8dcSEmmanuel VadotallOf:
13*2eb4d8dcSEmmanuel Vadot  - $ref: "spi-controller.yaml#"
14*2eb4d8dcSEmmanuel Vadot
15*2eb4d8dcSEmmanuel Vadotproperties:
16*2eb4d8dcSEmmanuel Vadot  compatible:
17*2eb4d8dcSEmmanuel Vadot    oneOf:
18*2eb4d8dcSEmmanuel Vadot      - enum:
19*2eb4d8dcSEmmanuel Vadot          - fsl,vf610-qspi
20*2eb4d8dcSEmmanuel Vadot          - fsl,imx6sx-qspi
21*2eb4d8dcSEmmanuel Vadot          - fsl,imx7d-qspi
22*2eb4d8dcSEmmanuel Vadot          - fsl,imx6ul-qspi
23*2eb4d8dcSEmmanuel Vadot          - fsl,ls1021a-qspi
24*2eb4d8dcSEmmanuel Vadot          - fsl,ls2080a-qspi
25*2eb4d8dcSEmmanuel Vadot      - items:
26*2eb4d8dcSEmmanuel Vadot          - enum:
27*2eb4d8dcSEmmanuel Vadot              - fsl,ls1043a-qspi
28*2eb4d8dcSEmmanuel Vadot          - const: fsl,ls1021a-qspi
29*2eb4d8dcSEmmanuel Vadot      - items:
30*2eb4d8dcSEmmanuel Vadot          - enum:
31*2eb4d8dcSEmmanuel Vadot              - fsl,imx8mq-qspi
32*2eb4d8dcSEmmanuel Vadot          - const: fsl,imx7d-qspi
33*2eb4d8dcSEmmanuel Vadot
34*2eb4d8dcSEmmanuel Vadot  reg:
35*2eb4d8dcSEmmanuel Vadot    items:
36*2eb4d8dcSEmmanuel Vadot      - description: registers
37*2eb4d8dcSEmmanuel Vadot      - description: memory mapping
38*2eb4d8dcSEmmanuel Vadot
39*2eb4d8dcSEmmanuel Vadot  reg-names:
40*2eb4d8dcSEmmanuel Vadot    items:
41*2eb4d8dcSEmmanuel Vadot      - const: QuadSPI
42*2eb4d8dcSEmmanuel Vadot      - const: QuadSPI-memory
43*2eb4d8dcSEmmanuel Vadot
44*2eb4d8dcSEmmanuel Vadot  interrupts:
45*2eb4d8dcSEmmanuel Vadot    maxItems: 1
46*2eb4d8dcSEmmanuel Vadot
47*2eb4d8dcSEmmanuel Vadot  clocks:
48*2eb4d8dcSEmmanuel Vadot    items:
49*2eb4d8dcSEmmanuel Vadot      - description: SoC SPI qspi_en clock
50*2eb4d8dcSEmmanuel Vadot      - description: SoC SPI qspi clock
51*2eb4d8dcSEmmanuel Vadot
52*2eb4d8dcSEmmanuel Vadot  clock-names:
53*2eb4d8dcSEmmanuel Vadot    items:
54*2eb4d8dcSEmmanuel Vadot      - const: qspi_en
55*2eb4d8dcSEmmanuel Vadot      - const: qspi
56*2eb4d8dcSEmmanuel Vadot
57*2eb4d8dcSEmmanuel Vadotrequired:
58*2eb4d8dcSEmmanuel Vadot  - compatible
59*2eb4d8dcSEmmanuel Vadot  - reg
60*2eb4d8dcSEmmanuel Vadot  - reg-names
61*2eb4d8dcSEmmanuel Vadot  - interrupts
62*2eb4d8dcSEmmanuel Vadot  - clocks
63*2eb4d8dcSEmmanuel Vadot  - clock-names
64*2eb4d8dcSEmmanuel Vadot
65*2eb4d8dcSEmmanuel VadotunevaluatedProperties: false
66*2eb4d8dcSEmmanuel Vadot
67*2eb4d8dcSEmmanuel Vadotexamples:
68*2eb4d8dcSEmmanuel Vadot  - |
69*2eb4d8dcSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
70*2eb4d8dcSEmmanuel Vadot    #include <dt-bindings/clock/fsl,qoriq-clockgen.h>
71*2eb4d8dcSEmmanuel Vadot
72*2eb4d8dcSEmmanuel Vadot    soc {
73*2eb4d8dcSEmmanuel Vadot        #address-cells = <2>;
74*2eb4d8dcSEmmanuel Vadot        #size-cells = <2>;
75*2eb4d8dcSEmmanuel Vadot
76*2eb4d8dcSEmmanuel Vadot        spi@1550000 {
77*2eb4d8dcSEmmanuel Vadot            compatible = "fsl,ls1021a-qspi";
78*2eb4d8dcSEmmanuel Vadot            reg = <0x0 0x1550000 0x0 0x100000>,
79*2eb4d8dcSEmmanuel Vadot                  <0x0 0x40000000 0x0 0x10000000>;
80*2eb4d8dcSEmmanuel Vadot            reg-names = "QuadSPI", "QuadSPI-memory";
81*2eb4d8dcSEmmanuel Vadot            interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
82*2eb4d8dcSEmmanuel Vadot            #address-cells = <1>;
83*2eb4d8dcSEmmanuel Vadot            #size-cells = <0>;
84*2eb4d8dcSEmmanuel Vadot            clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL QORIQ_CLK_PLL_DIV(2)>,
85*2eb4d8dcSEmmanuel Vadot                     <&clockgen QORIQ_CLK_PLATFORM_PLL QORIQ_CLK_PLL_DIV(2)>;
86*2eb4d8dcSEmmanuel Vadot            clock-names = "qspi_en", "qspi";
87*2eb4d8dcSEmmanuel Vadot
88*2eb4d8dcSEmmanuel Vadot            flash@0 {
89*2eb4d8dcSEmmanuel Vadot                compatible = "jedec,spi-nor";
90*2eb4d8dcSEmmanuel Vadot                spi-max-frequency = <50000000>;
91*2eb4d8dcSEmmanuel Vadot                reg = <0>;
92*2eb4d8dcSEmmanuel Vadot                spi-rx-bus-width = <4>;
93*2eb4d8dcSEmmanuel Vadot                spi-tx-bus-width = <4>;
94*2eb4d8dcSEmmanuel Vadot            };
95*2eb4d8dcSEmmanuel Vadot        };
96*2eb4d8dcSEmmanuel Vadot    };
97