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 50properties: 51 compatible: 52 oneOf: 53 - items: 54 - enum: 55 - ti,k2g-qspi 56 - ti,am654-ospi 57 - intel,lgm-qspi 58 - xlnx,versal-ospi-1.0 59 - intel,socfpga-qspi 60 - starfive,jh7110-qspi 61 - const: cdns,qspi-nor 62 - const: cdns,qspi-nor 63 64 reg: 65 items: 66 - description: the controller register set 67 - description: the controller data area 68 69 interrupts: 70 maxItems: 1 71 72 clocks: 73 maxItems: 1 74 75 cdns,fifo-depth: 76 description: 77 Size of the data FIFO in words. 78 $ref: /schemas/types.yaml#/definitions/uint32 79 enum: [ 128, 256 ] 80 default: 128 81 82 cdns,fifo-width: 83 $ref: /schemas/types.yaml#/definitions/uint32 84 description: 85 Bus width of the data FIFO in bytes. 86 default: 4 87 88 cdns,trigger-address: 89 $ref: /schemas/types.yaml#/definitions/uint32 90 description: 91 32-bit indirect AHB trigger address. 92 93 cdns,is-decoded-cs: 94 type: boolean 95 description: 96 Flag to indicate whether decoder is used to select different chip select 97 for different memory regions. 98 99 cdns,rclk-en: 100 type: boolean 101 description: 102 Flag to indicate that QSPI return clock is used to latch the read 103 data rather than the QSPI clock. Make sure that QSPI return clock 104 is populated on the board before using this property. 105 106 power-domains: 107 maxItems: 1 108 109 resets: 110 minItems: 2 111 maxItems: 3 112 113 reset-names: 114 minItems: 2 115 maxItems: 3 116 items: 117 enum: [ qspi, qspi-ocp, rstc_ref ] 118 119required: 120 - compatible 121 - reg 122 - interrupts 123 - clocks 124 - cdns,fifo-depth 125 - cdns,fifo-width 126 - cdns,trigger-address 127 - '#address-cells' 128 - '#size-cells' 129 130unevaluatedProperties: false 131 132examples: 133 - | 134 qspi: spi@ff705000 { 135 compatible = "cdns,qspi-nor"; 136 #address-cells = <1>; 137 #size-cells = <0>; 138 reg = <0xff705000 0x1000>, 139 <0xffa00000 0x1000>; 140 interrupts = <0 151 4>; 141 clocks = <&qspi_clk>; 142 cdns,fifo-depth = <128>; 143 cdns,fifo-width = <4>; 144 cdns,trigger-address = <0x00000000>; 145 resets = <&rst 0x1>, <&rst 0x2>; 146 reset-names = "qspi", "qspi-ocp"; 147 148 flash@0 { 149 compatible = "jedec,spi-nor"; 150 reg = <0x0>; 151 }; 152 }; 153