xref: /freebsd/sys/contrib/device-tree/Bindings/sound/ti,tas2781.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2# Copyright (C) 2022 - 2023 Texas Instruments Incorporated
3%YAML 1.2
4---
5$id: http://devicetree.org/schemas/sound/ti,tas2781.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: Texas Instruments TAS2563/TAS2781 SmartAMP
9
10maintainers:
11  - Shenghao Ding <shenghao-ding@ti.com>
12
13description: |
14  The TAS2563/TAS2781 is a mono, digital input Class-D audio
15  amplifier optimized for efficiently driving high peak power into
16  small loudspeakers. An integrated on-chip DSP supports Texas
17  Instruments Smart Amp speaker protection algorithm. The
18  integrated speaker voltage and current sense provides for real time
19  monitoring of loudspeaker behavior.
20
21  Specifications about the audio amplifier can be found at:
22    https://www.ti.com/lit/gpn/tas2563
23    https://www.ti.com/lit/gpn/tas2781
24
25properties:
26  compatible:
27    description: |
28      ti,tas2563: 6.1-W Boosted Class-D Audio Amplifier With Integrated
29      DSP and IV Sense, 16/20/24/32bit stereo I2S or multichannel TDM.
30
31      ti,tas2781: 24-V Class-D Amplifier with Real Time Integrated Speaker
32      Protection and Audio Processing, 16/20/24/32bit stereo I2S or
33      multichannel TDM.
34    oneOf:
35      - items:
36          - enum:
37              - ti,tas2563
38          - const: ti,tas2781
39      - enum:
40          - ti,tas2781
41
42  reg:
43    description:
44      I2C address, in multiple-AMP case, all the i2c address
45      aggregate as one Audio Device to support multiple audio slots.
46    maxItems: 8
47    minItems: 1
48
49  reset-gpios:
50    maxItems: 1
51
52  interrupts:
53    maxItems: 1
54
55  '#sound-dai-cells':
56    const: 0
57
58required:
59  - compatible
60  - reg
61
62allOf:
63  - $ref: dai-common.yaml#
64  - if:
65      properties:
66        compatible:
67          contains:
68            enum:
69              - ti,tas2563
70    then:
71      properties:
72        reg:
73          description:
74            I2C address, in multiple-AMP case, all the i2c address
75            aggregate as one Audio Device to support multiple audio slots.
76          maxItems: 4
77          minItems: 1
78          items:
79            minimum: 0x4c
80            maximum: 0x4f
81
82  - if:
83      properties:
84        compatible:
85          contains:
86            enum:
87              - ti,tas2781
88    then:
89      properties:
90        reg:
91          description:
92            I2C address, in multiple-AMP case, all the i2c address
93            aggregate as one Audio Device to support multiple audio slots.
94          maxItems: 8
95          minItems: 1
96          items:
97            minimum: 0x38
98            maximum: 0x3f
99
100additionalProperties: false
101
102examples:
103  - |
104   #include <dt-bindings/gpio/gpio.h>
105   i2c {
106     /* example with quad tas2781s, such as tablet or pad device */
107     #address-cells = <1>;
108     #size-cells = <0>;
109     quad_tas2781: tas2781@38 {
110       compatible = "ti,tas2781";
111       reg = <0x38>, /* Audio slot 0 */
112             <0x3a>, /* Audio slot 1 */
113             <0x39>, /* Audio slot 2 */
114             <0x3b>; /* Audio slot 3 */
115
116       #sound-dai-cells = <0>;
117       reset-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
118       interrupt-parent = <&gpio1>;
119       interrupts = <15>;
120     };
121   };
122...
123