162306a36Sopenharmony_ciQualcomm's APQ8016/MSM8916 USB transceiver controller
262306a36Sopenharmony_ci
362306a36Sopenharmony_ci- compatible:
462306a36Sopenharmony_ci    Usage: required
562306a36Sopenharmony_ci    Value type: <string>
662306a36Sopenharmony_ci    Definition: Should contain "qcom,usb-8x16-phy".
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci- reg:
962306a36Sopenharmony_ci    Usage: required
1062306a36Sopenharmony_ci    Value type: <prop-encoded-array>
1162306a36Sopenharmony_ci    Definition: USB PHY base address and length of the register map
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci- clocks:
1462306a36Sopenharmony_ci    Usage: required
1562306a36Sopenharmony_ci    Value type: <prop-encoded-array>
1662306a36Sopenharmony_ci    Definition: See clock-bindings.txt section "consumers". List of
1762306a36Sopenharmony_ci                two clock specifiers for interface and core controller
1862306a36Sopenharmony_ci                clocks.
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci- clock-names:
2162306a36Sopenharmony_ci    Usage: required
2262306a36Sopenharmony_ci    Value type: <string>
2362306a36Sopenharmony_ci    Definition: Must contain "iface" and "core" strings.
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci- vddcx-supply:
2662306a36Sopenharmony_ci    Usage: required
2762306a36Sopenharmony_ci    Value type: <phandle>
2862306a36Sopenharmony_ci    Definition: phandle to the regulator VDCCX supply node.
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci- v1p8-supply:
3162306a36Sopenharmony_ci    Usage: required
3262306a36Sopenharmony_ci    Value type: <phandle>
3362306a36Sopenharmony_ci    Definition: phandle to the regulator 1.8V supply node.
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci- v3p3-supply:
3662306a36Sopenharmony_ci    Usage: required
3762306a36Sopenharmony_ci    Value type: <phandle>
3862306a36Sopenharmony_ci    Definition: phandle to the regulator 3.3V supply node.
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci- resets:
4162306a36Sopenharmony_ci    Usage: required
4262306a36Sopenharmony_ci    Value type: <prop-encoded-array>
4362306a36Sopenharmony_ci    Definition: See reset.txt section "consumers". PHY reset specifier.
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci- reset-names:
4662306a36Sopenharmony_ci    Usage: required
4762306a36Sopenharmony_ci    Value type: <string>
4862306a36Sopenharmony_ci    Definition: Must contain "phy" string.
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci- switch-gpio:
5162306a36Sopenharmony_ci    Usage: optional
5262306a36Sopenharmony_ci    Value type: <prop-encoded-array>
5362306a36Sopenharmony_ci    Definition: Some boards are using Dual SPDT USB Switch, witch is
5462306a36Sopenharmony_ci                controlled by GPIO to de/multiplex D+/D- USB lines
5562306a36Sopenharmony_ci                between connectors.
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ciExample:
5862306a36Sopenharmony_ci	usb_phy: phy@78d9000 {
5962306a36Sopenharmony_ci		compatible = "qcom,usb-8x16-phy";
6062306a36Sopenharmony_ci		reg = <0x78d9000 0x400>;
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci		vddcx-supply = <&pm8916_s1_corner>;
6362306a36Sopenharmony_ci		v1p8-supply = <&pm8916_l7>;
6462306a36Sopenharmony_ci		v3p3-supply = <&pm8916_l13>;
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci		clocks = <&gcc GCC_USB_HS_AHB_CLK>,
6762306a36Sopenharmony_ci			     <&gcc GCC_USB_HS_SYSTEM_CLK>;
6862306a36Sopenharmony_ci		clock-names = "iface", "core";
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci		resets = <&gcc GCC_USB2A_PHY_BCR>;
7162306a36Sopenharmony_ci		reset-names = "phy";
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ci		// D+/D- lines: 1 - Routed to HUB, 0 - Device connector
7462306a36Sopenharmony_ci		switch-gpio = <&pm8916_gpios 4 GPIO_ACTIVE_HIGH>;
7562306a36Sopenharmony_ci	};
7662306a36Sopenharmony_ci
77