1 # SPDX-License-Identifier: (GPL-2.0-only OR BS 2 %YAML 1.2 3 --- 4 $id: http://devicetree.org/schemas/sound/st,st 5 $schema: http://devicetree.org/meta-schemas/co 6 7 title: STMicroelectronics STM32 Serial Audio I 8 9 maintainers: 10 - Olivier Moysan <olivier.moysan@foss.st.com> 11 12 description: 13 The SAI interface (Serial Audio Interface) o 14 protocols as I2S standards, LSB or MSB-justi 15 The SAI contains two independent audio sub-b 16 its own clock generator and I/O lines contro 17 18 properties: 19 compatible: 20 enum: 21 - st,stm32f4-sai 22 - st,stm32h7-sai 23 24 reg: 25 items: 26 - description: Base address and size of 27 - description: Base address and size of 28 minItems: 1 29 30 ranges: 31 maxItems: 1 32 33 interrupts: 34 maxItems: 1 35 36 resets: 37 maxItems: 1 38 39 "#address-cells": 40 const: 1 41 42 "#size-cells": 43 const: 1 44 45 clocks: 46 maxItems: 3 47 48 clock-names: 49 maxItems: 3 50 51 access-controllers: 52 minItems: 1 53 maxItems: 2 54 55 required: 56 - compatible 57 - reg 58 - ranges 59 - "#address-cells" 60 - "#size-cells" 61 - clocks 62 - clock-names 63 64 patternProperties: 65 "^audio-controller@[0-9a-f]+$": 66 type: object 67 additionalProperties: false 68 description: 69 Two subnodes corresponding to SAI sub-bl 70 can be defined. Subnode can be omitted f 71 72 properties: 73 compatible: 74 description: Compatible for SAI sub-bl 75 pattern: "^st,stm32-sai-sub-[ab]$" 76 77 "#sound-dai-cells": 78 const: 0 79 80 reg: 81 maxItems: 1 82 83 clocks: 84 items: 85 - description: sai_ck clock feeding 86 - description: MCLK clock from a SAI 87 minItems: 1 88 89 clock-names: 90 items: 91 - const: sai_ck 92 - const: MCLK 93 minItems: 1 94 95 dmas: 96 maxItems: 1 97 98 dma-names: 99 description: | 100 rx: SAI sub-block is configured as a 101 tx: SAI sub-block is configured as a 102 enum: [ rx, tx ] 103 104 st,sync: 105 description: 106 Configure the SAI sub-block as slave 107 By default SAI sub-block is in async 108 Must contain the phandle and index o 109 the synchronization. 110 $ref: /schemas/types.yaml#/definitions 111 items: 112 - items: 113 - description: phandle of the SA 114 - description: index of the SAI 115 116 st,iec60958: 117 description: 118 If set, support S/PDIF IEC6958 proto 119 IEC60958 protocol is not available f 120 By default, custom protocol is assum 121 configured according to protocol def 122 such as i2s, left justified, right j 123 $ref: /schemas/types.yaml#/definitions 124 125 "#clock-cells": 126 description: Configure the SAI device 127 const: 0 128 129 port: 130 $ref: audio-graph-port.yaml# 131 unevaluatedProperties: false 132 133 required: 134 - compatible 135 - "#sound-dai-cells" 136 - reg 137 - clocks 138 - clock-names 139 - dmas 140 - dma-names 141 142 allOf: 143 - if: 144 properties: 145 compatible: 146 contains: 147 const: st,stm32f4-sai 148 then: 149 properties: 150 clocks: 151 items: 152 - description: x8k, SAI parent clo 153 - description: x11k, SAI parent cl 154 155 clock-names: 156 items: 157 - const: x8k 158 - const: x11k 159 else: 160 properties: 161 clocks: 162 items: 163 - description: pclk feeds the peri 164 - description: x8k, SAI parent clo 165 - description: x11k, SAI parent cl 166 167 clock-names: 168 items: 169 - const: pclk 170 - const: x8k 171 - const: x11k 172 173 additionalProperties: false 174 175 examples: 176 - | 177 #include <dt-bindings/interrupt-controller 178 #include <dt-bindings/clock/stm32mp1-clks. 179 #include <dt-bindings/reset/stm32mp1-reset 180 sai2: sai@4400b000 { 181 compatible = "st,stm32h7-sai"; 182 #address-cells = <1>; 183 #size-cells = <1>; 184 ranges = <0 0x4400b000 0x400>; 185 reg = <0x4400b000 0x4>, <0x4400b3f0 0x10 186 clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&r 187 clock-names = "pclk", "x8k", "x11k"; 188 pinctrl-names = "default", "sleep"; 189 pinctrl-0 = <&sai2a_pins_a>, <&sai2b_pin 190 pinctrl-1 = <&sai2a_sleep_pins_a>, <&sai 191 192 sai2a: audio-controller@4400b004 { 193 #sound-dai-cells = <0>; 194 compatible = "st,stm32-sai-sub-a"; 195 reg = <0x4 0x1c>; 196 dmas = <&dmamux1 89 0x400 0x01>; 197 dma-names = "tx"; 198 clocks = <&rcc SAI2_K>; 199 clock-names = "sai_ck"; 200 }; 201 }; 202 203 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.