xref: /freebsd/sys/contrib/device-tree/Bindings/sound/rt5663.txt (revision 8ddb146abcdf061be9f2c0db7e391697dafad85c)
1RT5663 audio CODEC
2
3This device supports I2C only.
4
5Required properties:
6
7- compatible : "realtek,rt5663".
8
9- reg : The I2C address of the device.
10
11- interrupts : The CODEC's interrupt output.
12
13- avdd-supply: Power supply for AVDD, providing 1.8V.
14
15- cpvdd-supply: Power supply for CPVDD, providing 3.5V.
16
17Optional properties:
18
19- "realtek,dc_offset_l_manual"
20- "realtek,dc_offset_r_manual"
21- "realtek,dc_offset_l_manual_mic"
22- "realtek,dc_offset_r_manual_mic"
23  Based on the different PCB layout, add the manual offset value to
24  compensate the DC offset for each L and R channel, and they are different
25  between headphone and headset.
26- "realtek,impedance_sensing_num"
27  The matrix row number of the impedance sensing table.
28  If the value is 0, it means the impedance sensing is not supported.
29- "realtek,impedance_sensing_table"
30  The matrix rows of the impedance sensing table are consisted by impedance
31  minimum, impedance maximun, volume, DC offset w/o and w/ mic of each L and
32  R channel accordingly. Example is shown as following.
33  <   0    300  7  0xffd160  0xffd1c0  0xff8a10  0xff8ab0
34    301  65535  4  0xffe470  0xffe470  0xffb8e0  0xffb8e0>
35  The first and second column are defined for the impedance range. If the
36  detected impedance value is in the range, then the volume value of the
37  third column will be set to codec. In our codec design, each volume value
38  should compensate different DC offset to avoid the pop sound, and it is
39  also different between headphone and headset. In the example, the
40  "realtek,impedance_sensing_num" is 2. It means that there are 2 ranges of
41  impedance in the impedance sensing function.
42
43Pins on the device (for linking into audio routes) for RT5663:
44
45  * IN1P
46  * IN1N
47  * IN2P
48  * IN2N
49  * HPOL
50  * HPOR
51
52Example:
53
54rt5663: codec@12 {
55	compatible = "realtek,rt5663";
56	reg = <0x12>;
57	interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
58	avdd-supply = <&pp1800_a_alc5662>;
59	cpvdd-supply = <&pp3500_a_alc5662>;
60};
61