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