1# SPDX-License-Identifier: GPL-2.0 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/spi/spi-rockchip.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Rockchip SPI Controller 8 9description: 10 The Rockchip SPI controller is used to interface with various devices such 11 as flash and display controllers using the SPI communication interface. 12 13allOf: 14 - $ref: spi-controller.yaml# 15 16maintainers: 17 - Heiko Stuebner <heiko@sntech.de> 18 19# Everything else is described in the common file 20properties: 21 compatible: 22 oneOf: 23 - const: rockchip,rk3036-spi 24 - const: rockchip,rk3066-spi 25 - const: rockchip,rk3228-spi 26 - const: rockchip,rv1108-spi 27 - items: 28 - enum: 29 - rockchip,px30-spi 30 - rockchip,rk3128-spi 31 - rockchip,rk3188-spi 32 - rockchip,rk3288-spi 33 - rockchip,rk3308-spi 34 - rockchip,rk3328-spi 35 - rockchip,rk3368-spi 36 - rockchip,rk3399-spi 37 - rockchip,rk3506-spi 38 - rockchip,rk3528-spi 39 - rockchip,rk3562-spi 40 - rockchip,rk3568-spi 41 - rockchip,rk3576-spi 42 - rockchip,rk3588-spi 43 - rockchip,rv1126-spi 44 - const: rockchip,rk3066-spi 45 46 reg: 47 maxItems: 1 48 49 interrupts: 50 maxItems: 1 51 52 clocks: 53 items: 54 - description: transfer-clock 55 - description: peripheral clock 56 57 clock-names: 58 items: 59 - const: spiclk 60 - const: apb_pclk 61 62 dmas: 63 items: 64 - description: TX DMA Channel 65 - description: RX DMA Channel 66 67 dma-names: 68 items: 69 - const: tx 70 - const: rx 71 72 rx-sample-delay-ns: 73 default: 0 74 description: 75 Nano seconds to delay after the SCLK edge before sampling Rx data 76 (may need to be fine tuned for high capacitance lines). 77 If not specified 0 will be used. 78 79 pinctrl-names: 80 minItems: 1 81 items: 82 - const: default 83 - const: sleep 84 description: 85 Names for the pin configuration(s); may be "default" or "sleep", 86 where the "sleep" configuration may describe the state 87 the pins should be in during system suspend. 88 89 power-domains: 90 maxItems: 1 91 92required: 93 - compatible 94 - reg 95 - interrupts 96 - clocks 97 - clock-names 98 99unevaluatedProperties: false 100 101examples: 102 - | 103 #include <dt-bindings/clock/rk3188-cru-common.h> 104 #include <dt-bindings/interrupt-controller/arm-gic.h> 105 #include <dt-bindings/interrupt-controller/irq.h> 106 spi0: spi@ff110000 { 107 compatible = "rockchip,rk3066-spi"; 108 reg = <0xff110000 0x1000>; 109 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 110 clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>; 111 clock-names = "spiclk", "apb_pclk"; 112 dmas = <&pdma1 11>, <&pdma1 12>; 113 dma-names = "tx", "rx"; 114 pinctrl-0 = <&spi1_pins>; 115 pinctrl-1 = <&spi1_sleep>; 116 pinctrl-names = "default", "sleep"; 117 rx-sample-delay-ns = <10>; 118 #address-cells = <1>; 119 #size-cells = <0>; 120 }; 121