File Index
Files and directories
Sign in
FILE

cdns,qspi-nor.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml YAML
  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/Octal 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              - amd,versal2-ospi
 72              - intel,lgm-qspi
 73              - intel,socfpga-qspi
 74              - mobileye,eyeq5-ospi
 75              - starfive,jh7110-qspi
 76              - ti,am654-ospi
 77              - ti,k2g-qspi
 78              - xlnx,versal-ospi-1.0
 79          # The compatible is qspi-nor for historical reasons but such
 80          # controllers are meant to be used with flashes of all kinds,
 81          # ie. also NAND flashes, not only NOR flashes.
 82          - const: cdns,qspi-nor
 83      - const: cdns,qspi-nor
 84        deprecated: true
 85
 86  reg:
 87    items:
 88      - description: the controller register set
 89      - description: the controller data area
 90
 91  interrupts:
 92    maxItems: 1
 93
 94  clocks:
 95    minItems: 1
 96    maxItems: 3
 97
 98  clock-names:
 99    oneOf:
100      - items:
101          - const: ref
102      - items:
103          - const: ref
104          - const: ahb
105          - const: apb
106
107  cdns,fifo-depth:
108    description:
109      Size of the data FIFO in words.
110    $ref: /schemas/types.yaml#/definitions/uint32
111
112  cdns,fifo-width:
113    $ref: /schemas/types.yaml#/definitions/uint32
114    description:
115      Bus width of the data FIFO in bytes.
116    default: 4
117
118  cdns,trigger-address:
119    $ref: /schemas/types.yaml#/definitions/uint32
120    description:
121      32-bit indirect AHB trigger address.
122
123  cdns,is-decoded-cs:
124    type: boolean
125    description:
126      Flag to indicate whether decoder is used to select different chip select
127      for different memory regions.
128
129  cdns,rclk-en:
130    type: boolean
131    description:
132      Flag to indicate that QSPI return clock is used to latch the read
133      data rather than the QSPI clock. Make sure that QSPI return clock
134      is populated on the board before using this property.
135
136  power-domains:
137    maxItems: 1
138
139  resets:
140    minItems: 2
141    maxItems: 3
142
143  reset-names:
144    minItems: 2
145    maxItems: 3
146    items:
147      enum: [ qspi, qspi-ocp, rstc_ref ]
148
149patternProperties:
150  "^flash@[0-9a-f]+$":
151    type: object
152    $ref: cdns,qspi-nor-peripheral-props.yaml
153    additionalProperties: true
154    required:
155      - cdns,read-delay
156      - cdns,tshsl-ns
157      - cdns,tsd2d-ns
158      - cdns,tchsh-ns
159      - cdns,tslch-ns
160
161required:
162  - compatible
163  - reg
164  - interrupts
165  - clocks
166  - cdns,fifo-width
167  - cdns,trigger-address
168  - '#address-cells'
169  - '#size-cells'
170
171unevaluatedProperties: false
172
173examples:
174  - |
175    qspi: spi@ff705000 {
176        compatible = "intel,socfpga-qspi", "cdns,qspi-nor";
177        #address-cells = <1>;
178        #size-cells = <0>;
179        reg = <0xff705000 0x1000>,
180              <0xffa00000 0x1000>;
181        interrupts = <0 151 4>;
182        clocks = <&qspi_clk>;
183        cdns,fifo-depth = <128>;
184        cdns,fifo-width = <4>;
185        cdns,trigger-address = <0x00000000>;
186        resets = <&rst 0x1>, <&rst 0x2>;
187        reset-names = "qspi", "qspi-ocp";
188
189        flash@0 {
190            compatible = "jedec,spi-nor";
191            reg = <0x0>;
192            cdns,read-delay = <4>;
193            cdns,tshsl-ns = <60>;
194            cdns,tsd2d-ns = <60>;
195            cdns,tchsh-ns = <60>;
196            cdns,tslch-ns = <60>;
197        };
198    };
~/ Read-only file preview.