2023-12-12 09:54:28 +01:00
# 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
2024-01-22 10:44:06 +01:00
mode-switch : true
orientation-switch : true
2023-12-12 09:54:28 +01:00
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
2024-01-22 10:44:06 +01:00
allOf :
- $ref : usb-switch.yaml#
2023-12-12 09:54:28 +01:00
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>;
};
};
};
};
};
...