15ecc573dSDavid Heidelberg# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 25ecc573dSDavid Heidelberg%YAML 1.2 35ecc573dSDavid Heidelberg--- 4*e09eb6acSRob Herring$id: http://devicetree.org/schemas/sound/wlf,wm8903.yaml# 5*e09eb6acSRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml# 65ecc573dSDavid Heidelberg 75ecc573dSDavid Heidelbergtitle: WM8903 audio codec 85ecc573dSDavid Heidelberg 95ecc573dSDavid Heidelbergdescription: | 105ecc573dSDavid Heidelberg This device supports I2C only. 115ecc573dSDavid Heidelberg Pins on the device (for linking into audio routes): 125ecc573dSDavid Heidelberg * IN1L 135ecc573dSDavid Heidelberg * IN1R 145ecc573dSDavid Heidelberg * IN2L 155ecc573dSDavid Heidelberg * IN2R 165ecc573dSDavid Heidelberg * IN3L 175ecc573dSDavid Heidelberg * IN3R 185ecc573dSDavid Heidelberg * DMICDAT 195ecc573dSDavid Heidelberg * HPOUTL 205ecc573dSDavid Heidelberg * HPOUTR 215ecc573dSDavid Heidelberg * LINEOUTL 225ecc573dSDavid Heidelberg * LINEOUTR 235ecc573dSDavid Heidelberg * LOP 245ecc573dSDavid Heidelberg * LON 255ecc573dSDavid Heidelberg * ROP 265ecc573dSDavid Heidelberg * RON 275ecc573dSDavid Heidelberg * MICBIAS 285ecc573dSDavid Heidelberg 295ecc573dSDavid Heidelbergmaintainers: 305ecc573dSDavid Heidelberg - patches@opensource.cirrus.com 315ecc573dSDavid Heidelberg 325ecc573dSDavid Heidelbergproperties: 335ecc573dSDavid Heidelberg compatible: 345ecc573dSDavid Heidelberg const: wlf,wm8903 355ecc573dSDavid Heidelberg 365ecc573dSDavid Heidelberg reg: 375ecc573dSDavid Heidelberg maxItems: 1 385ecc573dSDavid Heidelberg 395ecc573dSDavid Heidelberg gpio-controller: true 405ecc573dSDavid Heidelberg '#gpio-cells': 415ecc573dSDavid Heidelberg const: 2 425ecc573dSDavid Heidelberg 435ecc573dSDavid Heidelberg interrupts: 445ecc573dSDavid Heidelberg maxItems: 1 455ecc573dSDavid Heidelberg 465ecc573dSDavid Heidelberg micdet-cfg: 475ecc573dSDavid Heidelberg $ref: /schemas/types.yaml#/definitions/uint32 485ecc573dSDavid Heidelberg default: 0 495ecc573dSDavid Heidelberg description: Default register value for R6 (Mic Bias). 505ecc573dSDavid Heidelberg 515ecc573dSDavid Heidelberg micdet-delay: 525ecc573dSDavid Heidelberg $ref: /schemas/types.yaml#/definitions/uint32 535ecc573dSDavid Heidelberg default: 100 545ecc573dSDavid Heidelberg description: The debounce delay for microphone detection in mS. 555ecc573dSDavid Heidelberg 565ecc573dSDavid Heidelberg gpio-cfg: 575ecc573dSDavid Heidelberg $ref: /schemas/types.yaml#/definitions/uint32-array 585ecc573dSDavid Heidelberg description: | 595ecc573dSDavid Heidelberg minItems: 5 605ecc573dSDavid Heidelberg maxItems: 5 615ecc573dSDavid Heidelberg A list of GPIO configuration register values. 625ecc573dSDavid Heidelberg If absent, no configuration of these registers is performed. 635ecc573dSDavid Heidelberg If any entry has the value 0xffffffff, that GPIO's 645ecc573dSDavid Heidelberg configuration will not be modified. 655ecc573dSDavid Heidelberg 665ecc573dSDavid Heidelberg AVDD-supply: 675ecc573dSDavid Heidelberg description: Analog power supply regulator on the AVDD pin. 685ecc573dSDavid Heidelberg 695ecc573dSDavid Heidelberg CPVDD-supply: 705ecc573dSDavid Heidelberg description: Charge pump supply regulator on the CPVDD pin. 715ecc573dSDavid Heidelberg 725ecc573dSDavid Heidelberg DBVDD-supply: 735ecc573dSDavid Heidelberg description: Digital buffer supply regulator for the DBVDD pin. 745ecc573dSDavid Heidelberg 755ecc573dSDavid Heidelberg DCVDD-supply: 765ecc573dSDavid Heidelberg description: Digital core supply regulator for the DCVDD pin. 775ecc573dSDavid Heidelberg 785ecc573dSDavid Heidelberg 795ecc573dSDavid Heidelbergrequired: 805ecc573dSDavid Heidelberg - compatible 815ecc573dSDavid Heidelberg - reg 825ecc573dSDavid Heidelberg - gpio-controller 835ecc573dSDavid Heidelberg - '#gpio-cells' 845ecc573dSDavid Heidelberg 855ecc573dSDavid HeidelbergadditionalProperties: false 865ecc573dSDavid Heidelberg 875ecc573dSDavid Heidelbergexamples: 885ecc573dSDavid Heidelberg - | 895ecc573dSDavid Heidelberg i2c { 905ecc573dSDavid Heidelberg #address-cells = <1>; 915ecc573dSDavid Heidelberg #size-cells = <0>; 925ecc573dSDavid Heidelberg 935ecc573dSDavid Heidelberg wm8903: codec@1a { 945ecc573dSDavid Heidelberg compatible = "wlf,wm8903"; 955ecc573dSDavid Heidelberg reg = <0x1a>; 965ecc573dSDavid Heidelberg interrupts = <347>; 975ecc573dSDavid Heidelberg 985ecc573dSDavid Heidelberg AVDD-supply = <&fooreg_a>; 995ecc573dSDavid Heidelberg CPVDD-supply = <&fooreg_b>; 1005ecc573dSDavid Heidelberg DBVDD-supply = <&fooreg_c>; 1015ecc573dSDavid Heidelberg DCVDD-supply = <&fooreg_d>; 1025ecc573dSDavid Heidelberg 1035ecc573dSDavid Heidelberg gpio-controller; 1045ecc573dSDavid Heidelberg #gpio-cells = <2>; 1055ecc573dSDavid Heidelberg 1065ecc573dSDavid Heidelberg micdet-cfg = <0>; 1075ecc573dSDavid Heidelberg micdet-delay = <100>; 1085ecc573dSDavid Heidelberg gpio-cfg = < 1095ecc573dSDavid Heidelberg 0x0600 /* DMIC_LR, output */ 1105ecc573dSDavid Heidelberg 0x0680 /* DMIC_DAT, input */ 1115ecc573dSDavid Heidelberg 0x0000 /* GPIO, output, low */ 1125ecc573dSDavid Heidelberg 0x0200 /* Interrupt, output */ 1135ecc573dSDavid Heidelberg 0x01a0 /* BCLK, input, active high */ 1145ecc573dSDavid Heidelberg >; 1155ecc573dSDavid Heidelberg }; 1165ecc573dSDavid Heidelberg }; 117