Files
linux/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml
Mark Brown c256157203 ASoC: codecs: lpass-macro: complete sm6115 support
Merge series from Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>:

This patch series fixes SM6115 lpass codec macro support and adding
missing dt-bindings to complete support for SM6115.

SM6115 lpass codec macro support is added partially and broken to some
extent, Fix this broken support and add complete lpass macro support for
this SoC.
2025-11-14 16:20:02 +00:00

188 lines
4.0 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/qcom,lpass-va-macro.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: LPASS(Low Power Audio Subsystem) VA Macro audio codec
maintainers:
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
properties:
compatible:
oneOf:
- enum:
- qcom,sc7280-lpass-va-macro
- qcom,sm6115-lpass-va-macro
- qcom,sm8250-lpass-va-macro
- qcom,sm8450-lpass-va-macro
- qcom,sm8550-lpass-va-macro
- qcom,sc8280xp-lpass-va-macro
- items:
- enum:
- qcom,glymur-lpass-va-macro
- qcom,kaanapali-lpass-va-macro
- qcom,sm8650-lpass-va-macro
- qcom,sm8750-lpass-va-macro
- qcom,x1e80100-lpass-va-macro
- const: qcom,sm8550-lpass-va-macro
reg:
maxItems: 1
"#sound-dai-cells":
const: 1
'#clock-cells':
const: 0
clocks:
minItems: 1
maxItems: 4
clock-names:
minItems: 1
maxItems: 4
clock-output-names:
maxItems: 1
power-domains:
maxItems: 2
power-domain-names:
items:
- const: macro
- const: dcodec
qcom,dmic-sample-rate:
description: dmic sample rate
$ref: /schemas/types.yaml#/definitions/uint32
vdd-micb-supply:
description: phandle to voltage regulator of MIC Bias
required:
- compatible
- reg
- "#sound-dai-cells"
- clock-names
- clocks
allOf:
- $ref: dai-common.yaml#
- if:
properties:
compatible:
contains:
const: qcom,sc7280-lpass-va-macro
then:
if:
required:
- power-domains
then:
properties:
clocks:
maxItems: 1
clock-names:
items:
- const: mclk
else:
properties:
clocks:
minItems: 3
maxItems: 3
clock-names:
items:
- const: mclk
- const: macro
- const: dcodec
- if:
properties:
compatible:
contains:
const: qcom,sm6115-lpass-va-macro
then:
properties:
clocks:
minItems: 3
maxItems: 3
clock-names:
items:
- const: mclk
- const: dcodec
- const: npl
- if:
properties:
compatible:
contains:
const: qcom,sm8250-lpass-va-macro
then:
properties:
clocks:
minItems: 3
maxItems: 3
clock-names:
items:
- const: mclk
- const: macro
- const: dcodec
- if:
properties:
compatible:
contains:
enum:
- qcom,sc8280xp-lpass-va-macro
- qcom,sm8450-lpass-va-macro
then:
properties:
clocks:
minItems: 4
maxItems: 4
clock-names:
items:
- const: mclk
- const: macro
- const: dcodec
- const: npl
- if:
properties:
compatible:
contains:
enum:
- qcom,sm8550-lpass-va-macro
then:
properties:
clocks:
minItems: 3
maxItems: 3
clock-names:
items:
- const: mclk
- const: macro
- const: dcodec
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/sound/qcom,q6afe.h>
codec@3370000 {
compatible = "qcom,sm8250-lpass-va-macro";
reg = <0x3370000 0x1000>;
#sound-dai-cells = <1>;
#clock-cells = <0>;
clocks = <&aoncc 0>,
<&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
<&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
clock-names = "mclk", "macro", "dcodec";
clock-output-names = "fsgen";
qcom,dmic-sample-rate = <600000>;
vdd-micb-supply = <&vreg_s4a_1p8>;
};