18cc087a1SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 28cc087a1SEmmanuel Vadot# Copyright 2020-21 Cadence 38cc087a1SEmmanuel Vadot%YAML 1.2 48cc087a1SEmmanuel Vadot--- 5cb7aa33aSEmmanuel Vadot$id: http://devicetree.org/schemas/spi/cdns,xspi.yaml# 6cb7aa33aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 78cc087a1SEmmanuel Vadot 88cc087a1SEmmanuel Vadottitle: Cadence XSPI Controller 98cc087a1SEmmanuel Vadot 108cc087a1SEmmanuel Vadotmaintainers: 118cc087a1SEmmanuel Vadot - Parshuram Thombare <pthombar@cadence.com> 128cc087a1SEmmanuel Vadot 138cc087a1SEmmanuel Vadotdescription: | 148cc087a1SEmmanuel Vadot The XSPI controller allows SPI protocol communication in 158cc087a1SEmmanuel Vadot single, dual, quad or octal wire transmission modes for 168cc087a1SEmmanuel Vadot read/write access to slaves such as SPI-NOR flash. 178cc087a1SEmmanuel Vadot 188cc087a1SEmmanuel Vadotproperties: 198cc087a1SEmmanuel Vadot compatible: 20*b2d2a78aSEmmanuel Vadot enum: 21*b2d2a78aSEmmanuel Vadot - cdns,xspi-nor 22*b2d2a78aSEmmanuel Vadot - marvell,cn10-xspi-nor 238cc087a1SEmmanuel Vadot 248cc087a1SEmmanuel Vadot reg: 258cc087a1SEmmanuel Vadot items: 268cc087a1SEmmanuel Vadot - description: address and length of the controller register set 278cc087a1SEmmanuel Vadot - description: address and length of the Slave DMA data port 288cc087a1SEmmanuel Vadot - description: address and length of the auxiliary registers 29*b2d2a78aSEmmanuel Vadot - description: address and length of the xfer registers 30*b2d2a78aSEmmanuel Vadot minItems: 3 318cc087a1SEmmanuel Vadot 328cc087a1SEmmanuel Vadot reg-names: 338cc087a1SEmmanuel Vadot items: 348cc087a1SEmmanuel Vadot - const: io 358cc087a1SEmmanuel Vadot - const: sdma 368cc087a1SEmmanuel Vadot - const: aux 37*b2d2a78aSEmmanuel Vadot - const: xfer 38*b2d2a78aSEmmanuel Vadot minItems: 3 398cc087a1SEmmanuel Vadot 408cc087a1SEmmanuel Vadot interrupts: 418cc087a1SEmmanuel Vadot maxItems: 1 428cc087a1SEmmanuel Vadot 438cc087a1SEmmanuel Vadotrequired: 448cc087a1SEmmanuel Vadot - compatible 458cc087a1SEmmanuel Vadot - reg 468cc087a1SEmmanuel Vadot - interrupts 478cc087a1SEmmanuel Vadot 48*b2d2a78aSEmmanuel VadotallOf: 49*b2d2a78aSEmmanuel Vadot - $ref: spi-controller.yaml# 50*b2d2a78aSEmmanuel Vadot - if: 51*b2d2a78aSEmmanuel Vadot properties: 52*b2d2a78aSEmmanuel Vadot compatible: 53*b2d2a78aSEmmanuel Vadot contains: 54*b2d2a78aSEmmanuel Vadot enum: 55*b2d2a78aSEmmanuel Vadot - marvell,cn10-xspi-nor 56*b2d2a78aSEmmanuel Vadot then: 57*b2d2a78aSEmmanuel Vadot properties: 58*b2d2a78aSEmmanuel Vadot reg: 59*b2d2a78aSEmmanuel Vadot minItems: 4 60*b2d2a78aSEmmanuel Vadot reg-names: 61*b2d2a78aSEmmanuel Vadot minItems: 4 62*b2d2a78aSEmmanuel Vadot else: 63*b2d2a78aSEmmanuel Vadot properties: 64*b2d2a78aSEmmanuel Vadot reg: 65*b2d2a78aSEmmanuel Vadot maxItems: 3 66*b2d2a78aSEmmanuel Vadot reg-names: 67*b2d2a78aSEmmanuel Vadot maxItems: 3 68*b2d2a78aSEmmanuel Vadot 698cc087a1SEmmanuel VadotunevaluatedProperties: false 708cc087a1SEmmanuel Vadot 718cc087a1SEmmanuel Vadotexamples: 728cc087a1SEmmanuel Vadot - | 738cc087a1SEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 748cc087a1SEmmanuel Vadot bus { 758cc087a1SEmmanuel Vadot #address-cells = <2>; 768cc087a1SEmmanuel Vadot #size-cells = <2>; 778cc087a1SEmmanuel Vadot 788cc087a1SEmmanuel Vadot xspi: spi@a0010000 { 798cc087a1SEmmanuel Vadot #address-cells = <1>; 808cc087a1SEmmanuel Vadot #size-cells = <0>; 818cc087a1SEmmanuel Vadot compatible = "cdns,xspi-nor"; 828cc087a1SEmmanuel Vadot reg = <0x0 0xa0010000 0x0 0x1040>, 838cc087a1SEmmanuel Vadot <0x0 0xb0000000 0x0 0x1000>, 848cc087a1SEmmanuel Vadot <0x0 0xa0020000 0x0 0x100>; 858cc087a1SEmmanuel Vadot reg-names = "io", "sdma", "aux"; 868cc087a1SEmmanuel Vadot interrupts = <0 90 IRQ_TYPE_LEVEL_HIGH>; 878cc087a1SEmmanuel Vadot interrupt-parent = <&gic>; 888cc087a1SEmmanuel Vadot 898cc087a1SEmmanuel Vadot flash@0 { 908cc087a1SEmmanuel Vadot compatible = "jedec,spi-nor"; 918cc087a1SEmmanuel Vadot spi-max-frequency = <75000000>; 928cc087a1SEmmanuel Vadot reg = <0>; 938cc087a1SEmmanuel Vadot }; 948cc087a1SEmmanuel Vadot 958cc087a1SEmmanuel Vadot flash@1 { 968cc087a1SEmmanuel Vadot compatible = "jedec,spi-nor"; 978cc087a1SEmmanuel Vadot spi-max-frequency = <75000000>; 988cc087a1SEmmanuel Vadot reg = <1>; 998cc087a1SEmmanuel Vadot }; 1008cc087a1SEmmanuel Vadot }; 1018cc087a1SEmmanuel Vadot }; 102