1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/sound/ti,tas67524.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Texas Instruments TAS67524 Audio Amplifier 8 9maintainers: 10 - Sen Wang <sen@ti.com> 11 12description: 13 The TAS67524 is a four-channel, digital-input, automotive 14 Class-D audio amplifier with load diagnostics and an integrated 15 DSP for audio processing. 16 17allOf: 18 - $ref: dai-common.yaml# 19 20properties: 21 compatible: 22 oneOf: 23 - items: 24 - enum: 25 - ti,tas6754 26 - const: ti,tas67524 27 - const: ti,tas67524 28 29 reg: 30 maxItems: 1 31 32 '#sound-dai-cells': 33 const: 1 34 description: | 35 The device exposes three DAIs, selected by index. 36 0 - Standard Audio Path (Playback) 37 1 - Low-Latency Playback Path (Playback) 38 2 - Sensory Feedback (Capture - Vpredict and Isense) 39 By default, all four channels of each DAI are active. 40 41 interrupts: 42 maxItems: 1 43 description: 44 Active-low falling-edge interrupt from the FAULT pin. When provided, 45 the driver uses IRQ-driven fault reporting instead of polling. 46 47 powerdown-gpios: 48 maxItems: 1 49 description: 50 GPIO connected to the PD pin, active low. Controls the internal 51 digital circuitry power state. When asserted the device enters 52 full power-down mode and all register state is lost. Can be omitted if 53 PD pin is hardwired or externally controlled. 54 55 standby-gpios: 56 maxItems: 1 57 description: 58 GPIO connected to the STBY pin, active low. Controls the analog 59 power stage. When asserted the device enters Deep Sleep mode but 60 remains I2C-accessible with registers retained. Can be omitted if 61 STBY pin is tied to PD or hardwired. 62 63 dvdd-supply: 64 description: 65 Digital logic supply (1.62 V to 3.6 V). All three supply rails must 66 be within their recommended operating ranges before the PD pin is 67 released. 68 69 pvdd-supply: 70 description: 71 Output FET power supply (4.5 V to 19 V). All three supply rails must 72 be within their recommended operating ranges before the PD pin is 73 released. 74 75 vbat-supply: 76 description: 77 Battery supply for the Class-D output stage (4.5 V to 19 V). Optional 78 when PVDD and VBAT are connected to the same supply rail. When absent, 79 VBAT is assumed hardwired to PVDD. 80 81 ti,fast-boot: 82 type: boolean 83 description: 84 Skip DC load diagnostic sweep at power-on to reduce boot latency. 85 Automatic diagnostics after fault conditions remain enabled. Hardware 86 overcurrent protection is always active. 87 88 ti,audio-slot-no: 89 $ref: /schemas/types.yaml#/definitions/uint32 90 description: 91 TDM slot offset for the standard audio playback path via SDIN1. A value 92 of 4 maps to slot 4. If omitted, slot assignment is derived from the 93 tx_mask provided via set_tdm_slot(). Without either property, no slot 94 mapping is configured. 95 96 ti,llp-slot-no: 97 $ref: /schemas/types.yaml#/definitions/uint32 98 description: 99 TDM slot offset for the low-latency playback path via SDIN1. If omitted, 100 slot assignment is derived from the tx_mask provided via set_tdm_slot(). 101 Without either property, no slot mapping is configured. Disabled outside 102 of LLP mode, and only relevant for TDM formats. 103 104 ti,vpredict-slot-no: 105 $ref: /schemas/types.yaml#/definitions/uint32 106 description: | 107 In TDM mode, enables Vpredict output and assigns its starting slot; 108 four consecutive slots carry Vpredict Ch1-4 on SDOUT1. May coexist 109 with ti,isense-slot-no using separate non-overlapping slots. 110 111 In I2S mode, enables Vpredict output on SDOUT1 (Ch1/Ch2) and SDOUT2 112 (Ch3/Ch4). The slot value is unused. Requires a GPIO configured as 113 sdout2 for Ch3/Ch4; without it only Ch1/Ch2 are output. Mutually 114 exclusive with ti,isense-slot-no; if both are set, Vpredict takes 115 priority. 116 117 Irrelevant in Left-J and Right-J modes. 118 119 ti,isense-slot-no: 120 $ref: /schemas/types.yaml#/definitions/uint32 121 description: | 122 In TDM mode, enables Isense output and assigns its starting slot; 123 four consecutive slots carry Isense Ch1-4 on SDOUT1. May coexist 124 with ti,vpredict-slot-no using separate non-overlapping slots. 125 126 In I2S mode, enables Isense output on SDOUT1 (Ch1/Ch2) and SDOUT2 127 (Ch3/Ch4). The slot value is unused. Requires a GPIO configured as 128 SDOUT2 for Ch3/Ch4; without it only Ch1/Ch2 are output. Mutually 129 exclusive with ti,vpredict-slot-no; Vpredict takes priority if both 130 are set. 131 132 Irrelevant in Left-J and Right-J modes. 133 134 ti,gpio1-function: 135 $ref: /schemas/types.yaml#/definitions/string 136 description: 137 Function for the GPIO_1 pin. When omitted, GPIO_1 remains in its 138 power-on default state. 139 enum: 140 - low # Output: driven low 141 - auto-mute # Output: high when all channels are auto-muted 142 - auto-mute-ch4 # Output: high when channel 4 is auto-muted 143 - auto-mute-ch3 # Output: high when channel 3 is auto-muted 144 - auto-mute-ch2 # Output: high when channel 2 is auto-muted 145 - auto-mute-ch1 # Output: high when channel 1 is auto-muted 146 - sdout2 # Output: Routes secondary serial data output 2 147 - sdout1 # Output: Re-routes secondary serial data output 1 148 - warn # Output: warning signal (OTW, CBC) 149 - fault # Output: fault signal (OTSD, OC, DC) 150 - clock-sync # Output: clock synchronisation 151 - invalid-clock # Output: high when clock is invalid 152 - high # Output: driven high 153 - mute # Input: external mute control 154 - phase-sync # Input: phase synchronisation 155 - sdin2 # Input: secondary SDIN2 for I2S/LJ/RJ ch3/ch4 156 - deep-sleep # Input: asserted transitions device to Deep Sleep 157 - hiz # Input: asserted transitions device to Hi-Z 158 - play # Input: asserted transitions device to Play 159 - sleep # Input: asserted transitions device to Sleep 160 161 ti,gpio2-function: 162 $ref: /schemas/types.yaml#/definitions/string 163 description: 164 Function for the GPIO_2 pin. When omitted, GPIO_2 remains in its 165 power-on default state. 166 enum: 167 - low # Output: driven low 168 - auto-mute # Output: high when all channels are auto-muted 169 - auto-mute-ch4 # Output: high when channel 4 is auto-muted 170 - auto-mute-ch3 # Output: high when channel 3 is auto-muted 171 - auto-mute-ch2 # Output: high when channel 2 is auto-muted 172 - auto-mute-ch1 # Output: high when channel 1 is auto-muted 173 - sdout2 # Output: Routes secondary serial data output 2 174 - sdout1 # Output: Re-routes secondary serial data output 1 175 - warn # Output: warning signal (OTW, CBC) 176 - fault # Output: fault signal (OTSD, OC, DC) 177 - clock-sync # Output: clock synchronisation 178 - invalid-clock # Output: high when clock is invalid 179 - high # Output: driven high 180 - mute # Input: external mute control 181 - phase-sync # Input: phase synchronisation 182 - sdin2 # Input: secondary SDIN2 for I2S/LJ/RJ ch3/ch4 183 - deep-sleep # Input: asserted transitions device to Deep Sleep 184 - hiz # Input: asserted transitions device to Hi-Z 185 - play # Input: asserted transitions device to Play 186 - sleep # Input: asserted transitions device to Sleep 187 188 ports: 189 $ref: /schemas/graph.yaml#/properties/ports 190 properties: 191 port@0: 192 $ref: audio-graph-port.yaml# 193 unevaluatedProperties: false 194 description: Standard audio playback port (DAI 0). 195 196 port@1: 197 $ref: audio-graph-port.yaml# 198 unevaluatedProperties: false 199 description: Low-latency playback port (LLP) (DAI 1). 200 201 port@2: 202 $ref: audio-graph-port.yaml# 203 unevaluatedProperties: false 204 description: Sensory feedback capture port (DAI 2). 205 206 port: 207 $ref: audio-graph-port.yaml# 208 unevaluatedProperties: false 209 210required: 211 - compatible 212 - reg 213 - '#sound-dai-cells' 214 - dvdd-supply 215 - pvdd-supply 216 217anyOf: 218 - required: [powerdown-gpios] 219 - required: [standby-gpios] 220 221unevaluatedProperties: false 222 223examples: 224 - | 225 #include <dt-bindings/gpio/gpio.h> 226 227 i2c { 228 #address-cells = <1>; 229 #size-cells = <0>; 230 231 amplifier@70 { 232 compatible = "ti,tas67524"; 233 reg = <0x70>; 234 #sound-dai-cells = <1>; 235 sound-name-prefix = "TAS0"; 236 237 standby-gpios = <&main_gpio0 33 GPIO_ACTIVE_LOW>; 238 239 dvdd-supply = <&dvdd_1v8>; 240 pvdd-supply = <&pvdd_12v>; 241 vbat-supply = <&vbat_12v>; 242 243 ti,audio-slot-no = <0>; 244 ti,llp-slot-no = <4>; 245 ti,vpredict-slot-no = <0>; 246 ti,isense-slot-no = <4>; 247 248 ti,gpio2-function = "warn"; 249 250 ports { 251 #address-cells = <1>; 252 #size-cells = <0>; 253 254 port@0 { 255 reg = <0>; 256 257 tas0_audio_ep: endpoint { 258 dai-format = "dsp_b"; 259 remote-endpoint = <&be_tas0_audio_ep>; 260 }; 261 }; 262 263 port@1 { 264 reg = <1>; 265 266 tas0_anc_ep: endpoint { 267 remote-endpoint = <&be_tas0_anc_ep>; 268 }; 269 }; 270 271 port@2 { 272 reg = <2>; 273 274 tas0_fb_ep: endpoint { 275 remote-endpoint = <&be_tas0_fb_ep>; 276 }; 277 }; 278 }; 279 }; 280 }; 281