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>
---
.../bindings/usb/qcom,wcd939x-usbss.yaml | 99 ++++++++++++++++++++++
1 file changed, 99 insertions(+)
diff --git a/Documentation/devicetree/bindings/usb/qcom,wcd939x-usbss.yaml b/Documentation/devicetree/bindings/usb/qcom,wcd939x-usbss.yaml
new file mode 100644
index 000000000000..da86b1d119d4
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/qcom,wcd939x-usbss.yaml
@@ -0,0 +1,99 @@
+# 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: true
+
+ 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>;
+ };
+ };
+ };
+ };
+ };
+...
--
2.34.1
On 08/12/2023 16:27, Neil Armstrong wrote: > 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> > --- > .../bindings/usb/qcom,wcd939x-usbss.yaml | 99 ++++++++++++++++++++++ > 1 file changed, 99 insertions(+) > > diff --git a/Documentation/devicetree/bindings/usb/qcom,wcd939x-usbss.yaml b/Documentation/devicetree/bindings/usb/qcom,wcd939x-usbss.yaml > new file mode 100644 > index 000000000000..da86b1d119d4 > --- /dev/null > +++ b/Documentation/devicetree/bindings/usb/qcom,wcd939x-usbss.yaml > @@ -0,0 +1,99 @@ > +# 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: | Do not need '|' unless you need to preserve formatting. > + 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. Please wrap at 80. In other descriptions as well. > + 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: true This is the only GPIO from common GPIOs which actually needs maxItems. Please add maxItems: 1 Best regards, Krzysztof
© 2016 - 2025 Red Hat, Inc.