mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 22:21:40 +00:00
dt-bindings: usb: Document WCD939x USB SubSystem Altmode/Analog Audio Switch
Document the Qualcomm WCD9390/WCD9395 USB SubSystem Altmode/Analog Audio Switch which is a separate USB SubSystem for Altmode/Analog Audio Switch accessible over an I2C interface. Since Audio Headphone and Microphone data path between the Codec and the USB-C Mux subsystems are external to the IC, it requires a second port to handle USB-C altmode & orientation switching for Audio Accessory Mode to the Codec SubSystem. Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20231212-topic-sm8650-upstream-wcd939x-usbss-v2-1-38961fea5867@linaro.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
44995e6f07
commit
de12c53843
102
Documentation/devicetree/bindings/usb/qcom,wcd939x-usbss.yaml
Normal file
102
Documentation/devicetree/bindings/usb/qcom,wcd939x-usbss.yaml
Normal file
@ -0,0 +1,102 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/usb/qcom,wcd939x-usbss.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm WCD9380/WCD9385 USB SubSystem Altmode/Analog Audio Switch
|
||||
|
||||
maintainers:
|
||||
- Neil Armstrong <neil.armstrong@linaro.org>
|
||||
|
||||
description:
|
||||
Qualcomm WCD9390/WCD9395 is a standalone Hi-Fi audio codec IC with a
|
||||
functionally separate USB SubSystem for Altmode/Analog Audio Switch
|
||||
accessible over an I2C interface.
|
||||
The Audio Headphone and Microphone data path between the Codec and the
|
||||
USB-C Mux subsystems are external to the IC, thus requiring DT port-endpoint
|
||||
graph description to handle USB-C altmode & orientation switching for Audio
|
||||
Accessory Mode.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- const: qcom,wcd9390-usbss
|
||||
- items:
|
||||
- const: qcom,wcd9395-usbss
|
||||
- const: qcom,wcd9390-usbss
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
reset-gpios:
|
||||
maxItems: 1
|
||||
|
||||
vdd-supply:
|
||||
description: USBSS VDD power supply
|
||||
|
||||
mode-switch:
|
||||
description: Flag the port as possible handle of altmode switching
|
||||
type: boolean
|
||||
|
||||
orientation-switch:
|
||||
description: Flag the port as possible handler of orientation switching
|
||||
type: boolean
|
||||
|
||||
ports:
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
properties:
|
||||
port@0:
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
A port node to link the WCD939x USB SubSystem to a TypeC controller for the
|
||||
purpose of handling altmode muxing and orientation switching.
|
||||
|
||||
port@1:
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description:
|
||||
A port node to link the WCD939x USB SubSystem to the Codec SubSystem for the
|
||||
purpose of handling USB-C Audio Accessory Mode muxing and orientation switching.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- ports
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
typec-mux@42 {
|
||||
compatible = "qcom,wcd9390-usbss";
|
||||
reg = <0x42>;
|
||||
|
||||
vdd-supply = <&vreg_bob>;
|
||||
|
||||
mode-switch;
|
||||
orientation-switch;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
wcd9390_usbss_sbu: endpoint {
|
||||
remote-endpoint = <&typec_sbu>;
|
||||
};
|
||||
};
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
wcd9390_usbss_codec: endpoint {
|
||||
remote-endpoint = <&wcd9390_codec_usbss>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
Loading…
Reference in New Issue
Block a user