-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ASoC: dt-bindings: add dt bindings for WCD9340/WCD9341 audio codec
This patch adds bindings for wcd9340/wcd9341 audio codec which can support both SLIMbus and I2S/I2C interface. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20191219103153.14875-2-srinivas.kandagatla@linaro.org Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
- Loading branch information
Srinivas Kandagatla
authored and
Mark Brown
committed
Dec 25, 2019
1 parent
a82cf72
commit a6b7487
Showing
1 changed file
with
175 additions
and
0 deletions.
There are no files selected for viewing
175 changes: 175 additions & 0 deletions
175
Documentation/devicetree/bindings/sound/qcom,wcd934x.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,175 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/sound/qcom,wcd934x.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Bindings for Qualcomm WCD9340/WCD9341 Audio Codec | ||
|
||
maintainers: | ||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org> | ||
|
||
description: | | ||
Qualcomm WCD9340/WCD9341 Codec is a standalone Hi-Fi audio codec IC. | ||
It has in-built Soundwire controller, pin controller, interrupt mux and | ||
supports both I2S/I2C and SLIMbus audio interfaces. | ||
properties: | ||
compatible: | ||
const: slim217,250 | ||
|
||
reg: | ||
maxItems: 1 | ||
|
||
interrupts: | ||
maxItems: 1 | ||
|
||
reset-gpios: | ||
description: GPIO spec for reset line to use | ||
maxItems: 1 | ||
|
||
slim-ifc-dev: true | ||
|
||
clocks: | ||
maxItems: 1 | ||
|
||
clock-names: | ||
const: extclk | ||
|
||
vdd-buck-supply: | ||
description: A reference to the 1.8V buck supply | ||
|
||
vdd-buck-sido-supply: | ||
description: A reference to the 1.8V SIDO buck supply | ||
|
||
vdd-rx-supply: | ||
description: A reference to the 1.8V rx supply | ||
|
||
vdd-tx-supply: | ||
description: A reference to the 1.8V tx supply | ||
|
||
vdd-vbat-supply: | ||
description: A reference to the vbat supply | ||
|
||
vdd-io-supply: | ||
description: A reference to the 1.8V I/O supply | ||
|
||
vdd-micbias-supply: | ||
description: A reference to the micbias supply | ||
|
||
qcom,micbias1-microvolt: | ||
description: micbias1 voltage | ||
minimum: 1800000 | ||
maximum: 2850000 | ||
|
||
qcom,micbias2-microvolt: | ||
description: micbias2 voltage | ||
minimum: 1800000 | ||
maximum: 2850000 | ||
|
||
qcom,micbias3-microvolt: | ||
description: micbias3 voltage | ||
minimum: 1800000 | ||
maximum: 2850000 | ||
|
||
qcom,micbias4-microvolt: | ||
description: micbias4 voltage | ||
minimum: 1800000 | ||
maximum: 2850000 | ||
|
||
clock-output-names: | ||
const: mclk | ||
|
||
clock-frequency: | ||
description: Clock frequency of output clk in Hz | ||
|
||
interrupt-controller: true | ||
|
||
'#interrupt-cells': | ||
const: 1 | ||
|
||
'#clock-cells': | ||
const: 0 | ||
|
||
'#sound-dai-cells': | ||
const: 1 | ||
|
||
"#address-cells": | ||
const: 1 | ||
|
||
"#size-cells": | ||
const: 1 | ||
|
||
gpio@42: | ||
type: object | ||
allOf: | ||
- $ref: ../gpio/qcom,wcd934x-gpio.yaml# | ||
|
||
patternProperties: | ||
"^.*@[0-9a-f]+$": | ||
type: object | ||
description: | | ||
WCD934x subnode for each slave devices. Bindings of each subnodes | ||
depends on the specific driver providing the functionality and | ||
documented in their respective bindings. | ||
properties: | ||
reg: | ||
maxItems: 1 | ||
|
||
required: | ||
- reg | ||
|
||
required: | ||
- compatible | ||
- reg | ||
- reset-gpios | ||
- slim-ifc-dev | ||
- interrupts | ||
- interrupt-controller | ||
- clock-frequency | ||
- clock-output-names | ||
- qcom,micbias1-microvolt | ||
- qcom,micbias2-microvolt | ||
- qcom,micbias3-microvolt | ||
- qcom,micbias4-microvolt | ||
- "#interrupt-cells" | ||
- "#clock-cells" | ||
- "#sound-dai-cells" | ||
- "#address-cells" | ||
- "#size-cells" | ||
|
||
examples: | ||
- | | ||
codec@1,0{ | ||
compatible = "slim217,250"; | ||
reg = <1 0>; | ||
reset-gpios = <&tlmm 64 0>; | ||
slim-ifc-dev = <&wcd9340_ifd>; | ||
#sound-dai-cells = <1>; | ||
interrupt-parent = <&tlmm>; | ||
interrupts = <54 4>; | ||
interrupt-controller; | ||
#interrupt-cells = <1>; | ||
#clock-cells = <0>; | ||
clock-frequency = <9600000>; | ||
clock-output-names = "mclk"; | ||
qcom,micbias1-microvolt = <1800000>; | ||
qcom,micbias2-microvolt = <1800000>; | ||
qcom,micbias3-microvolt = <1800000>; | ||
qcom,micbias4-microvolt = <1800000>; | ||
clock-names = "extclk"; | ||
clocks = <&rpmhcc 2>; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
gpio@42 { | ||
compatible = "qcom,wcd9340-gpio"; | ||
reg = <0x42 0x2>; | ||
gpio-controller; | ||
#gpio-cells = <2>; | ||
}; | ||
}; | ||
... |