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

Document the Qualcomm WCD9390/WCD9395 Audio Codec and the Soundwire devices than can be found on Qualcomm SM8650 based platforms. The Qualcomm WCD9390/WCD9395 Audio Codec communicates with the host SoC over 2 Soundwire links to provide: - 4 ADC inputs for up to 5 Analog Microphones - 4 DMIC inputs for up to 8 Digital Microphones - 4 Microphone BIAS - Stereo Headphone output - Mono EAR output - MBHC engine for Headset Detection The WCD9390/WCD9395 IC has separate I2C subsystem for USB-C DP Altmode/Audio Accessory mode Mux which is not documented here but requires port/endpoint graph and properties to handle Altmode/Audio Accessory switch and orientation. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> Link: https://msgid.link/r/20231219-topic-sm8650-upstream-wcd939x-codec-v4-2-1c3bbff2d7ab@linaro.org Signed-off-by: Mark Brown <broonie@kernel.org>
70 lines
1.7 KiB
YAML
70 lines
1.7 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/sound/qcom,wcd939x-sdw.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Qualcomm SoundWire devices on WCD9390/WCD9395
|
|
|
|
maintainers:
|
|
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
|
|
|
description: |
|
|
Qualcomm WCD9390/WCD9395 Codec is a standalone Hi-Fi audio codec IC.
|
|
It has RX and TX Soundwire devices. This bindings is for the devices.
|
|
|
|
properties:
|
|
compatible:
|
|
const: sdw20217010e00
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
qcom,tx-port-mapping:
|
|
description: |
|
|
Specifies static port mapping between device and host tx ports.
|
|
In the order of the device port index.
|
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
|
minItems: 4
|
|
maxItems: 4
|
|
|
|
qcom,rx-port-mapping:
|
|
description: |
|
|
Specifies static port mapping between device and host rx ports.
|
|
In the order of device port index.
|
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
|
minItems: 6
|
|
maxItems: 6
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
soundwire@3210000 {
|
|
#address-cells = <2>;
|
|
#size-cells = <0>;
|
|
reg = <0x03210000 0x2000>;
|
|
wcd938x_rx: codec@0,4 {
|
|
compatible = "sdw20217010e00";
|
|
reg = <0 4>;
|
|
qcom,rx-port-mapping = <1 2 3 4 5 6>;
|
|
};
|
|
};
|
|
|
|
soundwire@3230000 {
|
|
#address-cells = <2>;
|
|
#size-cells = <0>;
|
|
reg = <0x03230000 0x2000>;
|
|
wcd938x_tx: codec@0,3 {
|
|
compatible = "sdw20217010e00";
|
|
reg = <0 3>;
|
|
qcom,tx-port-mapping = <2 3 4 5>;
|
|
};
|
|
};
|
|
|
|
...
|