linux-loongson/Documentation/devicetree/bindings/usb/nxp,ptn36502.yaml
Krzysztof Kozlowski fd2a052ccd dt-bindings: usb: add common Type-C USB Switch schema
Several bindings implement parts of Type-C USB orientation and mode
switching, and retiming.  Keep definition of such properties in one
place, new usb-switch schema, to avoid duplicate defines.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240122094406.32198-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-01-27 17:36:37 -08:00

93 lines
2.2 KiB
YAML

# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/nxp,ptn36502.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NXP PTN36502 Type-C USB 3.1 Gen 1 and DisplayPort v1.2 combo redriver
maintainers:
- Luca Weiss <luca.weiss@fairphone.com>
properties:
compatible:
enum:
- nxp,ptn36502
reg:
maxItems: 1
vdd18-supply:
description: Power supply for VDD18 pin
orientation-switch: true
retimer-switch: true
ports:
$ref: /schemas/graph.yaml#/properties/ports
properties:
port@0:
$ref: /schemas/graph.yaml#/properties/port
description: Super Speed (SS) Output endpoint to the Type-C connector
port@1:
$ref: /schemas/graph.yaml#/properties/port
description: Super Speed (SS) Input endpoint from the Super-Speed PHY
port@2:
$ref: /schemas/graph.yaml#/properties/port
description:
Sideband Use (SBU) AUX lines endpoint to the Type-C connector for the purpose of
handling altmode muxing and orientation switching.
required:
- compatible
- reg
allOf:
- $ref: usb-switch.yaml#
additionalProperties: false
examples:
- |
i2c {
#address-cells = <1>;
#size-cells = <0>;
typec-mux@1a {
compatible = "nxp,ptn36502";
reg = <0x1a>;
vdd18-supply = <&usb_redrive_1v8>;
retimer-switch;
orientation-switch;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
usb_con_ss: endpoint {
remote-endpoint = <&typec_con_ss>;
};
};
port@1 {
reg = <1>;
phy_con_ss: endpoint {
remote-endpoint = <&usb_phy_ss>;
};
};
port@2 {
reg = <2>;
usb_con_sbu: endpoint {
remote-endpoint = <&typec_dp_aux>;
};
};
};
};
};
...