Linux 6.9-rc1
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / sound / rt5640.txt
1 RT5640/RT5639 audio CODEC
2
3 This device supports I2C only.
4
5 Required properties:
6
7 - compatible : One of "realtek,rt5640" or "realtek,rt5639".
8
9 - reg : The I2C address of the device.
10
11 - interrupts : The CODEC's interrupt output.
12
13 Optional properties:
14
15 - clocks: The phandle of the master clock to the CODEC
16 - clock-names: Should be "mclk"
17
18 - realtek,in1-differential
19 - realtek,in2-differential
20 - realtek,in3-differential
21   Boolean. Indicate MIC1/2/3 input are differential, rather than single-ended.
22
23 - realtek,lout-differential
24   Boolean. Indicate LOUT output is differential, rather than stereo.
25
26 - realtek,ldo1-en-gpios : The GPIO that controls the CODEC's LDO1_EN pin.
27
28 - realtek,dmic1-data-pin
29   0: dmic1 is not used
30   1: using IN1P pin as dmic1 data pin
31   2: using GPIO3 pin as dmic1 data pin
32
33 - realtek,dmic2-data-pin
34   0: dmic2 is not used
35   1: using IN1N pin as dmic2 data pin
36   2: using GPIO4 pin as dmic2 data pin
37
38 - realtek,jack-detect-source
39   u32. Valid values:
40   0: jack-detect is not used
41   1: Use GPIO1 for jack-detect
42   2: Use JD1_IN4P for jack-detect
43   3: Use JD2_IN4N for jack-detect
44   4: Use GPIO2 for jack-detect
45   5: Use GPIO3 for jack-detect
46   6: Use GPIO4 for jack-detect
47
48 - realtek,jack-detect-not-inverted
49   bool. Normal jack-detect switches give an inverted signal, set this bool
50   in the rare case you've a jack-detect switch which is not inverted.
51
52 - realtek,over-current-threshold-microamp
53   u32, micbias over-current detection threshold in µA, valid values are
54   600, 1500 and 2000µA.
55
56 - realtek,over-current-scale-factor
57   u32, micbias over-current detection scale-factor, valid values are:
58   0: Scale current by 0.5
59   1: Scale current by 0.75
60   2: Scale current by 1.0
61   3: Scale current by 1.5
62
63 Pins on the device (for linking into audio routes) for RT5639/RT5640:
64
65   * DMIC1
66   * DMIC2
67   * MICBIAS1
68   * IN1P
69   * IN1N
70   * IN2P
71   * IN2N
72   * IN3P
73   * IN3N
74   * HPOL
75   * HPOR
76   * LOUTL
77   * LOUTR
78   * SPOLP
79   * SPOLN
80   * SPORP
81   * SPORN
82
83 Additional pins on the device for RT5640:
84
85   * MONOP
86   * MONON
87
88 Example:
89
90 rt5640 {
91         compatible = "realtek,rt5640";
92         reg = <0x1c>;
93         interrupt-parent = <&gpio>;
94         interrupts = <TEGRA_GPIO(W, 3) IRQ_TYPE_LEVEL_HIGH>;
95         realtek,ldo1-en-gpios =
96                 <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_HIGH>;
97 };