1*c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only 2*c66ec88fSEmmanuel Vadot%YAML 1.2 3*c66ec88fSEmmanuel Vadot--- 4*c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/spi/snps,dw-apb-ssi.yaml# 5*c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*c66ec88fSEmmanuel Vadot 7*c66ec88fSEmmanuel Vadottitle: Synopsys DesignWare AMBA 2.0 Synchronous Serial Interface 8*c66ec88fSEmmanuel Vadot 9*c66ec88fSEmmanuel Vadotmaintainers: 10*c66ec88fSEmmanuel Vadot - Mark Brown <broonie@kernel.org> 11*c66ec88fSEmmanuel Vadot 12*c66ec88fSEmmanuel VadotallOf: 13*c66ec88fSEmmanuel Vadot - $ref: "spi-controller.yaml#" 14*c66ec88fSEmmanuel Vadot - if: 15*c66ec88fSEmmanuel Vadot properties: 16*c66ec88fSEmmanuel Vadot compatible: 17*c66ec88fSEmmanuel Vadot contains: 18*c66ec88fSEmmanuel Vadot enum: 19*c66ec88fSEmmanuel Vadot - mscc,ocelot-spi 20*c66ec88fSEmmanuel Vadot - mscc,jaguar2-spi 21*c66ec88fSEmmanuel Vadot then: 22*c66ec88fSEmmanuel Vadot properties: 23*c66ec88fSEmmanuel Vadot reg: 24*c66ec88fSEmmanuel Vadot minItems: 2 25*c66ec88fSEmmanuel Vadot 26*c66ec88fSEmmanuel Vadotproperties: 27*c66ec88fSEmmanuel Vadot compatible: 28*c66ec88fSEmmanuel Vadot oneOf: 29*c66ec88fSEmmanuel Vadot - description: Generic DW SPI Controller 30*c66ec88fSEmmanuel Vadot enum: 31*c66ec88fSEmmanuel Vadot - snps,dw-apb-ssi 32*c66ec88fSEmmanuel Vadot - snps,dwc-ssi-1.01a 33*c66ec88fSEmmanuel Vadot - description: Microsemi Ocelot/Jaguar2 SoC SPI Controller 34*c66ec88fSEmmanuel Vadot items: 35*c66ec88fSEmmanuel Vadot - enum: 36*c66ec88fSEmmanuel Vadot - mscc,ocelot-spi 37*c66ec88fSEmmanuel Vadot - mscc,jaguar2-spi 38*c66ec88fSEmmanuel Vadot - const: snps,dw-apb-ssi 39*c66ec88fSEmmanuel Vadot - description: Amazon Alpine SPI Controller 40*c66ec88fSEmmanuel Vadot const: amazon,alpine-dw-apb-ssi 41*c66ec88fSEmmanuel Vadot - description: Renesas RZ/N1 SPI Controller 42*c66ec88fSEmmanuel Vadot items: 43*c66ec88fSEmmanuel Vadot - const: renesas,rzn1-spi 44*c66ec88fSEmmanuel Vadot - const: snps,dw-apb-ssi 45*c66ec88fSEmmanuel Vadot - description: Intel Keem Bay SPI Controller 46*c66ec88fSEmmanuel Vadot const: intel,keembay-ssi 47*c66ec88fSEmmanuel Vadot 48*c66ec88fSEmmanuel Vadot reg: 49*c66ec88fSEmmanuel Vadot minItems: 1 50*c66ec88fSEmmanuel Vadot items: 51*c66ec88fSEmmanuel Vadot - description: DW APB SSI controller memory mapped registers 52*c66ec88fSEmmanuel Vadot - description: SPI MST region map 53*c66ec88fSEmmanuel Vadot 54*c66ec88fSEmmanuel Vadot interrupts: 55*c66ec88fSEmmanuel Vadot maxItems: 1 56*c66ec88fSEmmanuel Vadot 57*c66ec88fSEmmanuel Vadot clocks: 58*c66ec88fSEmmanuel Vadot minItems: 1 59*c66ec88fSEmmanuel Vadot items: 60*c66ec88fSEmmanuel Vadot - description: SPI Controller reference clock source 61*c66ec88fSEmmanuel Vadot - description: APB interface clock source 62*c66ec88fSEmmanuel Vadot 63*c66ec88fSEmmanuel Vadot clock-names: 64*c66ec88fSEmmanuel Vadot minItems: 1 65*c66ec88fSEmmanuel Vadot items: 66*c66ec88fSEmmanuel Vadot - const: ssi_clk 67*c66ec88fSEmmanuel Vadot - const: pclk 68*c66ec88fSEmmanuel Vadot 69*c66ec88fSEmmanuel Vadot resets: 70*c66ec88fSEmmanuel Vadot maxItems: 1 71*c66ec88fSEmmanuel Vadot 72*c66ec88fSEmmanuel Vadot reset-names: 73*c66ec88fSEmmanuel Vadot const: spi 74*c66ec88fSEmmanuel Vadot 75*c66ec88fSEmmanuel Vadot reg-io-width: 76*c66ec88fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 77*c66ec88fSEmmanuel Vadot description: I/O register width (in bytes) implemented by this device 78*c66ec88fSEmmanuel Vadot default: 4 79*c66ec88fSEmmanuel Vadot enum: [ 2, 4 ] 80*c66ec88fSEmmanuel Vadot 81*c66ec88fSEmmanuel Vadot num-cs: 82*c66ec88fSEmmanuel Vadot default: 4 83*c66ec88fSEmmanuel Vadot minimum: 1 84*c66ec88fSEmmanuel Vadot maximum: 4 85*c66ec88fSEmmanuel Vadot 86*c66ec88fSEmmanuel Vadot dmas: 87*c66ec88fSEmmanuel Vadot items: 88*c66ec88fSEmmanuel Vadot - description: TX DMA Channel 89*c66ec88fSEmmanuel Vadot - description: RX DMA Channel 90*c66ec88fSEmmanuel Vadot 91*c66ec88fSEmmanuel Vadot dma-names: 92*c66ec88fSEmmanuel Vadot items: 93*c66ec88fSEmmanuel Vadot - const: tx 94*c66ec88fSEmmanuel Vadot - const: rx 95*c66ec88fSEmmanuel Vadot 96*c66ec88fSEmmanuel VadotpatternProperties: 97*c66ec88fSEmmanuel Vadot "^.*@[0-9a-f]+$": 98*c66ec88fSEmmanuel Vadot type: object 99*c66ec88fSEmmanuel Vadot properties: 100*c66ec88fSEmmanuel Vadot reg: 101*c66ec88fSEmmanuel Vadot minimum: 0 102*c66ec88fSEmmanuel Vadot maximum: 3 103*c66ec88fSEmmanuel Vadot 104*c66ec88fSEmmanuel Vadot spi-rx-bus-width: 105*c66ec88fSEmmanuel Vadot const: 1 106*c66ec88fSEmmanuel Vadot 107*c66ec88fSEmmanuel Vadot spi-tx-bus-width: 108*c66ec88fSEmmanuel Vadot const: 1 109*c66ec88fSEmmanuel Vadot 110*c66ec88fSEmmanuel VadotunevaluatedProperties: false 111*c66ec88fSEmmanuel Vadot 112*c66ec88fSEmmanuel Vadotrequired: 113*c66ec88fSEmmanuel Vadot - compatible 114*c66ec88fSEmmanuel Vadot - reg 115*c66ec88fSEmmanuel Vadot - "#address-cells" 116*c66ec88fSEmmanuel Vadot - "#size-cells" 117*c66ec88fSEmmanuel Vadot - interrupts 118*c66ec88fSEmmanuel Vadot - clocks 119*c66ec88fSEmmanuel Vadot 120*c66ec88fSEmmanuel Vadotexamples: 121*c66ec88fSEmmanuel Vadot - | 122*c66ec88fSEmmanuel Vadot spi@fff00000 { 123*c66ec88fSEmmanuel Vadot compatible = "snps,dw-apb-ssi"; 124*c66ec88fSEmmanuel Vadot reg = <0xfff00000 0x1000>; 125*c66ec88fSEmmanuel Vadot #address-cells = <1>; 126*c66ec88fSEmmanuel Vadot #size-cells = <0>; 127*c66ec88fSEmmanuel Vadot interrupts = <0 154 4>; 128*c66ec88fSEmmanuel Vadot clocks = <&spi_m_clk>; 129*c66ec88fSEmmanuel Vadot num-cs = <2>; 130*c66ec88fSEmmanuel Vadot cs-gpios = <&gpio0 13 0>, 131*c66ec88fSEmmanuel Vadot <&gpio0 14 0>; 132*c66ec88fSEmmanuel Vadot }; 133*c66ec88fSEmmanuel Vadot... 134