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