1# SPDX-License-Identifier: GPL-2.0-only 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/spi/snps,dw-apb-ssi.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Synopsys DesignWare AMBA 2.0 Synchronous Serial Interface 8 9maintainers: 10 - Mark Brown <broonie@kernel.org> 11 12allOf: 13 - $ref: "spi-controller.yaml#" 14 - if: 15 properties: 16 compatible: 17 contains: 18 enum: 19 - mscc,ocelot-spi 20 - mscc,jaguar2-spi 21 then: 22 properties: 23 reg: 24 minItems: 2 25 - if: 26 properties: 27 compatible: 28 contains: 29 enum: 30 - baikal,bt1-sys-ssi 31 then: 32 properties: 33 mux-controls: 34 maxItems: 1 35 required: 36 - mux-controls 37 else: 38 required: 39 - interrupts 40 41properties: 42 compatible: 43 oneOf: 44 - description: Generic DW SPI Controller 45 enum: 46 - snps,dw-apb-ssi 47 - snps,dwc-ssi-1.01a 48 - description: Microsemi Ocelot/Jaguar2 SoC SPI Controller 49 items: 50 - enum: 51 - mscc,ocelot-spi 52 - mscc,jaguar2-spi 53 - const: snps,dw-apb-ssi 54 - description: Microchip Sparx5 SoC SPI Controller 55 const: microchip,sparx5-spi 56 - description: Amazon Alpine SPI Controller 57 const: amazon,alpine-dw-apb-ssi 58 - description: Renesas RZ/N1 SPI Controller 59 items: 60 - const: renesas,rzn1-spi 61 - const: snps,dw-apb-ssi 62 - description: Intel Keem Bay SPI Controller 63 const: intel,keembay-ssi 64 - description: Intel Thunder Bay SPI Controller 65 const: intel,thunderbay-ssi 66 - description: Baikal-T1 SPI Controller 67 const: baikal,bt1-ssi 68 - description: Baikal-T1 System Boot SPI Controller 69 const: baikal,bt1-sys-ssi 70 - description: Canaan Kendryte K210 SoS SPI Controller 71 const: canaan,k210-spi 72 - description: Renesas RZ/N1 SPI Controller 73 items: 74 - enum: 75 - renesas,r9a06g032-spi # RZ/N1D 76 - renesas,r9a06g033-spi # RZ/N1S 77 - const: renesas,rzn1-spi # RZ/N1 78 79 reg: 80 minItems: 1 81 items: 82 - description: DW APB SSI controller memory mapped registers 83 - description: SPI MST region map or directly mapped SPI ROM 84 85 interrupts: 86 maxItems: 1 87 88 clocks: 89 minItems: 1 90 items: 91 - description: SPI Controller reference clock source 92 - description: APB interface clock source 93 94 clock-names: 95 minItems: 1 96 items: 97 - const: ssi_clk 98 - const: pclk 99 100 resets: 101 maxItems: 1 102 103 reset-names: 104 const: spi 105 106 reg-io-width: 107 description: I/O register width (in bytes) implemented by this device 108 default: 4 109 enum: [ 2, 4 ] 110 111 num-cs: 112 default: 4 113 minimum: 1 114 maximum: 4 115 116 dmas: 117 items: 118 - description: TX DMA Channel 119 - description: RX DMA Channel 120 121 dma-names: 122 items: 123 - const: tx 124 - const: rx 125 126 rx-sample-delay-ns: 127 default: 0 128 description: | 129 Default value of the rx-sample-delay-ns property. 130 This value will be used if the property is not explicitly defined 131 for a SPI slave device. 132 133 SPI Rx sample delay offset, unit is nanoseconds. 134 The delay from the default sample time before the actual sample of the 135 rxd input signal occurs. The "rx_sample_delay" is an optional feature 136 of the designware controller, and the upper limit is also subject to 137 controller configuration. 138 139patternProperties: 140 "^.*@[0-9a-f]+$": 141 type: object 142 properties: 143 reg: 144 minimum: 0 145 maximum: 3 146 147unevaluatedProperties: false 148 149required: 150 - compatible 151 - reg 152 - "#address-cells" 153 - "#size-cells" 154 - clocks 155 156examples: 157 - | 158 spi@fff00000 { 159 compatible = "snps,dw-apb-ssi"; 160 reg = <0xfff00000 0x1000>; 161 #address-cells = <1>; 162 #size-cells = <0>; 163 interrupts = <0 154 4>; 164 clocks = <&spi_m_clk>; 165 num-cs = <2>; 166 cs-gpios = <&gpio0 13 0>, 167 <&gpio0 14 0>; 168 rx-sample-delay-ns = <3>; 169 flash@1 { 170 compatible = "spi-nand"; 171 reg = <1>; 172 rx-sample-delay-ns = <7>; 173 }; 174 }; 175 - | 176 spi@1f040100 { 177 compatible = "baikal,bt1-sys-ssi"; 178 reg = <0x1f040100 0x900>, 179 <0x1c000000 0x1000000>; 180 #address-cells = <1>; 181 #size-cells = <0>; 182 mux-controls = <&boot_mux>; 183 clocks = <&ccu_sys>; 184 clock-names = "ssi_clk"; 185 }; 186... 187