Linux 6.7-rc7
[linux-modified.git] / Documentation / devicetree / bindings / sound / ti,tlv320aic32x4.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 # Copyright (C) 2019 Texas Instruments Incorporated
3 %YAML 1.2
4 ---
5 $id: http://devicetree.org/schemas/sound/ti,tlv320aic32x4.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
7
8 title: Texas Instruments TLV320AIC32x4 Stereo Audio codec
9
10 maintainers:
11   - Alexander Stein <alexander.stein@ew.tq-group.com>
12
13 description: |
14   The TLV320AIC32x4 audio codec can be accessed using I2C or SPI
15
16 properties:
17   compatible:
18     enum:
19       - ti,tas2505
20       - ti,tlv320aic32x4
21       - ti,tlv320aic32x6
22
23   reg:
24     maxItems: 1
25
26   clocks:
27     items:
28       - description: Master clock
29
30   clock-names:
31     items:
32       - const: mclk
33
34   av-supply:
35     description: Analog core power supply
36
37   dv-supply:
38     description: Digital core power supply
39
40   iov-supply:
41     description: Digital IO power supply
42
43   ldoin-supply:
44     description: LDO power supply
45
46   reset-gpios:
47     maxItems: 1
48
49   '#sound-dai-cells':
50     const: 0
51
52   aic32x4-gpio-func:
53     description: |
54        GPIO function configuration for pins MFP1-MFP5.
55        Types are defined in include/sound/tlv320aic32x4.h
56     $ref: /schemas/types.yaml#/definitions/uint32-array
57     minItems: 5
58     maxItems: 5
59
60 required:
61   - compatible
62   - reg
63   - clocks
64   - clock-names
65   - iov-supply
66
67 allOf:
68   - $ref: dai-common.yaml#
69   - if:
70       not:
71         required:
72           - ldoin-supply
73     then:
74       required:
75         - av-supply
76         - dv-supply
77
78 additionalProperties: false
79
80 examples:
81   - |
82     #include <dt-bindings/gpio/gpio.h>
83     i2c {
84       #address-cells = <1>;
85       #size-cells = <0>;
86       audio-codec@18 {
87         compatible = "ti,tlv320aic32x4";
88         reg = <0x18>;
89         iov-supply = <&reg_3v3>;
90         ldoin-supply = <&reg_3v3>;
91         clocks = <&clks 201>;
92         clock-names = "mclk";
93         aic32x4-gpio-func= <
94           0xff /* AIC32X4_MFPX_DEFAULT_VALUE */
95           0xff /* AIC32X4_MFPX_DEFAULT_VALUE */
96           0x04 /* MFP3 AIC32X4_MFP3_GPIO_ENABLED */
97           0xff /* AIC32X4_MFPX_DEFAULT_VALUE */
98           0x08 /* MFP5 AIC32X4_MFP5_GPIO_INPUT */
99         >;
100       };
101     };