1*c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel Vadot%YAML 1.2 4*c66ec88fSEmmanuel Vadot--- 5*c66ec88fSEmmanuel Vadot$id: "http://devicetree.org/schemas/spi/qcom,spi-qcom-qspi.yaml#" 6*c66ec88fSEmmanuel Vadot$schema: "http://devicetree.org/meta-schemas/core.yaml#" 7*c66ec88fSEmmanuel Vadot 8*c66ec88fSEmmanuel Vadottitle: Qualcomm Quad Serial Peripheral Interface (QSPI) 9*c66ec88fSEmmanuel Vadot 10*c66ec88fSEmmanuel Vadotmaintainers: 11*c66ec88fSEmmanuel Vadot - Mukesh Savaliya <msavaliy@codeaurora.org> 12*c66ec88fSEmmanuel Vadot - Akash Asthana <akashast@codeaurora.org> 13*c66ec88fSEmmanuel Vadot 14*c66ec88fSEmmanuel Vadotdescription: The QSPI controller allows SPI protocol communication in single, 15*c66ec88fSEmmanuel Vadot dual, or quad wire transmission modes for read/write access to slaves such 16*c66ec88fSEmmanuel Vadot as NOR flash. 17*c66ec88fSEmmanuel Vadot 18*c66ec88fSEmmanuel VadotallOf: 19*c66ec88fSEmmanuel Vadot - $ref: /spi/spi-controller.yaml# 20*c66ec88fSEmmanuel Vadot 21*c66ec88fSEmmanuel Vadotproperties: 22*c66ec88fSEmmanuel Vadot compatible: 23*c66ec88fSEmmanuel Vadot items: 24*c66ec88fSEmmanuel Vadot - const: qcom,sdm845-qspi 25*c66ec88fSEmmanuel Vadot - const: qcom,qspi-v1 26*c66ec88fSEmmanuel Vadot 27*c66ec88fSEmmanuel Vadot reg: 28*c66ec88fSEmmanuel Vadot maxItems: 1 29*c66ec88fSEmmanuel Vadot 30*c66ec88fSEmmanuel Vadot interrupts: 31*c66ec88fSEmmanuel Vadot maxItems: 1 32*c66ec88fSEmmanuel Vadot 33*c66ec88fSEmmanuel Vadot clock-names: 34*c66ec88fSEmmanuel Vadot items: 35*c66ec88fSEmmanuel Vadot - const: iface 36*c66ec88fSEmmanuel Vadot - const: core 37*c66ec88fSEmmanuel Vadot 38*c66ec88fSEmmanuel Vadot clocks: 39*c66ec88fSEmmanuel Vadot items: 40*c66ec88fSEmmanuel Vadot - description: AHB clock 41*c66ec88fSEmmanuel Vadot - description: QSPI core clock 42*c66ec88fSEmmanuel Vadot 43*c66ec88fSEmmanuel Vadot interconnects: 44*c66ec88fSEmmanuel Vadot minItems: 1 45*c66ec88fSEmmanuel Vadot maxItems: 2 46*c66ec88fSEmmanuel Vadot 47*c66ec88fSEmmanuel Vadot interconnect-names: 48*c66ec88fSEmmanuel Vadot items: 49*c66ec88fSEmmanuel Vadot - const: qspi-config 50*c66ec88fSEmmanuel Vadot - const: qspi-memory 51*c66ec88fSEmmanuel Vadot 52*c66ec88fSEmmanuel Vadotrequired: 53*c66ec88fSEmmanuel Vadot - compatible 54*c66ec88fSEmmanuel Vadot - reg 55*c66ec88fSEmmanuel Vadot - interrupts 56*c66ec88fSEmmanuel Vadot - clock-names 57*c66ec88fSEmmanuel Vadot - clocks 58*c66ec88fSEmmanuel Vadot 59*c66ec88fSEmmanuel Vadotexamples: 60*c66ec88fSEmmanuel Vadot - | 61*c66ec88fSEmmanuel Vadot #include <dt-bindings/clock/qcom,gcc-sdm845.h> 62*c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 63*c66ec88fSEmmanuel Vadot 64*c66ec88fSEmmanuel Vadot soc: soc { 65*c66ec88fSEmmanuel Vadot #address-cells = <2>; 66*c66ec88fSEmmanuel Vadot #size-cells = <2>; 67*c66ec88fSEmmanuel Vadot 68*c66ec88fSEmmanuel Vadot qspi: spi@88df000 { 69*c66ec88fSEmmanuel Vadot compatible = "qcom,sdm845-qspi", "qcom,qspi-v1"; 70*c66ec88fSEmmanuel Vadot reg = <0 0x88df000 0 0x600>; 71*c66ec88fSEmmanuel Vadot #address-cells = <1>; 72*c66ec88fSEmmanuel Vadot #size-cells = <0>; 73*c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 74*c66ec88fSEmmanuel Vadot clock-names = "iface", "core"; 75*c66ec88fSEmmanuel Vadot clocks = <&gcc GCC_QSPI_CNOC_PERIPH_AHB_CLK>, 76*c66ec88fSEmmanuel Vadot <&gcc GCC_QSPI_CORE_CLK>; 77*c66ec88fSEmmanuel Vadot 78*c66ec88fSEmmanuel Vadot flash@0 { 79*c66ec88fSEmmanuel Vadot compatible = "jedec,spi-nor"; 80*c66ec88fSEmmanuel Vadot reg = <0>; 81*c66ec88fSEmmanuel Vadot spi-max-frequency = <25000000>; 82*c66ec88fSEmmanuel Vadot spi-tx-bus-width = <2>; 83*c66ec88fSEmmanuel Vadot spi-rx-bus-width = <2>; 84*c66ec88fSEmmanuel Vadot }; 85*c66ec88fSEmmanuel Vadot 86*c66ec88fSEmmanuel Vadot }; 87*c66ec88fSEmmanuel Vadot }; 88*c66ec88fSEmmanuel Vadot... 89