1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: "http://devicetree.org/schemas/sound/wlf,wm8903.yaml#" 5$schema: "http://devicetree.org/meta-schemas/core.yaml#" 6 7title: WM8903 audio codec 8 9description: | 10 This device supports I2C only. 11 Pins on the device (for linking into audio routes): 12 * IN1L 13 * IN1R 14 * IN2L 15 * IN2R 16 * IN3L 17 * IN3R 18 * DMICDAT 19 * HPOUTL 20 * HPOUTR 21 * LINEOUTL 22 * LINEOUTR 23 * LOP 24 * LON 25 * ROP 26 * RON 27 * MICBIAS 28 29maintainers: 30 - patches@opensource.cirrus.com 31 32properties: 33 compatible: 34 const: wlf,wm8903 35 36 reg: 37 maxItems: 1 38 39 gpio-controller: true 40 '#gpio-cells': 41 const: 2 42 43 interrupts: 44 maxItems: 1 45 46 micdet-cfg: 47 $ref: /schemas/types.yaml#/definitions/uint32 48 default: 0 49 description: Default register value for R6 (Mic Bias). 50 51 micdet-delay: 52 $ref: /schemas/types.yaml#/definitions/uint32 53 default: 100 54 description: The debounce delay for microphone detection in mS. 55 56 gpio-cfg: 57 $ref: /schemas/types.yaml#/definitions/uint32-array 58 description: | 59 minItems: 5 60 maxItems: 5 61 A list of GPIO configuration register values. 62 If absent, no configuration of these registers is performed. 63 If any entry has the value 0xffffffff, that GPIO's 64 configuration will not be modified. 65 66 AVDD-supply: 67 description: Analog power supply regulator on the AVDD pin. 68 69 CPVDD-supply: 70 description: Charge pump supply regulator on the CPVDD pin. 71 72 DBVDD-supply: 73 description: Digital buffer supply regulator for the DBVDD pin. 74 75 DCVDD-supply: 76 description: Digital core supply regulator for the DCVDD pin. 77 78 79required: 80 - compatible 81 - reg 82 - gpio-controller 83 - '#gpio-cells' 84 85additionalProperties: false 86 87examples: 88 - | 89 i2c { 90 #address-cells = <1>; 91 #size-cells = <0>; 92 93 wm8903: codec@1a { 94 compatible = "wlf,wm8903"; 95 reg = <0x1a>; 96 interrupts = <347>; 97 98 AVDD-supply = <&fooreg_a>; 99 CPVDD-supply = <&fooreg_b>; 100 DBVDD-supply = <&fooreg_c>; 101 DCVDD-supply = <&fooreg_d>; 102 103 gpio-controller; 104 #gpio-cells = <2>; 105 106 micdet-cfg = <0>; 107 micdet-delay = <100>; 108 gpio-cfg = < 109 0x0600 /* DMIC_LR, output */ 110 0x0680 /* DMIC_DAT, input */ 111 0x0000 /* GPIO, output, low */ 112 0x0200 /* Interrupt, output */ 113 0x01a0 /* BCLK, input, active high */ 114 >; 115 }; 116 }; 117