1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/spi/cdns,qspi-nor.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Cadence Quad SPI controller 8 9maintainers: 10 - Vaishnav Achath <vaishnav.a@ti.com> 11 12allOf: 13 - $ref: spi-controller.yaml# 14 - if: 15 properties: 16 compatible: 17 contains: 18 const: xlnx,versal-ospi-1.0 19 then: 20 required: 21 - power-domains 22 - if: 23 properties: 24 compatible: 25 contains: 26 const: starfive,jh7110-qspi 27 then: 28 properties: 29 resets: 30 minItems: 2 31 maxItems: 3 32 33 reset-names: 34 minItems: 2 35 maxItems: 3 36 items: 37 enum: [ qspi, qspi-ocp, rstc_ref ] 38 39 else: 40 properties: 41 resets: 42 maxItems: 2 43 44 reset-names: 45 minItems: 1 46 maxItems: 2 47 items: 48 enum: [ qspi, qspi-ocp ] 49 - if: 50 properties: 51 compatible: 52 contains: 53 const: amd,pensando-elba-qspi 54 then: 55 properties: 56 cdns,fifo-depth: 57 enum: [ 128, 256, 1024 ] 58 default: 1024 59 else: 60 properties: 61 cdns,fifo-depth: 62 enum: [ 128, 256 ] 63 default: 128 64 65properties: 66 compatible: 67 oneOf: 68 - items: 69 - enum: 70 - amd,pensando-elba-qspi 71 - ti,k2g-qspi 72 - ti,am654-ospi 73 - intel,lgm-qspi 74 - xlnx,versal-ospi-1.0 75 - intel,socfpga-qspi 76 - starfive,jh7110-qspi 77 - const: cdns,qspi-nor 78 - const: cdns,qspi-nor 79 80 reg: 81 items: 82 - description: the controller register set 83 - description: the controller data area 84 85 interrupts: 86 maxItems: 1 87 88 clocks: 89 minItems: 1 90 maxItems: 3 91 92 clock-names: 93 oneOf: 94 - items: 95 - const: ref 96 - items: 97 - const: ref 98 - const: ahb 99 - const: apb 100 101 cdns,fifo-depth: 102 description: 103 Size of the data FIFO in words. 104 $ref: /schemas/types.yaml#/definitions/uint32 105 106 cdns,fifo-width: 107 $ref: /schemas/types.yaml#/definitions/uint32 108 description: 109 Bus width of the data FIFO in bytes. 110 default: 4 111 112 cdns,trigger-address: 113 $ref: /schemas/types.yaml#/definitions/uint32 114 description: 115 32-bit indirect AHB trigger address. 116 117 cdns,is-decoded-cs: 118 type: boolean 119 description: 120 Flag to indicate whether decoder is used to select different chip select 121 for different memory regions. 122 123 cdns,rclk-en: 124 type: boolean 125 description: 126 Flag to indicate that QSPI return clock is used to latch the read 127 data rather than the QSPI clock. Make sure that QSPI return clock 128 is populated on the board before using this property. 129 130 power-domains: 131 maxItems: 1 132 133 resets: 134 minItems: 2 135 maxItems: 3 136 137 reset-names: 138 minItems: 2 139 maxItems: 3 140 items: 141 enum: [ qspi, qspi-ocp, rstc_ref ] 142 143required: 144 - compatible 145 - reg 146 - interrupts 147 - clocks 148 - cdns,fifo-depth 149 - cdns,fifo-width 150 - cdns,trigger-address 151 - '#address-cells' 152 - '#size-cells' 153 154unevaluatedProperties: false 155 156examples: 157 - | 158 qspi: spi@ff705000 { 159 compatible = "cdns,qspi-nor"; 160 #address-cells = <1>; 161 #size-cells = <0>; 162 reg = <0xff705000 0x1000>, 163 <0xffa00000 0x1000>; 164 interrupts = <0 151 4>; 165 clocks = <&qspi_clk>; 166 cdns,fifo-depth = <128>; 167 cdns,fifo-width = <4>; 168 cdns,trigger-address = <0x00000000>; 169 resets = <&rst 0x1>, <&rst 0x2>; 170 reset-names = "qspi", "qspi-ocp"; 171 172 flash@0 { 173 compatible = "jedec,spi-nor"; 174 reg = <0x0>; 175 }; 176 }; 177