| # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: "http://devicetree.org/schemas/sound/wlf,wm8903.yaml#" |
| $schema: "http://devicetree.org/meta-schemas/core.yaml#" |
| |
| title: WM8903 audio codec |
| |
| description: | |
| This device supports I2C only. |
| Pins on the device (for linking into audio routes): |
| * IN1L |
| * IN1R |
| * IN2L |
| * IN2R |
| * IN3L |
| * IN3R |
| * DMICDAT |
| * HPOUTL |
| * HPOUTR |
| * LINEOUTL |
| * LINEOUTR |
| * LOP |
| * LON |
| * ROP |
| * RON |
| * MICBIAS |
| |
| maintainers: |
| - patches@opensource.cirrus.com |
| |
| properties: |
| compatible: |
| const: wlf,wm8903 |
| |
| reg: |
| maxItems: 1 |
| |
| gpio-controller: true |
| '#gpio-cells': |
| const: 2 |
| |
| interrupts: |
| maxItems: 1 |
| |
| micdet-cfg: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| default: 0 |
| description: Default register value for R6 (Mic Bias). |
| |
| micdet-delay: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| default: 100 |
| description: The debounce delay for microphone detection in mS. |
| |
| gpio-cfg: |
| $ref: /schemas/types.yaml#/definitions/uint32-array |
| description: | |
| minItems: 5 |
| maxItems: 5 |
| A list of GPIO configuration register values. |
| If absent, no configuration of these registers is performed. |
| If any entry has the value 0xffffffff, that GPIO's |
| configuration will not be modified. |
| |
| AVDD-supply: |
| description: Analog power supply regulator on the AVDD pin. |
| |
| CPVDD-supply: |
| description: Charge pump supply regulator on the CPVDD pin. |
| |
| DBVDD-supply: |
| description: Digital buffer supply regulator for the DBVDD pin. |
| |
| DCVDD-supply: |
| description: Digital core supply regulator for the DCVDD pin. |
| |
| |
| required: |
| - compatible |
| - reg |
| - gpio-controller |
| - '#gpio-cells' |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| i2c { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| wm8903: codec@1a { |
| compatible = "wlf,wm8903"; |
| reg = <0x1a>; |
| interrupts = <347>; |
| |
| AVDD-supply = <&fooreg_a>; |
| CPVDD-supply = <&fooreg_b>; |
| DBVDD-supply = <&fooreg_c>; |
| DCVDD-supply = <&fooreg_d>; |
| |
| gpio-controller; |
| #gpio-cells = <2>; |
| |
| micdet-cfg = <0>; |
| micdet-delay = <100>; |
| gpio-cfg = < |
| 0x0600 /* DMIC_LR, output */ |
| 0x0680 /* DMIC_DAT, input */ |
| 0x0000 /* GPIO, output, low */ |
| 0x0200 /* Interrupt, output */ |
| 0x01a0 /* BCLK, input, active high */ |
| >; |
| }; |
| }; |