Skip to content

Commit 70783f1

Browse files
committed
Merge remote-tracking branch 'asoc/for-7.2' into asoc-next
2 parents 241ee17 + cda1cf0 commit 70783f1

33 files changed

Lines changed: 4194 additions & 353 deletions

Documentation/devicetree/bindings/sound/fsl,sai.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,13 @@ properties:
162162
of transmitter.
163163
type: boolean
164164

165+
fsl,sai-bit-clock-swap:
166+
description:
167+
Enable Bit Clock Swap, which swaps the bit clock used by the transmitter
168+
or receiver in asynchronous mode, i.e. makes transmitter use RX_BCLK and
169+
TX_SYNC, and vice versa, makes receiver use TX_BCLK and RX_SYNC.
170+
type: boolean
171+
165172
fsl,shared-interrupt:
166173
description: Interrupt is shared with other modules.
167174
type: boolean
Lines changed: 280 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,280 @@
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+
7+
title: Texas Instruments TAS67524 Audio Amplifier
8+
9+
maintainers:
10+
- Sen Wang <sen@ti.com>
11+
12+
description:
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+
17+
allOf:
18+
- $ref: dai-common.yaml#
19+
20+
properties:
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+
210+
required:
211+
- compatible
212+
- reg
213+
- '#sound-dai-cells'
214+
- dvdd-supply
215+
- pvdd-supply
216+
217+
anyOf:
218+
- required: [powerdown-gpios]
219+
- required: [standby-gpios]
220+
221+
unevaluatedProperties: false
222+
223+
examples:
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+
};

0 commit comments

Comments
 (0)