1# SPDX-License-Identifier: GPL-2.0 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/spi/spi-pl022.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: ARM PL022 SPI controller 8 9maintainers: 10 - Linus Walleij <linus.walleij@linaro.org> 11 12allOf: 13 - $ref: spi-controller.yaml# 14 - $ref: /schemas/arm/primecell.yaml# 15 16# We need a select here so we don't match all nodes with 'arm,primecell' 17select: 18 properties: 19 compatible: 20 contains: 21 const: arm,pl022 22 required: 23 - compatible 24 25properties: 26 compatible: 27 items: 28 - const: arm,pl022 29 - const: arm,primecell 30 31 reg: 32 maxItems: 1 33 34 interrupts: 35 maxItems: 1 36 37 clocks: 38 maxItems: 2 39 40 clock-names: 41 items: 42 - const: sspclk 43 - const: apb_pclk 44 45 pl022,autosuspend-delay: 46 description: delay in ms following transfer completion before the 47 runtime power management system suspends the device. A setting of 0 48 indicates no delay and the device will be suspended immediately. 49 $ref: /schemas/types.yaml#/definitions/uint32 50 51 pl022,rt: 52 description: indicates the controller should run the message pump with realtime 53 priority to minimise the transfer latency on the bus (boolean) 54 type: boolean 55 56 dmas: 57 description: 58 Two or more DMA channel specifiers following the convention outlined 59 in bindings/dma/dma.txt 60 minItems: 2 61 maxItems: 32 62 63 dma-names: 64 description: 65 There must be at least one channel named "tx" for transmit and named "rx" 66 for receive. 67 minItems: 2 68 maxItems: 32 69 additionalItems: true 70 items: 71 - const: rx 72 - const: tx 73 74 resets: 75 maxItems: 1 76 77required: 78 - compatible 79 - reg 80 - interrupts 81 82unevaluatedProperties: false 83 84examples: 85 - | 86 spi@e0100000 { 87 compatible = "arm,pl022", "arm,primecell"; 88 reg = <0xe0100000 0x1000>; 89 #address-cells = <1>; 90 #size-cells = <0>; 91 interrupts = <0 31 0x4>; 92 dmas = <&dma_controller 23 1>, 93 <&dma_controller 24 0>; 94 dma-names = "rx", "tx"; 95 96 flash@1 { 97 compatible = "st,m25p80"; 98 reg = <1>; 99 spi-max-frequency = <12000000>; 100 spi-cpol; 101 spi-cpha; 102 pl022,interface = <0>; 103 pl022,com-mode = <0x2>; 104 pl022,rx-level-trig = <0>; 105 pl022,tx-level-trig = <0>; 106 pl022,ctrl-len = <0x11>; 107 pl022,wait-state = <0>; 108 pl022,duplex = <0>; 109 }; 110 }; 111... 112