linux/Documentation/devicetree/bindings/sound/qcom,wcd9335.yaml
Krzysztof Kozlowski 631b8a8bb4
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>
2023-03-05 23:38:40 +00:00

157 lines
3.3 KiB
YAML

# 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>;
};