blob: a6e2ea41160cf20fd51635270d08cbdc98c29d16 [file] [log] [blame]
Richard Fitzgerald9a65a6d2015-11-03 15:08:33 +00001Cirrus Logic/Wolfson Microelectronics Arizona class audio SoCs
Mark Brownd7810092013-03-25 00:11:27 +00002
Kees Cook08559652016-04-26 16:41:21 -07003These devices are audio SoCs with extensive digital capabilities and a range
Mark Brownd7810092013-03-25 00:11:27 +00004of analogue I/O.
5
6Required properties:
7
Charles Keepax72e6e792014-03-19 10:18:54 +00008 - compatible : One of the following chip-specific strings:
Richard Fitzgerald9a65a6d2015-11-03 15:08:33 +00009 "cirrus,cs47l24"
Charles Keepax72e6e792014-03-19 10:18:54 +000010 "wlf,wm5102"
11 "wlf,wm5110"
Richard Fitzgeraldc4ac37192015-01-17 15:21:23 +000012 "wlf,wm8280"
Charles Keepax72e6e792014-03-19 10:18:54 +000013 "wlf,wm8997"
Richard Fitzgeraldb64610d2015-05-01 16:15:19 +010014 "wlf,wm8998"
15 "wlf,wm1814"
Richard Fitzgerald9a65a6d2015-11-03 15:08:33 +000016 "wlf,wm1831"
Richard Fitzgeraldb64610d2015-05-01 16:15:19 +010017
Mark Brownd7810092013-03-25 00:11:27 +000018 - reg : I2C slave address when connected using I2C, chip select number when
19 using SPI.
20
21 - interrupts : The interrupt line the /IRQ signal for the device is
22 connected to.
23 - interrupt-controller : Arizona class devices contain interrupt controllers
24 and may provide interrupt services to other devices.
25 - interrupt-parent : The parent interrupt controller.
26 - #interrupt-cells: the number of cells to describe an IRQ, this should be 2.
27 The first cell is the IRQ number.
28 The second cell is the flags, encoded as the trigger masks from
Andrew F. Davis51669f82015-09-21 11:25:40 -050029 Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
Mark Brownd7810092013-03-25 00:11:27 +000030
31 - gpio-controller : Indicates this device is a GPIO controller.
32 - #gpio-cells : Must be 2. The first cell is the pin number and the
33 second cell is used to specify optional parameters (currently unused).
34
Richard Fitzgeraldc4ac37192015-01-17 15:21:23 +000035 - AVDD-supply, DBVDD1-supply, CPVDD-supply : Power supplies for the device,
36 as covered in Documentation/devicetree/bindings/regulator/regulator.txt
37
38 - DBVDD2-supply, DBVDD3-supply : Additional databus power supplies (wm5102,
Richard Fitzgeraldb64610d2015-05-01 16:15:19 +010039 wm5110, wm8280, wm8998, wm1814)
Richard Fitzgeraldc4ac37192015-01-17 15:21:23 +000040
41 - SPKVDDL-supply, SPKVDDR-supply : Speaker driver power supplies (wm5102,
Richard Fitzgeraldb64610d2015-05-01 16:15:19 +010042 wm5110, wm8280, wm8998, wm1814)
Richard Fitzgeraldc4ac37192015-01-17 15:21:23 +000043
44 - SPKVDD-supply : Speaker driver power supply (wm8997)
Mark Brownd7810092013-03-25 00:11:27 +000045
Richard Fitzgerald9a65a6d2015-11-03 15:08:33 +000046 - DCVDD-supply : Main power supply (cs47l24, wm1831)
47
48 - MICVDD-supply : Microphone power supply (cs47l24, wm1831)
49
Mark Brownd7810092013-03-25 00:11:27 +000050Optional properties:
51
52 - wlf,reset : GPIO specifier for the GPIO controlling /RESET
Mark Brownd7810092013-03-25 00:11:27 +000053
Charles Keepax0b819952016-01-08 11:29:42 +000054 - clocks: Should reference the clocks supplied on MCLK1 and MCLK2
55 - clock-names: Should contains two strings:
56 "mclk1" for the clock supplied on MCLK1, recommended to be a high
57 quality audio reference clock
58 "mclk2" for the clock supplied on MCLK2, recommended to be an always on
59 32k clock
60
Charles Keepax49010332015-02-25 15:37:13 +000061 - wlf,gpio-defaults : A list of GPIO configuration register values. Defines
62 for the appropriate values can found in <dt-bindings/mfd/arizona.txt>. If
63 absent, no configuration of these registers is performed. If any entry has
64 a value that is out of range for a 16 bit register then the chip default
65 will be used. If present exactly five values must be specified.
Mark Brownd7810092013-03-25 00:11:27 +000066
Inha Songdc5193c2014-08-30 11:27:19 +090067 - wlf,inmode : A list of INn_MODE register values, where n is the number
68 of input signals. Valid values are 0 (Differential), 1 (Single-ended) and
69 2 (Digital Microphone). If absent, INn_MODE registers set to 0 by default.
70 If present, values must be specified less than or equal to the number of
Richard Fitzgeraldb64610d2015-05-01 16:15:19 +010071 input signals. If values less than the number of input signals, elements
72 that have not been specified are set to 0 by default. Entries are:
73 <IN1, IN2, IN3, IN4> (wm5102, wm5110, wm8280, wm8997)
74 <IN1A, IN2A, IN1B, IN2B> (wm8998, wm1814)
Charles Keepaxa5dca7d2015-12-14 10:19:12 +000075 - wlf,out-mono : A list of boolean values indicating whether each output is
76 mono or stereo. Position within the list indicates the output affected
77 (eg. First entry in the list corresponds to output 1). A non-zero value
78 indicates a mono output. If present, the number of values should be less
79 than or equal to the number of outputs, if less values are supplied the
80 additional outputs will be treated as stereo.
Inha Songdc5193c2014-08-30 11:27:19 +090081
Charles Keepaxccd173c2015-03-03 15:04:54 +000082 - wlf,dmic-ref : DMIC reference voltage source for each input, can be
83 selected from either MICVDD or one of the MICBIAS's, defines
84 (ARIZONA_DMIC_xxxx) are provided in <dt-bindings/mfd/arizona.txt>. If
85 present, the number of values should be less than or equal to the
86 number of inputs, unspecified inputs will use the chip default.
87
Charles Keepax819b2dd2014-07-10 17:04:09 +010088 - DCVDD-supply, MICVDD-supply : Power supplies, only need to be specified if
89 they are being externally supplied. As covered in
Charles Keepaxa6d97c12014-07-10 17:04:08 +010090 Documentation/devicetree/bindings/regulator/regulator.txt
Richard Fitzgerald9a65a6d2015-11-03 15:08:33 +000091 (wm5102, wm5110, wm8280, wm8997, wm8998, wm1814)
Charles Keepaxa6d97c12014-07-10 17:04:08 +010092
Charles Keepaxf2f48a52015-10-27 16:01:58 +000093Also see child specific device properties:
94 Regulator - ../regulator/arizona-regulator.txt
95 Extcon - ../extcon/extcon-arizona.txt
Charles Keepaxa6d97c12014-07-10 17:04:08 +010096
Mark Brownd7810092013-03-25 00:11:27 +000097Example:
98
99codec: wm5102@1a {
100 compatible = "wlf,wm5102";
101 reg = <0x1a>;
102 interrupts = <347>;
Charles Keepax72e6e792014-03-19 10:18:54 +0000103 interrupt-controller;
Mark Brownd7810092013-03-25 00:11:27 +0000104 #interrupt-cells = <2>;
105 interrupt-parent = <&gic>;
106
107 gpio-controller;
108 #gpio-cells = <2>;
109
110 wlf,gpio-defaults = <
Charles Keepax49010332015-02-25 15:37:13 +0000111 ARIZONA_GP_FN_TXLRCLK
112 ARIZONA_GP_DEFAULT
113 ARIZONA_GP_DEFAULT
114 ARIZONA_GP_DEFAULT
115 ARIZONA_GP_DEFAULT
Mark Brownd7810092013-03-25 00:11:27 +0000116 >;
117};