162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/spi/cdns,qspi-nor.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Cadence Quad SPI controller 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Vaishnav Achath <vaishnav.a@ti.com> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ciallOf: 1362306a36Sopenharmony_ci - $ref: spi-controller.yaml# 1462306a36Sopenharmony_ci - if: 1562306a36Sopenharmony_ci properties: 1662306a36Sopenharmony_ci compatible: 1762306a36Sopenharmony_ci contains: 1862306a36Sopenharmony_ci const: xlnx,versal-ospi-1.0 1962306a36Sopenharmony_ci then: 2062306a36Sopenharmony_ci required: 2162306a36Sopenharmony_ci - power-domains 2262306a36Sopenharmony_ci - if: 2362306a36Sopenharmony_ci properties: 2462306a36Sopenharmony_ci compatible: 2562306a36Sopenharmony_ci contains: 2662306a36Sopenharmony_ci const: starfive,jh7110-qspi 2762306a36Sopenharmony_ci then: 2862306a36Sopenharmony_ci properties: 2962306a36Sopenharmony_ci resets: 3062306a36Sopenharmony_ci minItems: 2 3162306a36Sopenharmony_ci maxItems: 3 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci reset-names: 3462306a36Sopenharmony_ci minItems: 2 3562306a36Sopenharmony_ci maxItems: 3 3662306a36Sopenharmony_ci items: 3762306a36Sopenharmony_ci enum: [ qspi, qspi-ocp, rstc_ref ] 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci else: 4062306a36Sopenharmony_ci properties: 4162306a36Sopenharmony_ci resets: 4262306a36Sopenharmony_ci maxItems: 2 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci reset-names: 4562306a36Sopenharmony_ci minItems: 1 4662306a36Sopenharmony_ci maxItems: 2 4762306a36Sopenharmony_ci items: 4862306a36Sopenharmony_ci enum: [ qspi, qspi-ocp ] 4962306a36Sopenharmony_ci - if: 5062306a36Sopenharmony_ci properties: 5162306a36Sopenharmony_ci compatible: 5262306a36Sopenharmony_ci contains: 5362306a36Sopenharmony_ci const: amd,pensando-elba-qspi 5462306a36Sopenharmony_ci then: 5562306a36Sopenharmony_ci properties: 5662306a36Sopenharmony_ci cdns,fifo-depth: 5762306a36Sopenharmony_ci enum: [ 128, 256, 1024 ] 5862306a36Sopenharmony_ci default: 1024 5962306a36Sopenharmony_ci else: 6062306a36Sopenharmony_ci properties: 6162306a36Sopenharmony_ci cdns,fifo-depth: 6262306a36Sopenharmony_ci enum: [ 128, 256 ] 6362306a36Sopenharmony_ci default: 128 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ciproperties: 6662306a36Sopenharmony_ci compatible: 6762306a36Sopenharmony_ci oneOf: 6862306a36Sopenharmony_ci - items: 6962306a36Sopenharmony_ci - enum: 7062306a36Sopenharmony_ci - amd,pensando-elba-qspi 7162306a36Sopenharmony_ci - ti,k2g-qspi 7262306a36Sopenharmony_ci - ti,am654-ospi 7362306a36Sopenharmony_ci - intel,lgm-qspi 7462306a36Sopenharmony_ci - xlnx,versal-ospi-1.0 7562306a36Sopenharmony_ci - intel,socfpga-qspi 7662306a36Sopenharmony_ci - starfive,jh7110-qspi 7762306a36Sopenharmony_ci - const: cdns,qspi-nor 7862306a36Sopenharmony_ci - const: cdns,qspi-nor 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci reg: 8162306a36Sopenharmony_ci items: 8262306a36Sopenharmony_ci - description: the controller register set 8362306a36Sopenharmony_ci - description: the controller data area 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci interrupts: 8662306a36Sopenharmony_ci maxItems: 1 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ci clocks: 8962306a36Sopenharmony_ci minItems: 1 9062306a36Sopenharmony_ci maxItems: 3 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci clock-names: 9362306a36Sopenharmony_ci oneOf: 9462306a36Sopenharmony_ci - items: 9562306a36Sopenharmony_ci - const: ref 9662306a36Sopenharmony_ci - items: 9762306a36Sopenharmony_ci - const: ref 9862306a36Sopenharmony_ci - const: ahb 9962306a36Sopenharmony_ci - const: apb 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci cdns,fifo-depth: 10262306a36Sopenharmony_ci description: 10362306a36Sopenharmony_ci Size of the data FIFO in words. 10462306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ci cdns,fifo-width: 10762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 10862306a36Sopenharmony_ci description: 10962306a36Sopenharmony_ci Bus width of the data FIFO in bytes. 11062306a36Sopenharmony_ci default: 4 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ci cdns,trigger-address: 11362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 11462306a36Sopenharmony_ci description: 11562306a36Sopenharmony_ci 32-bit indirect AHB trigger address. 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ci cdns,is-decoded-cs: 11862306a36Sopenharmony_ci type: boolean 11962306a36Sopenharmony_ci description: 12062306a36Sopenharmony_ci Flag to indicate whether decoder is used to select different chip select 12162306a36Sopenharmony_ci for different memory regions. 12262306a36Sopenharmony_ci 12362306a36Sopenharmony_ci cdns,rclk-en: 12462306a36Sopenharmony_ci type: boolean 12562306a36Sopenharmony_ci description: 12662306a36Sopenharmony_ci Flag to indicate that QSPI return clock is used to latch the read 12762306a36Sopenharmony_ci data rather than the QSPI clock. Make sure that QSPI return clock 12862306a36Sopenharmony_ci is populated on the board before using this property. 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ci power-domains: 13162306a36Sopenharmony_ci maxItems: 1 13262306a36Sopenharmony_ci 13362306a36Sopenharmony_ci resets: 13462306a36Sopenharmony_ci minItems: 2 13562306a36Sopenharmony_ci maxItems: 3 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci reset-names: 13862306a36Sopenharmony_ci minItems: 2 13962306a36Sopenharmony_ci maxItems: 3 14062306a36Sopenharmony_ci items: 14162306a36Sopenharmony_ci enum: [ qspi, qspi-ocp, rstc_ref ] 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_cirequired: 14462306a36Sopenharmony_ci - compatible 14562306a36Sopenharmony_ci - reg 14662306a36Sopenharmony_ci - interrupts 14762306a36Sopenharmony_ci - clocks 14862306a36Sopenharmony_ci - cdns,fifo-depth 14962306a36Sopenharmony_ci - cdns,fifo-width 15062306a36Sopenharmony_ci - cdns,trigger-address 15162306a36Sopenharmony_ci - '#address-cells' 15262306a36Sopenharmony_ci - '#size-cells' 15362306a36Sopenharmony_ci 15462306a36Sopenharmony_ciunevaluatedProperties: false 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ciexamples: 15762306a36Sopenharmony_ci - | 15862306a36Sopenharmony_ci qspi: spi@ff705000 { 15962306a36Sopenharmony_ci compatible = "cdns,qspi-nor"; 16062306a36Sopenharmony_ci #address-cells = <1>; 16162306a36Sopenharmony_ci #size-cells = <0>; 16262306a36Sopenharmony_ci reg = <0xff705000 0x1000>, 16362306a36Sopenharmony_ci <0xffa00000 0x1000>; 16462306a36Sopenharmony_ci interrupts = <0 151 4>; 16562306a36Sopenharmony_ci clocks = <&qspi_clk>; 16662306a36Sopenharmony_ci cdns,fifo-depth = <128>; 16762306a36Sopenharmony_ci cdns,fifo-width = <4>; 16862306a36Sopenharmony_ci cdns,trigger-address = <0x00000000>; 16962306a36Sopenharmony_ci resets = <&rst 0x1>, <&rst 0x2>; 17062306a36Sopenharmony_ci reset-names = "qspi", "qspi-ocp"; 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_ci flash@0 { 17362306a36Sopenharmony_ci compatible = "jedec,spi-nor"; 17462306a36Sopenharmony_ci reg = <0x0>; 17562306a36Sopenharmony_ci }; 17662306a36Sopenharmony_ci }; 177