162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/spi/fsl,spi-fsl-qspi.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Freescale Quad Serial Peripheral Interface (QuadSPI)
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Han Xu <han.xu@nxp.com>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciallOf:
1362306a36Sopenharmony_ci  - $ref: spi-controller.yaml#
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciproperties:
1662306a36Sopenharmony_ci  compatible:
1762306a36Sopenharmony_ci    oneOf:
1862306a36Sopenharmony_ci      - enum:
1962306a36Sopenharmony_ci          - fsl,vf610-qspi
2062306a36Sopenharmony_ci          - fsl,imx6sx-qspi
2162306a36Sopenharmony_ci          - fsl,imx7d-qspi
2262306a36Sopenharmony_ci          - fsl,imx6ul-qspi
2362306a36Sopenharmony_ci          - fsl,ls1021a-qspi
2462306a36Sopenharmony_ci          - fsl,ls2080a-qspi
2562306a36Sopenharmony_ci      - items:
2662306a36Sopenharmony_ci          - enum:
2762306a36Sopenharmony_ci              - fsl,ls1043a-qspi
2862306a36Sopenharmony_ci          - const: fsl,ls1021a-qspi
2962306a36Sopenharmony_ci      - items:
3062306a36Sopenharmony_ci          - enum:
3162306a36Sopenharmony_ci              - fsl,imx8mq-qspi
3262306a36Sopenharmony_ci          - const: fsl,imx7d-qspi
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci  reg:
3562306a36Sopenharmony_ci    items:
3662306a36Sopenharmony_ci      - description: registers
3762306a36Sopenharmony_ci      - description: memory mapping
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci  reg-names:
4062306a36Sopenharmony_ci    items:
4162306a36Sopenharmony_ci      - const: QuadSPI
4262306a36Sopenharmony_ci      - const: QuadSPI-memory
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci  interrupts:
4562306a36Sopenharmony_ci    maxItems: 1
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci  clocks:
4862306a36Sopenharmony_ci    items:
4962306a36Sopenharmony_ci      - description: SoC SPI qspi_en clock
5062306a36Sopenharmony_ci      - description: SoC SPI qspi clock
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci  clock-names:
5362306a36Sopenharmony_ci    items:
5462306a36Sopenharmony_ci      - const: qspi_en
5562306a36Sopenharmony_ci      - const: qspi
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_cirequired:
5862306a36Sopenharmony_ci  - compatible
5962306a36Sopenharmony_ci  - reg
6062306a36Sopenharmony_ci  - reg-names
6162306a36Sopenharmony_ci  - interrupts
6262306a36Sopenharmony_ci  - clocks
6362306a36Sopenharmony_ci  - clock-names
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ciunevaluatedProperties: false
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ciexamples:
6862306a36Sopenharmony_ci  - |
6962306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
7062306a36Sopenharmony_ci    #include <dt-bindings/clock/fsl,qoriq-clockgen.h>
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci    soc {
7362306a36Sopenharmony_ci        #address-cells = <2>;
7462306a36Sopenharmony_ci        #size-cells = <2>;
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci        spi@1550000 {
7762306a36Sopenharmony_ci            compatible = "fsl,ls1021a-qspi";
7862306a36Sopenharmony_ci            reg = <0x0 0x1550000 0x0 0x100000>,
7962306a36Sopenharmony_ci                  <0x0 0x40000000 0x0 0x10000000>;
8062306a36Sopenharmony_ci            reg-names = "QuadSPI", "QuadSPI-memory";
8162306a36Sopenharmony_ci            interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
8262306a36Sopenharmony_ci            #address-cells = <1>;
8362306a36Sopenharmony_ci            #size-cells = <0>;
8462306a36Sopenharmony_ci            clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL QORIQ_CLK_PLL_DIV(2)>,
8562306a36Sopenharmony_ci                     <&clockgen QORIQ_CLK_PLATFORM_PLL QORIQ_CLK_PLL_DIV(2)>;
8662306a36Sopenharmony_ci            clock-names = "qspi_en", "qspi";
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci            flash@0 {
8962306a36Sopenharmony_ci                compatible = "jedec,spi-nor";
9062306a36Sopenharmony_ci                spi-max-frequency = <50000000>;
9162306a36Sopenharmony_ci                reg = <0>;
9262306a36Sopenharmony_ci                spi-rx-bus-width = <4>;
9362306a36Sopenharmony_ci                spi-tx-bus-width = <4>;
9462306a36Sopenharmony_ci            };
9562306a36Sopenharmony_ci        };
9662306a36Sopenharmony_ci    };
97