mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-08-18 03:39:02 +00:00

Device variants use different amount of clock inputs, but all of them
are in the same order, 'clock-names' in top-level properties can define
the list and each if:then: block can only narrow the number of items.
This is preferred syntax, because it keeps list unified among devices
and encourages adding new entries to the end of the list, instead of
adding them in the middle. The change has no functional impact, but
partially reverts approach implemented in commit cfad817095
("ASoC:
dt-bindings: qcom,lpass-va-macro: Add missing NPL clock").
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://patch.msgid.link/20250716074957.102402-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
152 lines
3.1 KiB
YAML
152 lines
3.1 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,sm8250-lpass-va-macro
|
|
- qcom,sm8450-lpass-va-macro
|
|
- qcom,sm8550-lpass-va-macro
|
|
- qcom,sc8280xp-lpass-va-macro
|
|
- items:
|
|
- enum:
|
|
- 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
|
|
items:
|
|
- const: mclk
|
|
- const: macro
|
|
- const: dcodec
|
|
- const: npl
|
|
|
|
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:
|
|
properties:
|
|
clocks:
|
|
maxItems: 1
|
|
clock-names:
|
|
maxItems: 1
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: qcom,sm8250-lpass-va-macro
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 3
|
|
maxItems: 3
|
|
clock-names:
|
|
minItems: 3
|
|
maxItems: 3
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- qcom,sc8280xp-lpass-va-macro
|
|
- qcom,sm8450-lpass-va-macro
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 4
|
|
maxItems: 4
|
|
clock-names:
|
|
minItems: 4
|
|
maxItems: 4
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- qcom,sm8550-lpass-va-macro
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 3
|
|
maxItems: 3
|
|
clock-names:
|
|
minItems: 3
|
|
maxItems: 3
|
|
|
|
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>;
|
|
};
|