195 lines
4.3 KiB
YAML
195 lines
4.3 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/sound/wlf,wm8994.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Wolfson WM1811/WM8994/WM8958 audio codecs
|
|
|
|
maintainers:
|
|
- Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
|
- patches@opensource.cirrus.com
|
|
|
|
description: |
|
|
These devices support both I2C and SPI (configured with pin strapping on the
|
|
board).
|
|
|
|
Pins on the device (for linking into audio routes):
|
|
IN1LN, IN1LP, IN2LN, IN2LP:VXRN, IN1RN, IN1RP, IN2RN, IN2RP:VXRP, SPKOUTLP,
|
|
SPKOUTLN, SPKOUTRP, SPKOUTRN, HPOUT1L, HPOUT1R, HPOUT2P, HPOUT2N, LINEOUT1P,
|
|
LINEOUT1N, LINEOUT2P, LINEOUT2N.
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- wlf,wm1811
|
|
- wlf,wm8994
|
|
- wlf,wm8958
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
minItems: 1
|
|
maxItems: 2
|
|
|
|
clock-names:
|
|
minItems: 1
|
|
items:
|
|
- const: MCLK1
|
|
- const: MCLK2
|
|
|
|
gpio-controller: true
|
|
|
|
'#gpio-cells':
|
|
const: 2
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
interrupt-controller: true
|
|
|
|
'#interrupt-cells':
|
|
const: 2
|
|
description:
|
|
The first cell is the IRQ number. The second cell is the flags, encoded
|
|
as the trigger masks.
|
|
|
|
AVDD1-supply: true
|
|
AVDD2-supply: true
|
|
CPVDD-supply: true
|
|
DBVDD-supply: true
|
|
DBVDD1-supply: true
|
|
DBVDD2-supply: true
|
|
DBVDD3-supply: true
|
|
DCVDD-supply: true
|
|
LDO1VDD-supply: true
|
|
LDO2VDD-supply: true
|
|
SPKVDD1-supply: true
|
|
SPKVDD2-supply: true
|
|
|
|
'#sound-dai-cells':
|
|
const: 0
|
|
|
|
wlf,gpio-cfg:
|
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
|
maxItems: 11
|
|
description:
|
|
A list of GPIO configuration register values. If absent, no configuration
|
|
of these registers is performed. If any value is over 0xffff then the
|
|
register will be left as default. If present 11 values must be supplied.
|
|
|
|
wlf,micbias-cfg:
|
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
|
maxItems: 2
|
|
description:
|
|
Two MICBIAS register values for WM1811 or WM8958. If absent the register
|
|
defaults will be used.
|
|
|
|
wlf,ldo1ena-gpios:
|
|
maxItems: 1
|
|
description:
|
|
Control of LDO1ENA input to device.
|
|
|
|
wlf,ldo2ena-gpios:
|
|
maxItems: 1
|
|
description:
|
|
Control of LDO2ENA input to device.
|
|
|
|
wlf,lineout1-se:
|
|
type: boolean
|
|
description:
|
|
LINEOUT1 is in single ended mode.
|
|
|
|
wlf,lineout2-se:
|
|
type: boolean
|
|
description:
|
|
INEOUT2 is in single ended mode.
|
|
|
|
wlf,lineout1-feedback:
|
|
type: boolean
|
|
description:
|
|
LINEOUT1 has common mode feedback connected.
|
|
|
|
wlf,lineout2-feedback:
|
|
type: boolean
|
|
description:
|
|
LINEOUT2 has common mode feedback connected.
|
|
|
|
wlf,ldoena-always-driven:
|
|
type: boolean
|
|
description:
|
|
LDOENA is always driven.
|
|
|
|
wlf,spkmode-pu:
|
|
type: boolean
|
|
description:
|
|
Enable the internal pull-up resistor on the SPKMODE pin.
|
|
|
|
wlf,csnaddr-pd:
|
|
type: boolean
|
|
description:
|
|
Enable the internal pull-down resistor on the CS/ADDR pin.
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- AVDD2-supply
|
|
- CPVDD-supply
|
|
- SPKVDD1-supply
|
|
- SPKVDD2-supply
|
|
|
|
allOf:
|
|
- $ref: dai-common.yaml#
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- wlf,wm1811
|
|
- wlf,wm8958
|
|
then:
|
|
properties:
|
|
DBVDD-supply: false
|
|
LDO2VDD-supply: false
|
|
required:
|
|
- DBVDD1-supply
|
|
- DBVDD2-supply
|
|
- DBVDD3-supply
|
|
else:
|
|
properties:
|
|
DBVDD1-supply: false
|
|
DBVDD2-supply: false
|
|
DBVDD3-supply: false
|
|
required:
|
|
- DBVDD-supply
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
audio-codec@1a {
|
|
compatible = "wlf,wm1811";
|
|
reg = <0x1a>;
|
|
clocks = <&i2s0 0>;
|
|
clock-names = "MCLK1";
|
|
|
|
AVDD2-supply = <&main_dc_reg>;
|
|
CPVDD-supply = <&main_dc_reg>;
|
|
DBVDD1-supply = <&main_dc_reg>;
|
|
DBVDD2-supply = <&main_dc_reg>;
|
|
DBVDD3-supply = <&main_dc_reg>;
|
|
LDO1VDD-supply = <&main_dc_reg>;
|
|
SPKVDD1-supply = <&main_dc_reg>;
|
|
SPKVDD2-supply = <&main_dc_reg>;
|
|
|
|
wlf,ldo1ena-gpios = <&gpb0 0 GPIO_ACTIVE_HIGH>;
|
|
wlf,ldo2ena-gpios = <&gpb0 1 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
};
|