mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-27 12:57:53 +00:00
ASoC: dt-bindings: qcom,wcd9335: Convert to dtschema
Convert the Qualcomm WCD9335 audio codec binding to DT schema. Changes against original binding: 1. Drop "mclk2" from clocks as neither Linux driver nor DTS uses it. 2. Do not require vdd-micbias-supply as several DTS do not provide it. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20230220095643.64898-2-krzysztof.kozlowski@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
0106ba2476
commit
631b8a8bb4
2 changed files with 156 additions and 123 deletions
|
@ -1,123 +0,0 @@
|
|||
QCOM WCD9335 Codec
|
||||
|
||||
Qualcomm WCD9335 Codec is a standalone Hi-Fi audio codec IC, supports
|
||||
Qualcomm Technologies, Inc. (QTI) multimedia solutions, including
|
||||
the MSM8996, MSM8976, and MSM8956 chipsets. It has in-built
|
||||
Soundwire controller, interrupt mux. It supports both I2S/I2C and
|
||||
SLIMbus audio interfaces.
|
||||
|
||||
Required properties with SLIMbus Interface:
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <stringlist>
|
||||
Definition: For SLIMbus interface it should be "slimMID,PID",
|
||||
textual representation of Manufacturer ID, Product Code,
|
||||
shall be in lower case hexadecimal with leading zeroes
|
||||
suppressed. Refer to slimbus/bus.txt for details.
|
||||
Should be:
|
||||
"slim217,1a0" for MSM8996 and APQ8096 SoCs with SLIMbus.
|
||||
|
||||
- reg
|
||||
Usage: required
|
||||
Value type: <u32 u32>
|
||||
Definition: Should be ('Device index', 'Instance ID')
|
||||
|
||||
- interrupts
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: Interrupts via WCD INTR1 and INTR2 pins
|
||||
|
||||
- interrupt-names:
|
||||
Usage: required
|
||||
Value type: <String array>
|
||||
Definition: Interrupt names of WCD INTR1 and INTR2
|
||||
Should be: "intr1", "intr2"
|
||||
|
||||
- reset-gpios:
|
||||
Usage: required
|
||||
Value type: <String Array>
|
||||
Definition: Reset gpio line
|
||||
|
||||
- slim-ifc-dev:
|
||||
Usage: required
|
||||
Value type: <phandle>
|
||||
Definition: SLIM interface device
|
||||
|
||||
- clocks:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: See clock-bindings.txt section "consumers". List of
|
||||
three clock specifiers for mclk, mclk2 and slimbus clock.
|
||||
|
||||
- clock-names:
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: Must contain "mclk", "mclk2" and "slimbus" strings.
|
||||
|
||||
- vdd-buck-supply:
|
||||
Usage: required
|
||||
Value type: <phandle>
|
||||
Definition: Should contain a reference to the 1.8V buck supply
|
||||
|
||||
- vdd-buck-sido-supply:
|
||||
Usage: required
|
||||
Value type: <phandle>
|
||||
Definition: Should contain a reference to the 1.8V SIDO buck supply
|
||||
|
||||
- vdd-rx-supply:
|
||||
Usage: required
|
||||
Value type: <phandle>
|
||||
Definition: Should contain a reference to the 1.8V rx supply
|
||||
|
||||
- vdd-tx-supply:
|
||||
Usage: required
|
||||
Value type: <phandle>
|
||||
Definition: Should contain a reference to the 1.8V tx supply
|
||||
|
||||
- vdd-vbat-supply:
|
||||
Usage: Optional
|
||||
Value type: <phandle>
|
||||
Definition: Should contain a reference to the vbat supply
|
||||
|
||||
- vdd-micbias-supply:
|
||||
Usage: required
|
||||
Value type: <phandle>
|
||||
Definition: Should contain a reference to the micbias supply
|
||||
|
||||
- vdd-io-supply:
|
||||
Usage: required
|
||||
Value type: <phandle>
|
||||
Definition: Should contain a reference to the 1.8V io supply
|
||||
|
||||
- interrupt-controller:
|
||||
Usage: required
|
||||
Definition: Indicating that this is a interrupt controller
|
||||
|
||||
- #interrupt-cells:
|
||||
Usage: required
|
||||
Value type: <int>
|
||||
Definition: should be 1
|
||||
|
||||
#sound-dai-cells
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: Must be 1
|
||||
|
||||
audio-codec@1{
|
||||
compatible = "slim217,1a0";
|
||||
reg = <1 0>;
|
||||
interrupts = <&msmgpio 54 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "intr2"
|
||||
reset-gpios = <&msmgpio 64 GPIO_ACTIVE_LOW>;
|
||||
slim-ifc-dev = <&wc9335_ifd>;
|
||||
clock-names = "mclk", "native";
|
||||
clocks = <&rpmcc RPM_SMD_DIV_CLK1>,
|
||||
<&rpmcc RPM_SMD_BB_CLK1>;
|
||||
vdd-buck-supply = <&pm8994_s4>;
|
||||
vdd-rx-supply = <&pm8994_s4>;
|
||||
vdd-buck-sido-supply = <&pm8994_s4>;
|
||||
vdd-tx-supply = <&pm8994_s4>;
|
||||
vdd-io-supply = <&pm8994_s4>;
|
||||
#sound-dai-cells = <1>;
|
||||
}
|
156
Documentation/devicetree/bindings/sound/qcom,wcd9335.yaml
Normal file
156
Documentation/devicetree/bindings/sound/qcom,wcd9335.yaml
Normal file
|
@ -0,0 +1,156 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/qcom,wcd9335.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm WCD9335 Audio Codec
|
||||
|
||||
maintainers:
|
||||
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||
|
||||
description:
|
||||
Qualcomm WCD9335 Codec is a standalone Hi-Fi audio codec IC with in-built
|
||||
Soundwire controller and interrupt mux. It supports both I2S/I2C and SLIMbus
|
||||
audio interfaces.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: slim217,1a0
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 2
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: mclk
|
||||
- const: slimbus
|
||||
|
||||
interrupts:
|
||||
maxItems: 2
|
||||
|
||||
interrupt-names:
|
||||
items:
|
||||
- const: intr1
|
||||
- const: intr2
|
||||
|
||||
interrupt-controller: true
|
||||
|
||||
'#interrupt-cells':
|
||||
const: 1
|
||||
|
||||
reset-gpios:
|
||||
maxItems: 1
|
||||
|
||||
slim-ifc-dev:
|
||||
description: SLIM IFC device interface
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
'#sound-dai-cells':
|
||||
const: 1
|
||||
|
||||
vdd-buck-supply:
|
||||
description: 1.8V buck supply
|
||||
|
||||
vdd-buck-sido-supply:
|
||||
description: 1.8V SIDO buck supply
|
||||
|
||||
vdd-io-supply:
|
||||
description: 1.8V I/O supply
|
||||
|
||||
vdd-micbias-supply:
|
||||
description: micbias supply
|
||||
|
||||
vdd-rx-supply:
|
||||
description: 1.8V rx supply
|
||||
|
||||
vdd-tx-supply:
|
||||
description: 1.8V tx supply
|
||||
|
||||
vdd-vbat-supply:
|
||||
description: vbat supply
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
- if:
|
||||
required:
|
||||
- slim-ifc-dev
|
||||
then:
|
||||
required:
|
||||
- clocks
|
||||
- clock-names
|
||||
- interrupts
|
||||
- interrupt-names
|
||||
- interrupt-controller
|
||||
- '#interrupt-cells'
|
||||
- reset-gpios
|
||||
- slim-ifc-dev
|
||||
- '#sound-dai-cells'
|
||||
- vdd-buck-supply
|
||||
- vdd-buck-sido-supply
|
||||
- vdd-io-supply
|
||||
- vdd-rx-supply
|
||||
- vdd-tx-supply
|
||||
else:
|
||||
properties:
|
||||
clocks: false
|
||||
clock-names: false
|
||||
interrupts: false
|
||||
interrupt-names: false
|
||||
interrupt-controller: false
|
||||
'#interrupt-cells': false
|
||||
reset-gpios: false
|
||||
slim-ifc-dev: false
|
||||
'#sound-dai-cells': false
|
||||
vdd-buck-supply: false
|
||||
vdd-buck-sido-supply: false
|
||||
vdd-io-supply: false
|
||||
vdd-micbias-supply: false
|
||||
vdd-rx-supply: false
|
||||
vdd-tx-supply: false
|
||||
vdd-vbat-supply: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/qcom,rpmcc.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
tasha_ifd: codec@0,0 {
|
||||
compatible = "slim217,1a0";
|
||||
reg = <0 0>;
|
||||
};
|
||||
|
||||
codec@1,0 {
|
||||
compatible = "slim217,1a0";
|
||||
reg = <1 0>;
|
||||
|
||||
clock-names = "mclk", "slimbus";
|
||||
clocks = <&div1_mclk>, <&rpmcc RPM_SMD_BB_CLK1>;
|
||||
|
||||
interrupt-parent = <&tlmm>;
|
||||
interrupts = <54 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<53 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "intr1", "intr2";
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
|
||||
reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>;
|
||||
slim-ifc-dev = <&tasha_ifd>;
|
||||
#sound-dai-cells = <1>;
|
||||
|
||||
vdd-buck-supply = <&vreg_s4a_1p8>;
|
||||
vdd-buck-sido-supply = <&vreg_s4a_1p8>;
|
||||
vdd-tx-supply = <&vreg_s4a_1p8>;
|
||||
vdd-rx-supply = <&vreg_s4a_1p8>;
|
||||
vdd-io-supply = <&vreg_s4a_1p8>;
|
||||
};
|
Loading…
Reference in a new issue