mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-02 08:32:55 +00:00

On some platforms to minimise pop and click during switching between CTIA and OMTP headset an additional HiFi mux is used. Most common case is that this switch is switched on by default, but on some platforms this needs a regulator enable. Move to using mux-controls so that both the gpio and regulators can be driven correctly, rather than adding regulator handing in the codec. This patch adds required bindings to add such mux controls. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://patch.msgid.link/20250327100633.11530-5-srinivas.kandagatla@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
85 lines
2.1 KiB
YAML
85 lines
2.1 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/sound/qcom,wcd938x.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Qualcomm WCD9380/WCD9385 Audio Codec
|
|
|
|
maintainers:
|
|
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
|
|
|
description: |
|
|
Qualcomm WCD9380/WCD9385 Codec is a standalone Hi-Fi audio codec IC.
|
|
It has RX and TX Soundwire slave devices.
|
|
|
|
allOf:
|
|
- $ref: dai-common.yaml#
|
|
- $ref: qcom,wcd93xx-common.yaml#
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- qcom,wcd9380-codec
|
|
- qcom,wcd9385-codec
|
|
|
|
mux-controls:
|
|
description: A reference to the audio mux switch for
|
|
switching CTIA/OMTP Headset types
|
|
maxItems: 1
|
|
|
|
us-euro-gpios:
|
|
description: GPIO spec for swapping gnd and mic segments
|
|
maxItems: 1
|
|
deprecated: true
|
|
|
|
required:
|
|
- compatible
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
codec {
|
|
compatible = "qcom,wcd9380-codec";
|
|
reset-gpios = <&tlmm 32 GPIO_ACTIVE_LOW>;
|
|
#sound-dai-cells = <1>;
|
|
qcom,tx-device = <&wcd938x_tx>;
|
|
qcom,rx-device = <&wcd938x_rx>;
|
|
qcom,micbias1-microvolt = <1800000>;
|
|
qcom,micbias2-microvolt = <1800000>;
|
|
qcom,micbias3-microvolt = <1800000>;
|
|
qcom,micbias4-microvolt = <1800000>;
|
|
qcom,hphl-jack-type-normally-closed;
|
|
qcom,ground-jack-type-normally-closed;
|
|
qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
|
|
qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
|
|
};
|
|
|
|
/* ... */
|
|
|
|
soundwire@3210000 {
|
|
#address-cells = <2>;
|
|
#size-cells = <0>;
|
|
reg = <0x03210000 0x2000>;
|
|
wcd938x_rx: codec@0,4 {
|
|
compatible = "sdw20217010d00";
|
|
reg = <0 4>;
|
|
qcom,rx-port-mapping = <1 2 3 4 5>;
|
|
};
|
|
};
|
|
|
|
soundwire@3230000 {
|
|
#address-cells = <2>;
|
|
#size-cells = <0>;
|
|
reg = <0x03230000 0x2000>;
|
|
wcd938x_tx: codec@0,3 {
|
|
compatible = "sdw20217010d00";
|
|
reg = <0 3>;
|
|
qcom,tx-port-mapping = <2 3 4 5>;
|
|
};
|
|
};
|
|
|
|
...
|