xref: /freebsd/sys/contrib/device-tree/Bindings/sound/cirrus,cs4234.yaml (revision 6be3386466ab79a84b48429ae66244f21526d3df)
1*6be33864SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause)
2*6be33864SEmmanuel Vadot%YAML 1.2
3*6be33864SEmmanuel Vadot---
4*6be33864SEmmanuel Vadot$id: http://devicetree.org/schemas/sound/cirrus,cs4234.yaml#
5*6be33864SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*6be33864SEmmanuel Vadot
7*6be33864SEmmanuel Vadottitle: Cirrus Logic cs4234 audio CODEC
8*6be33864SEmmanuel Vadot
9*6be33864SEmmanuel Vadotmaintainers:
10*6be33864SEmmanuel Vadot  - patches@opensource.cirrus.com
11*6be33864SEmmanuel Vadot
12*6be33864SEmmanuel Vadotdescription:
13*6be33864SEmmanuel Vadot  The CS4234 is a highly versatile CODEC that combines 4 channels of
14*6be33864SEmmanuel Vadot  high performance analog to digital conversion, 4 channels of high
15*6be33864SEmmanuel Vadot  performance digital to analog conversion for audio, and 1 channel of
16*6be33864SEmmanuel Vadot  digital to analog conversion to provide a nondelayed audio reference
17*6be33864SEmmanuel Vadot  signal to an external Class H tracking power supply. If not used to
18*6be33864SEmmanuel Vadot  drive a tracking power supply, the 5th DAC can instead be used as a
19*6be33864SEmmanuel Vadot  standard audio grade DAC, with performance specifications identical
20*6be33864SEmmanuel Vadot  to that of the 4 DACs in the audio path. Additionally, the CS4234
21*6be33864SEmmanuel Vadot  includes tunable group delay for each of the 4 audio DAC paths to
22*6be33864SEmmanuel Vadot  provide lead time for the external switch-mode power supply, and a
23*6be33864SEmmanuel Vadot  nondelayed path into the DAC outputs for input signals requiring a
24*6be33864SEmmanuel Vadot  low-latency path to the outputs.
25*6be33864SEmmanuel Vadot
26*6be33864SEmmanuel Vadotproperties:
27*6be33864SEmmanuel Vadot  compatible:
28*6be33864SEmmanuel Vadot    enum:
29*6be33864SEmmanuel Vadot      - cirrus,cs4234
30*6be33864SEmmanuel Vadot
31*6be33864SEmmanuel Vadot  reg:
32*6be33864SEmmanuel Vadot    description:
33*6be33864SEmmanuel Vadot      The 7-bit I2C address depends on the state of the ADx pins, in
34*6be33864SEmmanuel Vadot      binary given by [0 0 1 0 AD2 AD1 AD0 0].
35*6be33864SEmmanuel Vadot    items:
36*6be33864SEmmanuel Vadot      minimum: 0x10
37*6be33864SEmmanuel Vadot      maximum: 0x17
38*6be33864SEmmanuel Vadot
39*6be33864SEmmanuel Vadot  VA-supply:
40*6be33864SEmmanuel Vadot    description:
41*6be33864SEmmanuel Vadot      Analogue power supply.
42*6be33864SEmmanuel Vadot
43*6be33864SEmmanuel Vadot  VL-supply:
44*6be33864SEmmanuel Vadot    description:
45*6be33864SEmmanuel Vadot      Interface power supply.
46*6be33864SEmmanuel Vadot
47*6be33864SEmmanuel Vadot  reset-gpios:
48*6be33864SEmmanuel Vadot    maxItems: 1
49*6be33864SEmmanuel Vadot
50*6be33864SEmmanuel Vadotrequired:
51*6be33864SEmmanuel Vadot  - compatible
52*6be33864SEmmanuel Vadot  - reg
53*6be33864SEmmanuel Vadot  - VA-supply
54*6be33864SEmmanuel Vadot  - VL-supply
55*6be33864SEmmanuel Vadot
56*6be33864SEmmanuel VadotadditionalProperties: false
57*6be33864SEmmanuel Vadot
58*6be33864SEmmanuel Vadotexamples:
59*6be33864SEmmanuel Vadot  - |
60*6be33864SEmmanuel Vadot    i2c@e0004000 {
61*6be33864SEmmanuel Vadot        #address-cells = <1>;
62*6be33864SEmmanuel Vadot        #size-cells = <0>;
63*6be33864SEmmanuel Vadot        reg = <0xe0004000 0x1000>;
64*6be33864SEmmanuel Vadot
65*6be33864SEmmanuel Vadot        cs4234: codec@11 {
66*6be33864SEmmanuel Vadot            compatible = "cirrus,cs4234";
67*6be33864SEmmanuel Vadot            reg = <0x11>;
68*6be33864SEmmanuel Vadot
69*6be33864SEmmanuel Vadot            VA-supply = <&vdd3v3>;
70*6be33864SEmmanuel Vadot            VL-supply = <&vdd3v3>;
71*6be33864SEmmanuel Vadot
72*6be33864SEmmanuel Vadot            reset-gpios = <&gpio 0>;
73*6be33864SEmmanuel Vadot        };
74*6be33864SEmmanuel Vadot    };
75