Merge branch 'drm-next-4.12' of git://people.freedesktop.org/~agd5f/linux into drm...
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / sound / nau8824.txt
1 Nuvoton NAU8824 audio codec
2
3 This device supports I2C only.
4
5 Required properties:
6   - compatible : Must be "nuvoton,nau8824"
7
8   - reg : the I2C address of the device. This is either 0x1a (CSB=0) or 0x1b (CSB=1).
9
10 Optional properties:
11   - nuvoton,jkdet-polarity: JKDET pin polarity. 0 - active high, 1 - active low.
12
13   - nuvoton,vref-impedance: VREF Impedance selection
14       0 - Open
15       1 - 25 kOhm
16       2 - 125 kOhm
17       3 - 2.5 kOhm
18
19   - nuvoton,micbias-voltage: Micbias voltage level.
20       0 - VDDA
21       1 - VDDA
22       2 - VDDA * 1.1
23       3 - VDDA * 1.2
24       4 - VDDA * 1.3
25       5 - VDDA * 1.4
26       6 - VDDA * 1.53
27       7 - VDDA * 1.53
28
29   - nuvoton,sar-threshold-num: Number of buttons supported
30   - nuvoton,sar-threshold: Impedance threshold for each button. Array that contains up to 8 buttons configuration. SAR value is calculated as
31     SAR = 255 * MICBIAS / SAR_VOLTAGE * R / (2000 + R)
32     where MICBIAS is configured by 'nuvoton,micbias-voltage', SAR_VOLTAGE is configured by 'nuvoton,sar-voltage', R - button impedance.
33     Refer datasheet section 10.2 for more information about threshold calculation.
34
35   - nuvoton,sar-hysteresis: Button impedance measurement hysteresis.
36
37   - nuvoton,sar-voltage: Reference voltage for button impedance measurement.
38       0 - VDDA
39       1 - VDDA
40       2 - VDDA * 1.1
41       3 - VDDA * 1.2
42       4 - VDDA * 1.3
43       5 - VDDA * 1.4
44       6 - VDDA * 1.53
45       7 - VDDA * 1.53
46
47   - nuvoton,sar-compare-time: SAR compare time
48       0 - 500 ns
49       1 - 1 us
50       2 - 2 us
51       3 - 4 us
52
53   - nuvoton,sar-sampling-time: SAR sampling time
54       0 - 2 us
55       1 - 4 us
56       2 - 8 us
57       3 - 16 us
58
59   - nuvoton,short-key-debounce: Button short key press debounce time.
60       0 - 30 ms
61       1 - 50 ms
62       2 - 100 ms
63
64   - nuvoton,jack-eject-debounce: Jack ejection debounce time.
65       0 - 0 ms
66       1 - 1 ms
67       2 - 10 ms
68
69
70 Example:
71
72   headset: nau8824@1a {
73       compatible = "nuvoton,nau8824";
74       reg = <0x1a>;
75       interrupt-parent = <&gpio>;
76       interrupts = <TEGRA_GPIO(E, 6) IRQ_TYPE_LEVEL_LOW>;
77       nuvoton,vref-impedance = <2>;
78       nuvoton,micbias-voltage = <6>;
79       // Setup 4 buttons impedance according to Android specification
80       nuvoton,sar-threshold-num = <4>;
81       nuvoton,sar-threshold = <0xc 0x1e 0x38 0x60>;
82       nuvoton,sar-hysteresis = <0>;
83       nuvoton,sar-voltage = <6>;
84       nuvoton,sar-compare-time = <1>;
85       nuvoton,sar-sampling-time = <1>;
86       nuvoton,short-key-debounce = <0>;
87       nuvoton,jack-eject-debounce = <1>;
88   };