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