18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/mfd/wlf,arizona.yaml# 58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: Cirrus Logic/Wolfson Microelectronics Arizona class audio SoCs 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cimaintainers: 108c2ecf20Sopenharmony_ci - patches@opensource.cirrus.com 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_cidescription: | 138c2ecf20Sopenharmony_ci These devices are audio SoCs with extensive digital capabilities and a 148c2ecf20Sopenharmony_ci range of analogue I/O. 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ciallOf: 178c2ecf20Sopenharmony_ci - $ref: /schemas/sound/wlf,arizona.yaml# 188c2ecf20Sopenharmony_ci - $ref: /schemas/regulator/wlf,arizona.yaml# 198c2ecf20Sopenharmony_ci - $ref: /schemas/extcon/wlf,arizona.yaml# 208c2ecf20Sopenharmony_ci - if: 218c2ecf20Sopenharmony_ci properties: 228c2ecf20Sopenharmony_ci compatible: 238c2ecf20Sopenharmony_ci contains: 248c2ecf20Sopenharmony_ci enum: 258c2ecf20Sopenharmony_ci - cirrus,cs47l24 268c2ecf20Sopenharmony_ci - wlf,wm1831 278c2ecf20Sopenharmony_ci then: 288c2ecf20Sopenharmony_ci required: 298c2ecf20Sopenharmony_ci - DCVDD-supply 308c2ecf20Sopenharmony_ci - MICVDD-supply 318c2ecf20Sopenharmony_ci else: 328c2ecf20Sopenharmony_ci properties: 338c2ecf20Sopenharmony_ci LDOVDD-supply: 348c2ecf20Sopenharmony_ci description: 358c2ecf20Sopenharmony_ci Digital power supply, used internally to generate DCVDD when 368c2ecf20Sopenharmony_ci internally supplied. 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci - if: 398c2ecf20Sopenharmony_ci properties: 408c2ecf20Sopenharmony_ci compatible: 418c2ecf20Sopenharmony_ci contains: 428c2ecf20Sopenharmony_ci enum: 438c2ecf20Sopenharmony_ci - wlf,wm1814 448c2ecf20Sopenharmony_ci - wlf,wm5102 458c2ecf20Sopenharmony_ci - wlf,wm5110 468c2ecf20Sopenharmony_ci - wlf,wm8280 478c2ecf20Sopenharmony_ci - wlf,wm8997 488c2ecf20Sopenharmony_ci - wlf,wm8998 498c2ecf20Sopenharmony_ci then: 508c2ecf20Sopenharmony_ci properties: 518c2ecf20Sopenharmony_ci DBVDD2-supply: 528c2ecf20Sopenharmony_ci description: 538c2ecf20Sopenharmony_ci Databus power supply. 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci required: 568c2ecf20Sopenharmony_ci - DBVDD2-supply 578c2ecf20Sopenharmony_ci - if: 588c2ecf20Sopenharmony_ci properties: 598c2ecf20Sopenharmony_ci compatible: 608c2ecf20Sopenharmony_ci contains: 618c2ecf20Sopenharmony_ci enum: 628c2ecf20Sopenharmony_ci - wlf,wm1814 638c2ecf20Sopenharmony_ci - wlf,wm5102 648c2ecf20Sopenharmony_ci - wlf,wm5110 658c2ecf20Sopenharmony_ci - wlf,wm8280 668c2ecf20Sopenharmony_ci - wlf,wm8998 678c2ecf20Sopenharmony_ci then: 688c2ecf20Sopenharmony_ci properties: 698c2ecf20Sopenharmony_ci DBVDD3-supply: 708c2ecf20Sopenharmony_ci description: 718c2ecf20Sopenharmony_ci Databus power supply. 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ci required: 748c2ecf20Sopenharmony_ci - DBVDD3-supply 758c2ecf20Sopenharmony_ci - if: 768c2ecf20Sopenharmony_ci properties: 778c2ecf20Sopenharmony_ci compatible: 788c2ecf20Sopenharmony_ci contains: 798c2ecf20Sopenharmony_ci enum: 808c2ecf20Sopenharmony_ci - cirrus,cs47l24 818c2ecf20Sopenharmony_ci - wlf,wm1831 828c2ecf20Sopenharmony_ci - wlf,wm8997 838c2ecf20Sopenharmony_ci then: 848c2ecf20Sopenharmony_ci properties: 858c2ecf20Sopenharmony_ci SPKVDD-supply: 868c2ecf20Sopenharmony_ci description: 878c2ecf20Sopenharmony_ci Mono speaker driver power supply. 888c2ecf20Sopenharmony_ci 898c2ecf20Sopenharmony_ci required: 908c2ecf20Sopenharmony_ci - SPKVDD-supply 918c2ecf20Sopenharmony_ci else: 928c2ecf20Sopenharmony_ci properties: 938c2ecf20Sopenharmony_ci SPKVDDL-supply: 948c2ecf20Sopenharmony_ci description: 958c2ecf20Sopenharmony_ci Left speaker driver power supply. 968c2ecf20Sopenharmony_ci 978c2ecf20Sopenharmony_ci SPKVDDR-supply: 988c2ecf20Sopenharmony_ci description: 998c2ecf20Sopenharmony_ci Right speaker driver power supply. 1008c2ecf20Sopenharmony_ci 1018c2ecf20Sopenharmony_ci required: 1028c2ecf20Sopenharmony_ci - SPKVDDL-supply 1038c2ecf20Sopenharmony_ci - SPKVDDR-supply 1048c2ecf20Sopenharmony_ci 1058c2ecf20Sopenharmony_ciproperties: 1068c2ecf20Sopenharmony_ci compatible: 1078c2ecf20Sopenharmony_ci enum: 1088c2ecf20Sopenharmony_ci - cirrus,cs47l24 1098c2ecf20Sopenharmony_ci - wlf,wm1814 1108c2ecf20Sopenharmony_ci - wlf,wm1831 1118c2ecf20Sopenharmony_ci - wlf,wm5102 1128c2ecf20Sopenharmony_ci - wlf,wm5110 1138c2ecf20Sopenharmony_ci - wlf,wm8280 1148c2ecf20Sopenharmony_ci - wlf,wm8997 1158c2ecf20Sopenharmony_ci - wlf,wm8998 1168c2ecf20Sopenharmony_ci 1178c2ecf20Sopenharmony_ci reg: 1188c2ecf20Sopenharmony_ci maxItems: 1 1198c2ecf20Sopenharmony_ci 1208c2ecf20Sopenharmony_ci AVDD-supply: 1218c2ecf20Sopenharmony_ci description: 1228c2ecf20Sopenharmony_ci Analogue power supply. 1238c2ecf20Sopenharmony_ci 1248c2ecf20Sopenharmony_ci CPVDD-supply: 1258c2ecf20Sopenharmony_ci description: 1268c2ecf20Sopenharmony_ci Charge pump power supply. 1278c2ecf20Sopenharmony_ci 1288c2ecf20Sopenharmony_ci DBVDD1-supply: 1298c2ecf20Sopenharmony_ci description: 1308c2ecf20Sopenharmony_ci Databus power supply. 1318c2ecf20Sopenharmony_ci 1328c2ecf20Sopenharmony_ci DCVDD-supply: 1338c2ecf20Sopenharmony_ci description: 1348c2ecf20Sopenharmony_ci Digital power supply, normally supplied internally except on cs47l24, 1358c2ecf20Sopenharmony_ci wm1831 where it is mandatory. 1368c2ecf20Sopenharmony_ci 1378c2ecf20Sopenharmony_ci MICVDD-supply: 1388c2ecf20Sopenharmony_ci description: 1398c2ecf20Sopenharmony_ci Microphone power supply, normally supplied internally except on 1408c2ecf20Sopenharmony_ci cs47l24, wm1831 where it is mandatory. 1418c2ecf20Sopenharmony_ci 1428c2ecf20Sopenharmony_ci gpio-controller: true 1438c2ecf20Sopenharmony_ci 1448c2ecf20Sopenharmony_ci '#gpio-cells': 1458c2ecf20Sopenharmony_ci description: 1468c2ecf20Sopenharmony_ci The first cell is the pin number and the second cell is used to 1478c2ecf20Sopenharmony_ci specify optional parameters. 1488c2ecf20Sopenharmony_ci const: 2 1498c2ecf20Sopenharmony_ci 1508c2ecf20Sopenharmony_ci wlf,gpio-defaults: 1518c2ecf20Sopenharmony_ci description: 1528c2ecf20Sopenharmony_ci A list of GPIO configuration register values. Defines for the 1538c2ecf20Sopenharmony_ci appropriate values can found in dt-bindings/mfd/arizona.h. If 1548c2ecf20Sopenharmony_ci absent, no configuration of these registers is performed. If any 1558c2ecf20Sopenharmony_ci entry has a value that is out of range for a 16 bit register then the 1568c2ecf20Sopenharmony_ci chip default will be used. If present exactly five values must be 1578c2ecf20Sopenharmony_ci specified. 1588c2ecf20Sopenharmony_ci $ref: "/schemas/types.yaml#/definitions/uint32-array" 1598c2ecf20Sopenharmony_ci minItems: 1 1608c2ecf20Sopenharmony_ci maxItems: 5 1618c2ecf20Sopenharmony_ci 1628c2ecf20Sopenharmony_ci interrupt-controller: true 1638c2ecf20Sopenharmony_ci 1648c2ecf20Sopenharmony_ci '#interrupt-cells': 1658c2ecf20Sopenharmony_ci description: 1668c2ecf20Sopenharmony_ci The first cell is the IRQ number. The second cell is the flags, 1678c2ecf20Sopenharmony_ci encoded as trigger masks. 1688c2ecf20Sopenharmony_ci const: 2 1698c2ecf20Sopenharmony_ci 1708c2ecf20Sopenharmony_ci interrupts: 1718c2ecf20Sopenharmony_ci maxItems: 1 1728c2ecf20Sopenharmony_ci 1738c2ecf20Sopenharmony_ci clocks: 1748c2ecf20Sopenharmony_ci description: 1758c2ecf20Sopenharmony_ci Should reference the clocks supplied on MCLK1 and MCLK2. 1768c2ecf20Sopenharmony_ci minItems: 1 1778c2ecf20Sopenharmony_ci maxItems: 2 1788c2ecf20Sopenharmony_ci 1798c2ecf20Sopenharmony_ci clock-names: 1808c2ecf20Sopenharmony_ci description: 1818c2ecf20Sopenharmony_ci Should contains two strings mclk1 for the clock supplied on MCLK1, 1828c2ecf20Sopenharmony_ci recommended to be a high quality audio reference clock mclk2 for the 1838c2ecf20Sopenharmony_ci clock supplied on MCLK2, recommended to be an always on 32k clock. 1848c2ecf20Sopenharmony_ci oneOf: 1858c2ecf20Sopenharmony_ci - items: 1868c2ecf20Sopenharmony_ci - const: mclk1 1878c2ecf20Sopenharmony_ci - items: 1888c2ecf20Sopenharmony_ci - const: mclk2 1898c2ecf20Sopenharmony_ci - items: 1908c2ecf20Sopenharmony_ci - const: mclk1 1918c2ecf20Sopenharmony_ci - const: mclk2 1928c2ecf20Sopenharmony_ci 1938c2ecf20Sopenharmony_ci reset-gpios: 1948c2ecf20Sopenharmony_ci maxItems: 1 1958c2ecf20Sopenharmony_ci 1968c2ecf20Sopenharmony_ci wlf,reset: 1978c2ecf20Sopenharmony_ci description: 1988c2ecf20Sopenharmony_ci GPIO specifier for the GPIO controlling RESET 1998c2ecf20Sopenharmony_ci deprecated: true 2008c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/phandle-array 2018c2ecf20Sopenharmony_ci maxItems: 1 2028c2ecf20Sopenharmony_ci 2038c2ecf20Sopenharmony_cirequired: 2048c2ecf20Sopenharmony_ci - compatible 2058c2ecf20Sopenharmony_ci - AVDD-supply 2068c2ecf20Sopenharmony_ci - CPVDD-supply 2078c2ecf20Sopenharmony_ci - DBVDD1-supply 2088c2ecf20Sopenharmony_ci - gpio-controller 2098c2ecf20Sopenharmony_ci - '#gpio-cells' 2108c2ecf20Sopenharmony_ci - interrupt-controller 2118c2ecf20Sopenharmony_ci - '#interrupt-cells' 2128c2ecf20Sopenharmony_ci - interrupts 2138c2ecf20Sopenharmony_ci 2148c2ecf20Sopenharmony_ciunevaluatedProperties: false 2158c2ecf20Sopenharmony_ci 2168c2ecf20Sopenharmony_ciexamples: 2178c2ecf20Sopenharmony_ci - | 2188c2ecf20Sopenharmony_ci #include <dt-bindings/mfd/arizona.h> 2198c2ecf20Sopenharmony_ci i2c@e0004000 { 2208c2ecf20Sopenharmony_ci #address-cells = <1>; 2218c2ecf20Sopenharmony_ci #size-cells = <0>; 2228c2ecf20Sopenharmony_ci reg = <0xe0004000 0x1000>; 2238c2ecf20Sopenharmony_ci 2248c2ecf20Sopenharmony_ci wm5102: codec@1a { 2258c2ecf20Sopenharmony_ci compatible = "wlf,wm5102"; 2268c2ecf20Sopenharmony_ci reg = <0x1a>; 2278c2ecf20Sopenharmony_ci 2288c2ecf20Sopenharmony_ci reset-gpios = <&gpio 0>; 2298c2ecf20Sopenharmony_ci wlf,ldoena = <&gpio 1>; 2308c2ecf20Sopenharmony_ci 2318c2ecf20Sopenharmony_ci AVDD-supply = <&vdd1v8>; 2328c2ecf20Sopenharmony_ci DBVDD1-supply = <&vdd1v8>; 2338c2ecf20Sopenharmony_ci DBVDD2-supply = <&vdd1v8>; 2348c2ecf20Sopenharmony_ci DBVDD3-supply = <&vdd1v8>; 2358c2ecf20Sopenharmony_ci CPVDD-supply = <&vdd1v8>; 2368c2ecf20Sopenharmony_ci LDOVDD-supply = <&vdd1v8>; 2378c2ecf20Sopenharmony_ci SPKVDDL-supply = <&vdd5v>; 2388c2ecf20Sopenharmony_ci SPKVDDR-supply = <&vdd5v>; 2398c2ecf20Sopenharmony_ci 2408c2ecf20Sopenharmony_ci interrupts = <347>; 2418c2ecf20Sopenharmony_ci interrupt-controller; 2428c2ecf20Sopenharmony_ci #interrupt-cells = <2>; 2438c2ecf20Sopenharmony_ci interrupt-parent = <&gic>; 2448c2ecf20Sopenharmony_ci 2458c2ecf20Sopenharmony_ci gpio-controller; 2468c2ecf20Sopenharmony_ci #gpio-cells = <2>; 2478c2ecf20Sopenharmony_ci 2488c2ecf20Sopenharmony_ci #sound-dai-cells = <1>; 2498c2ecf20Sopenharmony_ci 2508c2ecf20Sopenharmony_ci wlf,gpio-defaults = < 2518c2ecf20Sopenharmony_ci ARIZONA_GP_FN_TXLRCLK 2528c2ecf20Sopenharmony_ci ARIZONA_GP_DEFAULT 2538c2ecf20Sopenharmony_ci ARIZONA_GP_DEFAULT 2548c2ecf20Sopenharmony_ci ARIZONA_GP_DEFAULT 2558c2ecf20Sopenharmony_ci ARIZONA_GP_DEFAULT 2568c2ecf20Sopenharmony_ci >; 2578c2ecf20Sopenharmony_ci 2588c2ecf20Sopenharmony_ci clocks = <&clks 0>, <&clks 1>; 2598c2ecf20Sopenharmony_ci clock-names = "mclk1", "mclk2"; 2608c2ecf20Sopenharmony_ci 2618c2ecf20Sopenharmony_ci wlf,inmode = <ARIZONA_INMODE_DIFF ARIZONA_INMODE_DMIC>; 2628c2ecf20Sopenharmony_ci wlf,dmic-ref = <ARIZONA_DMIC_MICBIAS1 ARIZONA_DMIC_MICBIAS3>; 2638c2ecf20Sopenharmony_ci 2648c2ecf20Sopenharmony_ci wlf,use-jd2; 2658c2ecf20Sopenharmony_ci wlf,use-jd2-nopull; 2668c2ecf20Sopenharmony_ci wlf,jd-invert; 2678c2ecf20Sopenharmony_ci 2688c2ecf20Sopenharmony_ci wlf,micd-software-compare; 2698c2ecf20Sopenharmony_ci wlf,micd-detect-debounce = <0>; 2708c2ecf20Sopenharmony_ci wlf,micd-pol-gpio = <&codec 2 0>; 2718c2ecf20Sopenharmony_ci wlf,micd-rate = <ARIZONA_MICD_TIME_8MS>; 2728c2ecf20Sopenharmony_ci wlf,micd-dbtime = <4>; 2738c2ecf20Sopenharmony_ci wlf,micd-timeout-ms = <100>; 2748c2ecf20Sopenharmony_ci wlf,micd-force-micbias; 2758c2ecf20Sopenharmony_ci wlf,micd-configs = <0 ARIZONA_DMIC_MICBIAS1 0>, 2768c2ecf20Sopenharmony_ci <0x2000 ARIZONA_DMIC_MICBIAS2 1>; 2778c2ecf20Sopenharmony_ci 2788c2ecf20Sopenharmony_ci wlf,gpsw = <ARIZONA_GPSW_OPEN>; 2798c2ecf20Sopenharmony_ci }; 2808c2ecf20Sopenharmony_ci }; 281