2023-08-30 17:31:07 +02:00
|
|
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
|
|
%YAML 1.2
|
|
|
|
---
|
2023-10-24 12:59:35 +02:00
|
|
|
$id: http://devicetree.org/schemas/sound/wlf,wm8903.yaml#
|
|
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
2023-08-30 17:31:07 +02:00
|
|
|
|
|
|
|
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 */
|
|
|
|
>;
|
|
|
|
};
|
|
|
|
};
|