162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/mfd/wlf,arizona.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Cirrus Logic/Wolfson Microelectronics Arizona class audio SoCs 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - patches@opensource.cirrus.com 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: | 1362306a36Sopenharmony_ci These devices are audio SoCs with extensive digital capabilities and a 1462306a36Sopenharmony_ci range of analogue I/O. 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciallOf: 1762306a36Sopenharmony_ci - $ref: /schemas/spi/spi-peripheral-props.yaml 1862306a36Sopenharmony_ci - $ref: /schemas/sound/wlf,arizona.yaml# 1962306a36Sopenharmony_ci - $ref: /schemas/regulator/wlf,arizona.yaml# 2062306a36Sopenharmony_ci - $ref: /schemas/extcon/wlf,arizona.yaml# 2162306a36Sopenharmony_ci - if: 2262306a36Sopenharmony_ci properties: 2362306a36Sopenharmony_ci compatible: 2462306a36Sopenharmony_ci contains: 2562306a36Sopenharmony_ci enum: 2662306a36Sopenharmony_ci - cirrus,cs47l24 2762306a36Sopenharmony_ci - wlf,wm1831 2862306a36Sopenharmony_ci then: 2962306a36Sopenharmony_ci required: 3062306a36Sopenharmony_ci - DCVDD-supply 3162306a36Sopenharmony_ci - MICVDD-supply 3262306a36Sopenharmony_ci else: 3362306a36Sopenharmony_ci properties: 3462306a36Sopenharmony_ci LDOVDD-supply: 3562306a36Sopenharmony_ci description: 3662306a36Sopenharmony_ci Digital power supply, used internally to generate DCVDD when 3762306a36Sopenharmony_ci internally supplied. 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci - if: 4062306a36Sopenharmony_ci properties: 4162306a36Sopenharmony_ci compatible: 4262306a36Sopenharmony_ci contains: 4362306a36Sopenharmony_ci enum: 4462306a36Sopenharmony_ci - wlf,wm1814 4562306a36Sopenharmony_ci - wlf,wm5102 4662306a36Sopenharmony_ci - wlf,wm5110 4762306a36Sopenharmony_ci - wlf,wm8280 4862306a36Sopenharmony_ci - wlf,wm8997 4962306a36Sopenharmony_ci - wlf,wm8998 5062306a36Sopenharmony_ci then: 5162306a36Sopenharmony_ci properties: 5262306a36Sopenharmony_ci DBVDD2-supply: 5362306a36Sopenharmony_ci description: 5462306a36Sopenharmony_ci Databus power supply. 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci required: 5762306a36Sopenharmony_ci - DBVDD2-supply 5862306a36Sopenharmony_ci - if: 5962306a36Sopenharmony_ci properties: 6062306a36Sopenharmony_ci compatible: 6162306a36Sopenharmony_ci contains: 6262306a36Sopenharmony_ci enum: 6362306a36Sopenharmony_ci - wlf,wm1814 6462306a36Sopenharmony_ci - wlf,wm5102 6562306a36Sopenharmony_ci - wlf,wm5110 6662306a36Sopenharmony_ci - wlf,wm8280 6762306a36Sopenharmony_ci - wlf,wm8998 6862306a36Sopenharmony_ci then: 6962306a36Sopenharmony_ci properties: 7062306a36Sopenharmony_ci DBVDD3-supply: 7162306a36Sopenharmony_ci description: 7262306a36Sopenharmony_ci Databus power supply. 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci required: 7562306a36Sopenharmony_ci - DBVDD3-supply 7662306a36Sopenharmony_ci - if: 7762306a36Sopenharmony_ci properties: 7862306a36Sopenharmony_ci compatible: 7962306a36Sopenharmony_ci contains: 8062306a36Sopenharmony_ci enum: 8162306a36Sopenharmony_ci - cirrus,cs47l24 8262306a36Sopenharmony_ci - wlf,wm1831 8362306a36Sopenharmony_ci - wlf,wm8997 8462306a36Sopenharmony_ci then: 8562306a36Sopenharmony_ci properties: 8662306a36Sopenharmony_ci SPKVDD-supply: 8762306a36Sopenharmony_ci description: 8862306a36Sopenharmony_ci Mono speaker driver power supply. 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci required: 9162306a36Sopenharmony_ci - SPKVDD-supply 9262306a36Sopenharmony_ci else: 9362306a36Sopenharmony_ci properties: 9462306a36Sopenharmony_ci SPKVDDL-supply: 9562306a36Sopenharmony_ci description: 9662306a36Sopenharmony_ci Left speaker driver power supply. 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ci SPKVDDR-supply: 9962306a36Sopenharmony_ci description: 10062306a36Sopenharmony_ci Right speaker driver power supply. 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci required: 10362306a36Sopenharmony_ci - SPKVDDL-supply 10462306a36Sopenharmony_ci - SPKVDDR-supply 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ciproperties: 10762306a36Sopenharmony_ci compatible: 10862306a36Sopenharmony_ci enum: 10962306a36Sopenharmony_ci - cirrus,cs47l24 11062306a36Sopenharmony_ci - wlf,wm1814 11162306a36Sopenharmony_ci - wlf,wm1831 11262306a36Sopenharmony_ci - wlf,wm5102 11362306a36Sopenharmony_ci - wlf,wm5110 11462306a36Sopenharmony_ci - wlf,wm8280 11562306a36Sopenharmony_ci - wlf,wm8997 11662306a36Sopenharmony_ci - wlf,wm8998 11762306a36Sopenharmony_ci 11862306a36Sopenharmony_ci reg: 11962306a36Sopenharmony_ci maxItems: 1 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ci AVDD-supply: 12262306a36Sopenharmony_ci description: 12362306a36Sopenharmony_ci Analogue power supply. 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ci CPVDD-supply: 12662306a36Sopenharmony_ci description: 12762306a36Sopenharmony_ci Charge pump power supply. 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ci DBVDD1-supply: 13062306a36Sopenharmony_ci description: 13162306a36Sopenharmony_ci Databus power supply. 13262306a36Sopenharmony_ci 13362306a36Sopenharmony_ci DCVDD-supply: 13462306a36Sopenharmony_ci description: 13562306a36Sopenharmony_ci Digital power supply, normally supplied internally except on cs47l24, 13662306a36Sopenharmony_ci wm1831 where it is mandatory. 13762306a36Sopenharmony_ci 13862306a36Sopenharmony_ci MICVDD-supply: 13962306a36Sopenharmony_ci description: 14062306a36Sopenharmony_ci Microphone power supply, normally supplied internally except on 14162306a36Sopenharmony_ci cs47l24, wm1831 where it is mandatory. 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ci gpio-controller: true 14462306a36Sopenharmony_ci 14562306a36Sopenharmony_ci '#gpio-cells': 14662306a36Sopenharmony_ci description: 14762306a36Sopenharmony_ci The first cell is the pin number and the second cell is used to 14862306a36Sopenharmony_ci specify optional parameters. 14962306a36Sopenharmony_ci const: 2 15062306a36Sopenharmony_ci 15162306a36Sopenharmony_ci wlf,gpio-defaults: 15262306a36Sopenharmony_ci description: 15362306a36Sopenharmony_ci A list of GPIO configuration register values. Defines for the 15462306a36Sopenharmony_ci appropriate values can found in dt-bindings/mfd/arizona.h. If 15562306a36Sopenharmony_ci absent, no configuration of these registers is performed. If any 15662306a36Sopenharmony_ci entry has a value that is out of range for a 16 bit register then the 15762306a36Sopenharmony_ci chip default will be used. If present exactly five values must be 15862306a36Sopenharmony_ci specified. 15962306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 16062306a36Sopenharmony_ci minItems: 1 16162306a36Sopenharmony_ci maxItems: 5 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ci interrupt-controller: true 16462306a36Sopenharmony_ci 16562306a36Sopenharmony_ci '#interrupt-cells': 16662306a36Sopenharmony_ci description: 16762306a36Sopenharmony_ci The first cell is the IRQ number. The second cell is the flags, 16862306a36Sopenharmony_ci encoded as trigger masks. 16962306a36Sopenharmony_ci const: 2 17062306a36Sopenharmony_ci 17162306a36Sopenharmony_ci interrupts: 17262306a36Sopenharmony_ci maxItems: 1 17362306a36Sopenharmony_ci 17462306a36Sopenharmony_ci clocks: 17562306a36Sopenharmony_ci description: 17662306a36Sopenharmony_ci Should reference the clocks supplied on MCLK1 and MCLK2. 17762306a36Sopenharmony_ci minItems: 1 17862306a36Sopenharmony_ci maxItems: 2 17962306a36Sopenharmony_ci 18062306a36Sopenharmony_ci clock-names: 18162306a36Sopenharmony_ci description: 18262306a36Sopenharmony_ci Should contains two strings mclk1 for the clock supplied on MCLK1, 18362306a36Sopenharmony_ci recommended to be a high quality audio reference clock mclk2 for the 18462306a36Sopenharmony_ci clock supplied on MCLK2, recommended to be an always on 32k clock. 18562306a36Sopenharmony_ci oneOf: 18662306a36Sopenharmony_ci - items: 18762306a36Sopenharmony_ci - const: mclk1 18862306a36Sopenharmony_ci - items: 18962306a36Sopenharmony_ci - const: mclk2 19062306a36Sopenharmony_ci - items: 19162306a36Sopenharmony_ci - const: mclk1 19262306a36Sopenharmony_ci - const: mclk2 19362306a36Sopenharmony_ci 19462306a36Sopenharmony_ci reset-gpios: 19562306a36Sopenharmony_ci maxItems: 1 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ci wlf,reset: 19862306a36Sopenharmony_ci description: 19962306a36Sopenharmony_ci GPIO specifier for the GPIO controlling RESET 20062306a36Sopenharmony_ci deprecated: true 20162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/phandle-array 20262306a36Sopenharmony_ci maxItems: 1 20362306a36Sopenharmony_ci 20462306a36Sopenharmony_cirequired: 20562306a36Sopenharmony_ci - compatible 20662306a36Sopenharmony_ci - AVDD-supply 20762306a36Sopenharmony_ci - CPVDD-supply 20862306a36Sopenharmony_ci - DBVDD1-supply 20962306a36Sopenharmony_ci - gpio-controller 21062306a36Sopenharmony_ci - '#gpio-cells' 21162306a36Sopenharmony_ci - interrupt-controller 21262306a36Sopenharmony_ci - '#interrupt-cells' 21362306a36Sopenharmony_ci - interrupts 21462306a36Sopenharmony_ci 21562306a36Sopenharmony_ciunevaluatedProperties: false 21662306a36Sopenharmony_ci 21762306a36Sopenharmony_ciexamples: 21862306a36Sopenharmony_ci - | 21962306a36Sopenharmony_ci #include <dt-bindings/mfd/arizona.h> 22062306a36Sopenharmony_ci i2c@e0004000 { 22162306a36Sopenharmony_ci #address-cells = <1>; 22262306a36Sopenharmony_ci #size-cells = <0>; 22362306a36Sopenharmony_ci reg = <0xe0004000 0x1000>; 22462306a36Sopenharmony_ci 22562306a36Sopenharmony_ci wm5102: codec@1a { 22662306a36Sopenharmony_ci compatible = "wlf,wm5102"; 22762306a36Sopenharmony_ci reg = <0x1a>; 22862306a36Sopenharmony_ci 22962306a36Sopenharmony_ci reset-gpios = <&gpio 0>; 23062306a36Sopenharmony_ci wlf,ldoena = <&gpio 1>; 23162306a36Sopenharmony_ci 23262306a36Sopenharmony_ci AVDD-supply = <&vdd1v8>; 23362306a36Sopenharmony_ci DBVDD1-supply = <&vdd1v8>; 23462306a36Sopenharmony_ci DBVDD2-supply = <&vdd1v8>; 23562306a36Sopenharmony_ci DBVDD3-supply = <&vdd1v8>; 23662306a36Sopenharmony_ci CPVDD-supply = <&vdd1v8>; 23762306a36Sopenharmony_ci LDOVDD-supply = <&vdd1v8>; 23862306a36Sopenharmony_ci SPKVDDL-supply = <&vdd5v>; 23962306a36Sopenharmony_ci SPKVDDR-supply = <&vdd5v>; 24062306a36Sopenharmony_ci 24162306a36Sopenharmony_ci interrupts = <347>; 24262306a36Sopenharmony_ci interrupt-controller; 24362306a36Sopenharmony_ci #interrupt-cells = <2>; 24462306a36Sopenharmony_ci interrupt-parent = <&gic>; 24562306a36Sopenharmony_ci 24662306a36Sopenharmony_ci gpio-controller; 24762306a36Sopenharmony_ci #gpio-cells = <2>; 24862306a36Sopenharmony_ci 24962306a36Sopenharmony_ci #sound-dai-cells = <1>; 25062306a36Sopenharmony_ci 25162306a36Sopenharmony_ci wlf,gpio-defaults = < 25262306a36Sopenharmony_ci ARIZONA_GP_FN_TXLRCLK 25362306a36Sopenharmony_ci ARIZONA_GP_DEFAULT 25462306a36Sopenharmony_ci ARIZONA_GP_DEFAULT 25562306a36Sopenharmony_ci ARIZONA_GP_DEFAULT 25662306a36Sopenharmony_ci ARIZONA_GP_DEFAULT 25762306a36Sopenharmony_ci >; 25862306a36Sopenharmony_ci 25962306a36Sopenharmony_ci clocks = <&clks 0>, <&clks 1>; 26062306a36Sopenharmony_ci clock-names = "mclk1", "mclk2"; 26162306a36Sopenharmony_ci 26262306a36Sopenharmony_ci wlf,inmode = <ARIZONA_INMODE_DIFF ARIZONA_INMODE_DMIC>; 26362306a36Sopenharmony_ci wlf,dmic-ref = <ARIZONA_DMIC_MICBIAS1 ARIZONA_DMIC_MICBIAS3>; 26462306a36Sopenharmony_ci 26562306a36Sopenharmony_ci wlf,use-jd2; 26662306a36Sopenharmony_ci wlf,use-jd2-nopull; 26762306a36Sopenharmony_ci wlf,jd-invert; 26862306a36Sopenharmony_ci 26962306a36Sopenharmony_ci wlf,micd-software-compare; 27062306a36Sopenharmony_ci wlf,micd-detect-debounce = <0>; 27162306a36Sopenharmony_ci wlf,micd-pol-gpio = <&codec 2 0>; 27262306a36Sopenharmony_ci wlf,micd-rate = <ARIZONA_MICD_TIME_8MS>; 27362306a36Sopenharmony_ci wlf,micd-dbtime = <4>; 27462306a36Sopenharmony_ci wlf,micd-timeout-ms = <100>; 27562306a36Sopenharmony_ci wlf,micd-force-micbias; 27662306a36Sopenharmony_ci wlf,micd-configs = <0 ARIZONA_DMIC_MICBIAS1 0>, 27762306a36Sopenharmony_ci <0x2000 ARIZONA_DMIC_MICBIAS2 1>; 27862306a36Sopenharmony_ci 27962306a36Sopenharmony_ci wlf,gpsw = <ARIZONA_GPSW_OPEN>; 28062306a36Sopenharmony_ci }; 28162306a36Sopenharmony_ci }; 282