hc
2024-10-12 a5969cabbb4660eab42b6ef0412cbbd1200cf14d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
WM8903 audio CODEC
 
This device supports I2C only.
 
Required properties:
 
  - compatible : "wlf,wm8903"
 
  - reg : the I2C address of the device.
 
  - gpio-controller : Indicates this device is a GPIO controller.
 
  - #gpio-cells : Should be two. The first cell is the pin number and the
    second cell is used to specify optional parameters (currently unused).
 
Optional properties:
 
  - interrupts : The interrupt line the codec is connected to.
 
  - micdet-cfg : Default register value for R6 (Mic Bias). If absent, the
    default is 0.
 
  - micdet-delay : The debounce delay for microphone detection in mS. If
    absent, the default is 100.
 
  - gpio-cfg : A list of GPIO configuration register values. The list must
    be 5 entries long. If absent, no configuration of these registers is
    performed. If any entry has the value 0xffffffff, that GPIO's
    configuration will not be modified.
 
  - AVDD-supply : Analog power supply regulator on the AVDD pin.
 
  - CPVDD-supply : Charge pump supply regulator on the CPVDD pin.
 
  - DBVDD-supply : Digital buffer supply regulator for the DBVDD pin.
 
  - DCVDD-supply : Digital core supply regulator for the DCVDD pin.
 
Pins on the device (for linking into audio routes):
 
  * IN1L
  * IN1R
  * IN2L
  * IN2R
  * IN3L
  * IN3R
  * DMICDAT
  * HPOUTL
  * HPOUTR
  * LINEOUTL
  * LINEOUTR
  * LOP
  * LON
  * ROP
  * RON
  * MICBIAS
 
Example:
 
wm8903: codec@1a {
   compatible = "wlf,wm8903";
   reg = <0x1a>;
   interrupts = < 347 >;
 
   AVDD-supply = <&fooreg_a>;
   CPVDD-supply = <&fooreg_b>;
   DBVDD-supply = <&fooreg_c>;
   DCVDC-supply = <&fooreg_d>;
 
   gpio-controller;
   #gpio-cells = <2>;
 
   micdet-cfg = <0>;
   micdet-delay = <100>;
   gpio-cfg = <
       0x0600 /* DMIC_LR, output */
       0x0680 /* DMIC_DAT, input */
       0x0000 /* GPIO, output, low */
       0x0200 /* Interrupt, output */
       0x01a0 /* BCLK, input, active high */
   >;
};