@@ -341,6 +341,34 @@ properties:
This port is used with the 'usb-role-switch' property to connect the
dwc3 to type C connector.
+ multiport:
+ description:
+ If a single USB controller supports multiple ports, then it's referred to as
+ a multiport controller. Each port of the multiport controller can support
+ either High Speed or Super Speed or both and have their own PHY phandles. Each
+ port is represented by "mport" node and all the "mport" nodes are grouped
+ together inside the "multiport" node where individual "mport" node defines the
+ PHYs supported by that port.
+ required:
+ - mport
+
+ num-hsphy:
+ description: Total number of HS-PHYs defined by the multiport controller.
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ num-ssphy:
+ description: Total number of SS-PHYs defined by the multiport controller.
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ mport:
+ description: Each mport node represents one port of the multiport controller.
+ oneOf:
+ - required:
+ - usb-phy
+ - required:
+ - phys
+ - phy-names
+
unevaluatedProperties: false
required:
@@ -369,4 +397,31 @@ examples:
snps,dis_u2_susphy_quirk;
snps,dis_enblslpm_quirk;
};
+ - |
+ usb@4a000000 {
+ compatible = "snps,dwc3";
+ reg = <0x4a000000 0xcfff>;
+ interrupts = <0 92 4>;
+
+ multiport {
+
+ MP_1: mport@1 {
+ usb-phy = <&usb2_phy0>, <&usb3_phy0>;
+ /* Can define Generic PHYs also */
+ };
+
+ MP_2: mport@2 {
+ usb-phy = <&usb2_phy1>, <&usb3_phy1>;
+ };
+
+ MP_3: mport@3 {
+ usb-phy = <&usb2_phy2>;
+ };
+
+ MP_4: mport@4 {
+ usb-phy = <&usb2_phy3>;
+ };
+
+ };
+ };
...
Added support for multiport, mport, num-ssphy and num-hsphy properties. These properties are used to support devices having a multiport controller. Signed-off-by: Harsh Agarwal <quic_harshq@quicinc.com> --- .../devicetree/bindings/usb/snps,dwc3.yaml | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+)