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