162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/sound/wlf,wm8903.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: WM8903 audio codec 862306a36Sopenharmony_ci 962306a36Sopenharmony_cidescription: | 1062306a36Sopenharmony_ci This device supports I2C only. 1162306a36Sopenharmony_ci Pins on the device (for linking into audio routes): 1262306a36Sopenharmony_ci * IN1L 1362306a36Sopenharmony_ci * IN1R 1462306a36Sopenharmony_ci * IN2L 1562306a36Sopenharmony_ci * IN2R 1662306a36Sopenharmony_ci * IN3L 1762306a36Sopenharmony_ci * IN3R 1862306a36Sopenharmony_ci * DMICDAT 1962306a36Sopenharmony_ci * HPOUTL 2062306a36Sopenharmony_ci * HPOUTR 2162306a36Sopenharmony_ci * LINEOUTL 2262306a36Sopenharmony_ci * LINEOUTR 2362306a36Sopenharmony_ci * LOP 2462306a36Sopenharmony_ci * LON 2562306a36Sopenharmony_ci * ROP 2662306a36Sopenharmony_ci * RON 2762306a36Sopenharmony_ci * MICBIAS 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_cimaintainers: 3062306a36Sopenharmony_ci - patches@opensource.cirrus.com 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ciproperties: 3362306a36Sopenharmony_ci compatible: 3462306a36Sopenharmony_ci const: wlf,wm8903 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci reg: 3762306a36Sopenharmony_ci maxItems: 1 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci gpio-controller: true 4062306a36Sopenharmony_ci '#gpio-cells': 4162306a36Sopenharmony_ci const: 2 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci interrupts: 4462306a36Sopenharmony_ci maxItems: 1 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci micdet-cfg: 4762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 4862306a36Sopenharmony_ci default: 0 4962306a36Sopenharmony_ci description: Default register value for R6 (Mic Bias). 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci micdet-delay: 5262306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 5362306a36Sopenharmony_ci default: 100 5462306a36Sopenharmony_ci description: The debounce delay for microphone detection in mS. 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci gpio-cfg: 5762306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 5862306a36Sopenharmony_ci description: | 5962306a36Sopenharmony_ci minItems: 5 6062306a36Sopenharmony_ci maxItems: 5 6162306a36Sopenharmony_ci A list of GPIO configuration register values. 6262306a36Sopenharmony_ci If absent, no configuration of these registers is performed. 6362306a36Sopenharmony_ci If any entry has the value 0xffffffff, that GPIO's 6462306a36Sopenharmony_ci configuration will not be modified. 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci AVDD-supply: 6762306a36Sopenharmony_ci description: Analog power supply regulator on the AVDD pin. 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci CPVDD-supply: 7062306a36Sopenharmony_ci description: Charge pump supply regulator on the CPVDD pin. 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci DBVDD-supply: 7362306a36Sopenharmony_ci description: Digital buffer supply regulator for the DBVDD pin. 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci DCVDD-supply: 7662306a36Sopenharmony_ci description: Digital core supply regulator for the DCVDD pin. 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_cirequired: 8062306a36Sopenharmony_ci - compatible 8162306a36Sopenharmony_ci - reg 8262306a36Sopenharmony_ci - gpio-controller 8362306a36Sopenharmony_ci - '#gpio-cells' 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ciadditionalProperties: false 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ciexamples: 8862306a36Sopenharmony_ci - | 8962306a36Sopenharmony_ci i2c { 9062306a36Sopenharmony_ci #address-cells = <1>; 9162306a36Sopenharmony_ci #size-cells = <0>; 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ci wm8903: codec@1a { 9462306a36Sopenharmony_ci compatible = "wlf,wm8903"; 9562306a36Sopenharmony_ci reg = <0x1a>; 9662306a36Sopenharmony_ci interrupts = <347>; 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ci AVDD-supply = <&fooreg_a>; 9962306a36Sopenharmony_ci CPVDD-supply = <&fooreg_b>; 10062306a36Sopenharmony_ci DBVDD-supply = <&fooreg_c>; 10162306a36Sopenharmony_ci DCVDD-supply = <&fooreg_d>; 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci gpio-controller; 10462306a36Sopenharmony_ci #gpio-cells = <2>; 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ci micdet-cfg = <0>; 10762306a36Sopenharmony_ci micdet-delay = <100>; 10862306a36Sopenharmony_ci gpio-cfg = < 10962306a36Sopenharmony_ci 0x0600 /* DMIC_LR, output */ 11062306a36Sopenharmony_ci 0x0680 /* DMIC_DAT, input */ 11162306a36Sopenharmony_ci 0x0000 /* GPIO, output, low */ 11262306a36Sopenharmony_ci 0x0200 /* Interrupt, output */ 11362306a36Sopenharmony_ci 0x01a0 /* BCLK, input, active high */ 11462306a36Sopenharmony_ci >; 11562306a36Sopenharmony_ci }; 11662306a36Sopenharmony_ci }; 117