1fc543f53SCharles Keepax# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2fc543f53SCharles Keepax%YAML 1.2 3fc543f53SCharles Keepax--- 4fc543f53SCharles Keepax$id: http://devicetree.org/schemas/mfd/wlf,arizona.yaml# 5fc543f53SCharles Keepax$schema: http://devicetree.org/meta-schemas/core.yaml# 6fc543f53SCharles Keepax 7fc543f53SCharles Keepaxtitle: Cirrus Logic/Wolfson Microelectronics Arizona class audio SoCs 8fc543f53SCharles Keepax 9fc543f53SCharles Keepaxmaintainers: 10fc543f53SCharles Keepax - patches@opensource.cirrus.com 11fc543f53SCharles Keepax 12fc543f53SCharles Keepaxdescription: | 13fc543f53SCharles Keepax These devices are audio SoCs with extensive digital capabilities and a 14fc543f53SCharles Keepax range of analogue I/O. 15fc543f53SCharles Keepax 16fc543f53SCharles KeepaxallOf: 17fc543f53SCharles Keepax - $ref: /schemas/sound/wlf,arizona.yaml# 18fc543f53SCharles Keepax - $ref: /schemas/regulator/wlf,arizona.yaml# 19fc543f53SCharles Keepax - $ref: /schemas/extcon/wlf,arizona.yaml# 20fc543f53SCharles Keepax - if: 21fc543f53SCharles Keepax properties: 22fc543f53SCharles Keepax compatible: 23fc543f53SCharles Keepax contains: 24fc543f53SCharles Keepax enum: 25fc543f53SCharles Keepax - cirrus,cs47l24 26fc543f53SCharles Keepax - wlf,wm1831 27fc543f53SCharles Keepax then: 28fc543f53SCharles Keepax required: 29fc543f53SCharles Keepax - DCVDD-supply 30fc543f53SCharles Keepax - MICVDD-supply 31fc543f53SCharles Keepax else: 32fc543f53SCharles Keepax properties: 33fc543f53SCharles Keepax LDOVDD-supply: 34fc543f53SCharles Keepax description: 35fc543f53SCharles Keepax Digital power supply, used internally to generate DCVDD when 36fc543f53SCharles Keepax internally supplied. 37fc543f53SCharles Keepax 38fc543f53SCharles Keepax - if: 39fc543f53SCharles Keepax properties: 40fc543f53SCharles Keepax compatible: 41fc543f53SCharles Keepax contains: 42fc543f53SCharles Keepax enum: 43fc543f53SCharles Keepax - wlf,wm1814 44fc543f53SCharles Keepax - wlf,wm5102 45fc543f53SCharles Keepax - wlf,wm5110 46fc543f53SCharles Keepax - wlf,wm8280 47fc543f53SCharles Keepax - wlf,wm8997 48fc543f53SCharles Keepax - wlf,wm8998 49fc543f53SCharles Keepax then: 50fc543f53SCharles Keepax properties: 51fc543f53SCharles Keepax DBVDD2-supply: 52fc543f53SCharles Keepax description: 53fc543f53SCharles Keepax Databus power supply. 54fc543f53SCharles Keepax 55fc543f53SCharles Keepax required: 56fc543f53SCharles Keepax - DBVDD2-supply 57fc543f53SCharles Keepax - if: 58fc543f53SCharles Keepax properties: 59fc543f53SCharles Keepax compatible: 60fc543f53SCharles Keepax contains: 61fc543f53SCharles Keepax enum: 62fc543f53SCharles Keepax - wlf,wm1814 63fc543f53SCharles Keepax - wlf,wm5102 64fc543f53SCharles Keepax - wlf,wm5110 65fc543f53SCharles Keepax - wlf,wm8280 66fc543f53SCharles Keepax - wlf,wm8998 67fc543f53SCharles Keepax then: 68fc543f53SCharles Keepax properties: 69fc543f53SCharles Keepax DBVDD3-supply: 70fc543f53SCharles Keepax description: 71fc543f53SCharles Keepax Databus power supply. 72fc543f53SCharles Keepax 73fc543f53SCharles Keepax required: 74fc543f53SCharles Keepax - DBVDD3-supply 75fc543f53SCharles Keepax - if: 76fc543f53SCharles Keepax properties: 77fc543f53SCharles Keepax compatible: 78fc543f53SCharles Keepax contains: 79fc543f53SCharles Keepax enum: 80fc543f53SCharles Keepax - cirrus,cs47l24 81fc543f53SCharles Keepax - wlf,wm1831 82fc543f53SCharles Keepax - wlf,wm8997 83fc543f53SCharles Keepax then: 84fc543f53SCharles Keepax properties: 85fc543f53SCharles Keepax SPKVDD-supply: 86fc543f53SCharles Keepax description: 87fc543f53SCharles Keepax Mono speaker driver power supply. 88fc543f53SCharles Keepax 89fc543f53SCharles Keepax required: 90fc543f53SCharles Keepax - SPKVDD-supply 91fc543f53SCharles Keepax else: 92fc543f53SCharles Keepax properties: 93fc543f53SCharles Keepax SPKVDDL-supply: 94fc543f53SCharles Keepax description: 95fc543f53SCharles Keepax Left speaker driver power supply. 96fc543f53SCharles Keepax 97fc543f53SCharles Keepax SPKVDDR-supply: 98fc543f53SCharles Keepax description: 99fc543f53SCharles Keepax Right speaker driver power supply. 100fc543f53SCharles Keepax 101fc543f53SCharles Keepax required: 102fc543f53SCharles Keepax - SPKVDDL-supply 103fc543f53SCharles Keepax - SPKVDDR-supply 104fc543f53SCharles Keepax 105fc543f53SCharles Keepaxproperties: 106fc543f53SCharles Keepax compatible: 107fc543f53SCharles Keepax enum: 108fc543f53SCharles Keepax - cirrus,cs47l24 109fc543f53SCharles Keepax - wlf,wm1814 110fc543f53SCharles Keepax - wlf,wm1831 111fc543f53SCharles Keepax - wlf,wm5102 112fc543f53SCharles Keepax - wlf,wm5110 113fc543f53SCharles Keepax - wlf,wm8280 114fc543f53SCharles Keepax - wlf,wm8997 115fc543f53SCharles Keepax - wlf,wm8998 116fc543f53SCharles Keepax 117fc543f53SCharles Keepax reg: 118fc543f53SCharles Keepax maxItems: 1 119fc543f53SCharles Keepax 120fc543f53SCharles Keepax AVDD-supply: 121fc543f53SCharles Keepax description: 122fc543f53SCharles Keepax Analogue power supply. 123fc543f53SCharles Keepax 124fc543f53SCharles Keepax CPVDD-supply: 125fc543f53SCharles Keepax description: 126fc543f53SCharles Keepax Charge pump power supply. 127fc543f53SCharles Keepax 128fc543f53SCharles Keepax DBVDD1-supply: 129fc543f53SCharles Keepax description: 130fc543f53SCharles Keepax Databus power supply. 131fc543f53SCharles Keepax 132fc543f53SCharles Keepax DCVDD-supply: 133fc543f53SCharles Keepax description: 134fc543f53SCharles Keepax Digital power supply, normally supplied internally except on cs47l24, 135fc543f53SCharles Keepax wm1831 where it is mandatory. 136fc543f53SCharles Keepax 137fc543f53SCharles Keepax MICVDD-supply: 138fc543f53SCharles Keepax description: 139fc543f53SCharles Keepax Microphone power supply, normally supplied internally except on 140fc543f53SCharles Keepax cs47l24, wm1831 where it is mandatory. 141fc543f53SCharles Keepax 142fc543f53SCharles Keepax gpio-controller: true 143fc543f53SCharles Keepax 144fc543f53SCharles Keepax '#gpio-cells': 145fc543f53SCharles Keepax description: 146fc543f53SCharles Keepax The first cell is the pin number and the second cell is used to 147fc543f53SCharles Keepax specify optional parameters. 148fc543f53SCharles Keepax const: 2 149fc543f53SCharles Keepax 150fc543f53SCharles Keepax wlf,gpio-defaults: 151fc543f53SCharles Keepax description: 152fc543f53SCharles Keepax A list of GPIO configuration register values. Defines for the 153fc543f53SCharles Keepax appropriate values can found in dt-bindings/mfd/arizona.h. If 154fc543f53SCharles Keepax absent, no configuration of these registers is performed. If any 155fc543f53SCharles Keepax entry has a value that is out of range for a 16 bit register then the 156fc543f53SCharles Keepax chip default will be used. If present exactly five values must be 157fc543f53SCharles Keepax specified. 158fc543f53SCharles Keepax $ref: "/schemas/types.yaml#/definitions/uint32-array" 159fc543f53SCharles Keepax minItems: 1 160fc543f53SCharles Keepax maxItems: 5 161fc543f53SCharles Keepax 162fc543f53SCharles Keepax interrupt-controller: true 163fc543f53SCharles Keepax 164fc543f53SCharles Keepax '#interrupt-cells': 165fc543f53SCharles Keepax description: 166fc543f53SCharles Keepax The first cell is the IRQ number. The second cell is the flags, 167fc543f53SCharles Keepax encoded as trigger masks. 168fc543f53SCharles Keepax const: 2 169fc543f53SCharles Keepax 170fc543f53SCharles Keepax interrupts: 171fc543f53SCharles Keepax maxItems: 1 172fc543f53SCharles Keepax 173fc543f53SCharles Keepax clocks: 174fc543f53SCharles Keepax description: 175fc543f53SCharles Keepax Should reference the clocks supplied on MCLK1 and MCLK2. 176fc543f53SCharles Keepax minItems: 1 177fc543f53SCharles Keepax maxItems: 2 178fc543f53SCharles Keepax 179fc543f53SCharles Keepax clock-names: 180fc543f53SCharles Keepax description: 181fc543f53SCharles Keepax Should contains two strings mclk1 for the clock supplied on MCLK1, 182fc543f53SCharles Keepax recommended to be a high quality audio reference clock mclk2 for the 183fc543f53SCharles Keepax clock supplied on MCLK2, recommended to be an always on 32k clock. 184fc543f53SCharles Keepax oneOf: 185fc543f53SCharles Keepax - items: 186fc543f53SCharles Keepax - const: mclk1 187fc543f53SCharles Keepax - items: 188fc543f53SCharles Keepax - const: mclk2 189fc543f53SCharles Keepax - items: 190fc543f53SCharles Keepax - const: mclk1 191fc543f53SCharles Keepax - const: mclk2 192fc543f53SCharles Keepax 193fc543f53SCharles Keepax reset-gpios: 194fc543f53SCharles Keepax maxItems: 1 195fc543f53SCharles Keepax 196fc543f53SCharles Keepax wlf,reset: 197fc543f53SCharles Keepax description: 198fc543f53SCharles Keepax GPIO specifier for the GPIO controlling RESET 199fc543f53SCharles Keepax deprecated: true 200fc543f53SCharles Keepax $ref: /schemas/types.yaml#/definitions/phandle-array 201fc543f53SCharles Keepax maxItems: 1 202fc543f53SCharles Keepax 203fc543f53SCharles Keepaxrequired: 204fc543f53SCharles Keepax - compatible 205fc543f53SCharles Keepax - AVDD-supply 206fc543f53SCharles Keepax - CPVDD-supply 207fc543f53SCharles Keepax - DBVDD1-supply 208fc543f53SCharles Keepax - gpio-controller 209fc543f53SCharles Keepax - '#gpio-cells' 210fc543f53SCharles Keepax - interrupt-controller 211fc543f53SCharles Keepax - '#interrupt-cells' 212fc543f53SCharles Keepax - interrupts 213fc543f53SCharles Keepax 214fc543f53SCharles KeepaxunevaluatedProperties: false 215fc543f53SCharles Keepax 216fc543f53SCharles Keepaxexamples: 217fc543f53SCharles Keepax - | 218fc543f53SCharles Keepax #include <dt-bindings/mfd/arizona.h> 219fc543f53SCharles Keepax i2c@e0004000 { 220fc543f53SCharles Keepax #address-cells = <1>; 221fc543f53SCharles Keepax #size-cells = <0>; 222fc543f53SCharles Keepax reg = <0xe0004000 0x1000>; 223fc543f53SCharles Keepax 224fc543f53SCharles Keepax wm5102: codec@1a { 225fc543f53SCharles Keepax compatible = "wlf,wm5102"; 226fc543f53SCharles Keepax reg = <0x1a>; 227fc543f53SCharles Keepax 228fc543f53SCharles Keepax reset-gpios = <&gpio 0>; 229fc543f53SCharles Keepax wlf,ldoena = <&gpio 1>; 230fc543f53SCharles Keepax 231fc543f53SCharles Keepax AVDD-supply = <&vdd1v8>; 232fc543f53SCharles Keepax DBVDD1-supply = <&vdd1v8>; 233fc543f53SCharles Keepax DBVDD2-supply = <&vdd1v8>; 234fc543f53SCharles Keepax DBVDD3-supply = <&vdd1v8>; 235fc543f53SCharles Keepax CPVDD-supply = <&vdd1v8>; 236fc543f53SCharles Keepax LDOVDD-supply = <&vdd1v8>; 237fc543f53SCharles Keepax SPKVDDL-supply = <&vdd5v>; 238fc543f53SCharles Keepax SPKVDDR-supply = <&vdd5v>; 239fc543f53SCharles Keepax 240fc543f53SCharles Keepax interrupts = <347>; 241fc543f53SCharles Keepax interrupt-controller; 242fc543f53SCharles Keepax #interrupt-cells = <2>; 243fc543f53SCharles Keepax interrupt-parent = <&gic>; 244fc543f53SCharles Keepax 245fc543f53SCharles Keepax gpio-controller; 246fc543f53SCharles Keepax #gpio-cells = <2>; 247fc543f53SCharles Keepax 248fc543f53SCharles Keepax #sound-dai-cells = <1>; 249fc543f53SCharles Keepax 250fc543f53SCharles Keepax wlf,gpio-defaults = < 251fc543f53SCharles Keepax ARIZONA_GP_FN_TXLRCLK 252fc543f53SCharles Keepax ARIZONA_GP_DEFAULT 253fc543f53SCharles Keepax ARIZONA_GP_DEFAULT 254fc543f53SCharles Keepax ARIZONA_GP_DEFAULT 255fc543f53SCharles Keepax ARIZONA_GP_DEFAULT 256fc543f53SCharles Keepax >; 257fc543f53SCharles Keepax 258fc543f53SCharles Keepax clocks = <&clks 0>, <&clks 1>; 259fc543f53SCharles Keepax clock-names = "mclk1", "mclk2"; 260fc543f53SCharles Keepax 261fc543f53SCharles Keepax wlf,inmode = <ARIZONA_INMODE_DIFF ARIZONA_INMODE_DMIC>; 262fc543f53SCharles Keepax wlf,dmic-ref = <ARIZONA_DMIC_MICBIAS1 ARIZONA_DMIC_MICBIAS3>; 263fc543f53SCharles Keepax 264fc543f53SCharles Keepax wlf,use-jd2; 265fc543f53SCharles Keepax wlf,use-jd2-nopull; 266fc543f53SCharles Keepax wlf,jd-invert; 267fc543f53SCharles Keepax 268fc543f53SCharles Keepax wlf,micd-software-compare; 269fc543f53SCharles Keepax wlf,micd-detect-debounce = <0>; 270fc543f53SCharles Keepax wlf,micd-pol-gpio = <&codec 2 0>; 271fc543f53SCharles Keepax wlf,micd-rate = <ARIZONA_MICD_TIME_8MS>; 272fc543f53SCharles Keepax wlf,micd-dbtime = <4>; 273fc543f53SCharles Keepax wlf,micd-timeout-ms = <100>; 274fc543f53SCharles Keepax wlf,micd-force-micbias; 275fc543f53SCharles Keepax wlf,micd-configs = <0 ARIZONA_DMIC_MICBIAS1 0>, 276fc543f53SCharles Keepax <0x2000 ARIZONA_DMIC_MICBIAS2 1>; 277fc543f53SCharles Keepax 278fc543f53SCharles Keepax wlf,gpsw = <ARIZONA_GPSW_OPEN>; 279fc543f53SCharles Keepax }; 280fc543f53SCharles Keepax }; 281