103 lines
2.7 KiB
YAML
103 lines
2.7 KiB
YAML
# 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>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
...
|