18c2ecf20Sopenharmony_ciQualcomm's APQ8016/MSM8916 USB transceiver controller
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ci- compatible:
48c2ecf20Sopenharmony_ci    Usage: required
58c2ecf20Sopenharmony_ci    Value type: <string>
68c2ecf20Sopenharmony_ci    Definition: Should contain "qcom,usb-8x16-phy".
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci- reg:
98c2ecf20Sopenharmony_ci    Usage: required
108c2ecf20Sopenharmony_ci    Value type: <prop-encoded-array>
118c2ecf20Sopenharmony_ci    Definition: USB PHY base address and length of the register map
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci- clocks:
148c2ecf20Sopenharmony_ci    Usage: required
158c2ecf20Sopenharmony_ci    Value type: <prop-encoded-array>
168c2ecf20Sopenharmony_ci    Definition: See clock-bindings.txt section "consumers". List of
178c2ecf20Sopenharmony_ci                two clock specifiers for interface and core controller
188c2ecf20Sopenharmony_ci                clocks.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci- clock-names:
218c2ecf20Sopenharmony_ci    Usage: required
228c2ecf20Sopenharmony_ci    Value type: <string>
238c2ecf20Sopenharmony_ci    Definition: Must contain "iface" and "core" strings.
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci- vddcx-supply:
268c2ecf20Sopenharmony_ci    Usage: required
278c2ecf20Sopenharmony_ci    Value type: <phandle>
288c2ecf20Sopenharmony_ci    Definition: phandle to the regulator VDCCX supply node.
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci- v1p8-supply:
318c2ecf20Sopenharmony_ci    Usage: required
328c2ecf20Sopenharmony_ci    Value type: <phandle>
338c2ecf20Sopenharmony_ci    Definition: phandle to the regulator 1.8V supply node.
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci- v3p3-supply:
368c2ecf20Sopenharmony_ci    Usage: required
378c2ecf20Sopenharmony_ci    Value type: <phandle>
388c2ecf20Sopenharmony_ci    Definition: phandle to the regulator 3.3V supply node.
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci- resets:
418c2ecf20Sopenharmony_ci    Usage: required
428c2ecf20Sopenharmony_ci    Value type: <prop-encoded-array>
438c2ecf20Sopenharmony_ci    Definition: See reset.txt section "consumers". PHY reset specifier.
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci- reset-names:
468c2ecf20Sopenharmony_ci    Usage: required
478c2ecf20Sopenharmony_ci    Value type: <string>
488c2ecf20Sopenharmony_ci    Definition: Must contain "phy" string.
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci- switch-gpio:
518c2ecf20Sopenharmony_ci    Usage: optional
528c2ecf20Sopenharmony_ci    Value type: <prop-encoded-array>
538c2ecf20Sopenharmony_ci    Definition: Some boards are using Dual SPDT USB Switch, witch is
548c2ecf20Sopenharmony_ci                controlled by GPIO to de/multiplex D+/D- USB lines
558c2ecf20Sopenharmony_ci                between connectors.
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ciExample:
588c2ecf20Sopenharmony_ci	usb_phy: phy@78d9000 {
598c2ecf20Sopenharmony_ci		compatible = "qcom,usb-8x16-phy";
608c2ecf20Sopenharmony_ci		reg = <0x78d9000 0x400>;
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci		vddcx-supply = <&pm8916_s1_corner>;
638c2ecf20Sopenharmony_ci		v1p8-supply = <&pm8916_l7>;
648c2ecf20Sopenharmony_ci		v3p3-supply = <&pm8916_l13>;
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci		clocks = <&gcc GCC_USB_HS_AHB_CLK>,
678c2ecf20Sopenharmony_ci			     <&gcc GCC_USB_HS_SYSTEM_CLK>;
688c2ecf20Sopenharmony_ci		clock-names = "iface", "core";
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci		resets = <&gcc GCC_USB2A_PHY_BCR>;
718c2ecf20Sopenharmony_ci		reset-names = "phy";
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ci		// D+/D- lines: 1 - Routed to HUB, 0 - Device connector
748c2ecf20Sopenharmony_ci		switch-gpio = <&pm8916_gpios 4 GPIO_ACTIVE_HIGH>;
758c2ecf20Sopenharmony_ci	};
768c2ecf20Sopenharmony_ci
77