xref: /openbmc/linux/Documentation/devicetree/bindings/sound/ti,pcm3168a.yaml (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
1*13a7d9e9SGeert Uytterhoeven# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*13a7d9e9SGeert Uytterhoeven%YAML 1.2
3*13a7d9e9SGeert Uytterhoeven---
4*13a7d9e9SGeert Uytterhoeven$id: http://devicetree.org/schemas/sound/ti,pcm3168a.yaml#
5*13a7d9e9SGeert Uytterhoeven$schema: http://devicetree.org/meta-schemas/core.yaml#
6*13a7d9e9SGeert Uytterhoeven
7*13a7d9e9SGeert Uytterhoeventitle: Texas Instruments PCM3168A Audio Codec
8*13a7d9e9SGeert Uytterhoeven
9*13a7d9e9SGeert Uytterhoevenmaintainers:
10*13a7d9e9SGeert Uytterhoeven  - Damien Horsley <Damien.Horsley@imgtec.com>
11*13a7d9e9SGeert Uytterhoeven  - Geert Uytterhoeven <geert+renesas@glider.be>
12*13a7d9e9SGeert Uytterhoeven  - Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
13*13a7d9e9SGeert Uytterhoeven
14*13a7d9e9SGeert Uytterhoevendescription:
15*13a7d9e9SGeert Uytterhoeven  The Texas Instruments PCM3168A is a 24-bit Multi-channel Audio CODEC with
16*13a7d9e9SGeert Uytterhoeven  96/192kHz sampling rate, supporting both SPI and I2C bus access.
17*13a7d9e9SGeert Uytterhoeven
18*13a7d9e9SGeert Uytterhoevenproperties:
19*13a7d9e9SGeert Uytterhoeven  compatible:
20*13a7d9e9SGeert Uytterhoeven    const: ti,pcm3168a
21*13a7d9e9SGeert Uytterhoeven
22*13a7d9e9SGeert Uytterhoeven  reg:
23*13a7d9e9SGeert Uytterhoeven    maxItems: 1
24*13a7d9e9SGeert Uytterhoeven
25*13a7d9e9SGeert Uytterhoeven  clocks:
26*13a7d9e9SGeert Uytterhoeven    items:
27*13a7d9e9SGeert Uytterhoeven      - description: System clock input
28*13a7d9e9SGeert Uytterhoeven
29*13a7d9e9SGeert Uytterhoeven  clock-names:
30*13a7d9e9SGeert Uytterhoeven    items:
31*13a7d9e9SGeert Uytterhoeven      - const: scki
32*13a7d9e9SGeert Uytterhoeven
33*13a7d9e9SGeert Uytterhoeven  reset-gpios:
34*13a7d9e9SGeert Uytterhoeven    items:
35*13a7d9e9SGeert Uytterhoeven      - description: |
36*13a7d9e9SGeert Uytterhoeven          GPIO line connected to the active-low RST pin of the codec.
37*13a7d9e9SGeert Uytterhoeven            RST = low: device power-down
38*13a7d9e9SGeert Uytterhoeven            RST = high: device is enabled
39*13a7d9e9SGeert Uytterhoeven
40*13a7d9e9SGeert Uytterhoeven  "#sound-dai-cells":
41*13a7d9e9SGeert Uytterhoeven    enum: [0, 1]
42*13a7d9e9SGeert Uytterhoeven
43*13a7d9e9SGeert Uytterhoeven  VDD1-supply:
44*13a7d9e9SGeert Uytterhoeven    description: Digital power supply regulator 1 (+3.3V)
45*13a7d9e9SGeert Uytterhoeven
46*13a7d9e9SGeert Uytterhoeven  VDD2-supply:
47*13a7d9e9SGeert Uytterhoeven    description: Digital power supply regulator 2 (+3.3V)
48*13a7d9e9SGeert Uytterhoeven
49*13a7d9e9SGeert Uytterhoeven  VCCAD1-supply:
50*13a7d9e9SGeert Uytterhoeven    description: ADC power supply regulator 1 (+5V)
51*13a7d9e9SGeert Uytterhoeven
52*13a7d9e9SGeert Uytterhoeven  VCCAD2-supply:
53*13a7d9e9SGeert Uytterhoeven    description: ADC power supply regulator 2 (+5V)
54*13a7d9e9SGeert Uytterhoeven
55*13a7d9e9SGeert Uytterhoeven  VCCDA1-supply:
56*13a7d9e9SGeert Uytterhoeven    description: DAC power supply regulator 1 (+5V)
57*13a7d9e9SGeert Uytterhoeven
58*13a7d9e9SGeert Uytterhoeven  VCCDA2-supply:
59*13a7d9e9SGeert Uytterhoeven    description: DAC power supply regulator 2 (+5V)
60*13a7d9e9SGeert Uytterhoeven
61*13a7d9e9SGeert Uytterhoeven  ports:
62*13a7d9e9SGeert Uytterhoeven    $ref: audio-graph-port.yaml#/definitions/port-base
63*13a7d9e9SGeert Uytterhoeven    properties:
64*13a7d9e9SGeert Uytterhoeven      port@0:
65*13a7d9e9SGeert Uytterhoeven        $ref: audio-graph-port.yaml#
66*13a7d9e9SGeert Uytterhoeven        description: Audio input port.
67*13a7d9e9SGeert Uytterhoeven
68*13a7d9e9SGeert Uytterhoeven      port@1:
69*13a7d9e9SGeert Uytterhoeven        $ref: audio-graph-port.yaml#
70*13a7d9e9SGeert Uytterhoeven        description: Audio output port.
71*13a7d9e9SGeert Uytterhoeven
72*13a7d9e9SGeert Uytterhoevenrequired:
73*13a7d9e9SGeert Uytterhoeven  - compatible
74*13a7d9e9SGeert Uytterhoeven  - reg
75*13a7d9e9SGeert Uytterhoeven  - clocks
76*13a7d9e9SGeert Uytterhoeven  - clock-names
77*13a7d9e9SGeert Uytterhoeven  - VDD1-supply
78*13a7d9e9SGeert Uytterhoeven  - VDD2-supply
79*13a7d9e9SGeert Uytterhoeven  - VCCAD1-supply
80*13a7d9e9SGeert Uytterhoeven  - VCCAD2-supply
81*13a7d9e9SGeert Uytterhoeven  - VCCDA1-supply
82*13a7d9e9SGeert Uytterhoeven  - VCCDA2-supply
83*13a7d9e9SGeert Uytterhoeven
84*13a7d9e9SGeert UytterhoevenadditionalProperties: false
85*13a7d9e9SGeert Uytterhoeven
86*13a7d9e9SGeert Uytterhoevenexamples:
87*13a7d9e9SGeert Uytterhoeven  - |
88*13a7d9e9SGeert Uytterhoeven    #include <dt-bindings/gpio/gpio.h>
89*13a7d9e9SGeert Uytterhoeven
90*13a7d9e9SGeert Uytterhoeven    i2c {
91*13a7d9e9SGeert Uytterhoeven        #address-cells = <1>;
92*13a7d9e9SGeert Uytterhoeven        #size-cells = <0>;
93*13a7d9e9SGeert Uytterhoeven
94*13a7d9e9SGeert Uytterhoeven        pcm3168a: audio-codec@44 {
95*13a7d9e9SGeert Uytterhoeven            compatible = "ti,pcm3168a";
96*13a7d9e9SGeert Uytterhoeven            reg = <0x44>;
97*13a7d9e9SGeert Uytterhoeven            reset-gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
98*13a7d9e9SGeert Uytterhoeven            clocks = <&clk_core 42>;
99*13a7d9e9SGeert Uytterhoeven            clock-names = "scki";
100*13a7d9e9SGeert Uytterhoeven            VDD1-supply = <&supply3v3>;
101*13a7d9e9SGeert Uytterhoeven            VDD2-supply = <&supply3v3>;
102*13a7d9e9SGeert Uytterhoeven            VCCAD1-supply = <&supply5v0>;
103*13a7d9e9SGeert Uytterhoeven            VCCAD2-supply = <&supply5v0>;
104*13a7d9e9SGeert Uytterhoeven            VCCDA1-supply = <&supply5v0>;
105*13a7d9e9SGeert Uytterhoeven            VCCDA2-supply = <&supply5v0>;
106*13a7d9e9SGeert Uytterhoeven        };
107*13a7d9e9SGeert Uytterhoeven    };
108