1*c66ec88fSEmmanuel VadotQualcomm's APQ8016/MSM8916 USB transceiver controller 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel Vadot- compatible: 4*c66ec88fSEmmanuel Vadot Usage: required 5*c66ec88fSEmmanuel Vadot Value type: <string> 6*c66ec88fSEmmanuel Vadot Definition: Should contain "qcom,usb-8x16-phy". 7*c66ec88fSEmmanuel Vadot 8*c66ec88fSEmmanuel Vadot- reg: 9*c66ec88fSEmmanuel Vadot Usage: required 10*c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 11*c66ec88fSEmmanuel Vadot Definition: USB PHY base address and length of the register map 12*c66ec88fSEmmanuel Vadot 13*c66ec88fSEmmanuel Vadot- clocks: 14*c66ec88fSEmmanuel Vadot Usage: required 15*c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 16*c66ec88fSEmmanuel Vadot Definition: See clock-bindings.txt section "consumers". List of 17*c66ec88fSEmmanuel Vadot two clock specifiers for interface and core controller 18*c66ec88fSEmmanuel Vadot clocks. 19*c66ec88fSEmmanuel Vadot 20*c66ec88fSEmmanuel Vadot- clock-names: 21*c66ec88fSEmmanuel Vadot Usage: required 22*c66ec88fSEmmanuel Vadot Value type: <string> 23*c66ec88fSEmmanuel Vadot Definition: Must contain "iface" and "core" strings. 24*c66ec88fSEmmanuel Vadot 25*c66ec88fSEmmanuel Vadot- vddcx-supply: 26*c66ec88fSEmmanuel Vadot Usage: required 27*c66ec88fSEmmanuel Vadot Value type: <phandle> 28*c66ec88fSEmmanuel Vadot Definition: phandle to the regulator VDCCX supply node. 29*c66ec88fSEmmanuel Vadot 30*c66ec88fSEmmanuel Vadot- v1p8-supply: 31*c66ec88fSEmmanuel Vadot Usage: required 32*c66ec88fSEmmanuel Vadot Value type: <phandle> 33*c66ec88fSEmmanuel Vadot Definition: phandle to the regulator 1.8V supply node. 34*c66ec88fSEmmanuel Vadot 35*c66ec88fSEmmanuel Vadot- v3p3-supply: 36*c66ec88fSEmmanuel Vadot Usage: required 37*c66ec88fSEmmanuel Vadot Value type: <phandle> 38*c66ec88fSEmmanuel Vadot Definition: phandle to the regulator 3.3V supply node. 39*c66ec88fSEmmanuel Vadot 40*c66ec88fSEmmanuel Vadot- resets: 41*c66ec88fSEmmanuel Vadot Usage: required 42*c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 43*c66ec88fSEmmanuel Vadot Definition: See reset.txt section "consumers". PHY reset specifier. 44*c66ec88fSEmmanuel Vadot 45*c66ec88fSEmmanuel Vadot- reset-names: 46*c66ec88fSEmmanuel Vadot Usage: required 47*c66ec88fSEmmanuel Vadot Value type: <string> 48*c66ec88fSEmmanuel Vadot Definition: Must contain "phy" string. 49*c66ec88fSEmmanuel Vadot 50*c66ec88fSEmmanuel Vadot- switch-gpio: 51*c66ec88fSEmmanuel Vadot Usage: optional 52*c66ec88fSEmmanuel Vadot Value type: <prop-encoded-array> 53*c66ec88fSEmmanuel Vadot Definition: Some boards are using Dual SPDT USB Switch, witch is 54*c66ec88fSEmmanuel Vadot controlled by GPIO to de/multiplex D+/D- USB lines 55*c66ec88fSEmmanuel Vadot between connectors. 56*c66ec88fSEmmanuel Vadot 57*c66ec88fSEmmanuel VadotExample: 58*c66ec88fSEmmanuel Vadot usb_phy: phy@78d9000 { 59*c66ec88fSEmmanuel Vadot compatible = "qcom,usb-8x16-phy"; 60*c66ec88fSEmmanuel Vadot reg = <0x78d9000 0x400>; 61*c66ec88fSEmmanuel Vadot 62*c66ec88fSEmmanuel Vadot vddcx-supply = <&pm8916_s1_corner>; 63*c66ec88fSEmmanuel Vadot v1p8-supply = <&pm8916_l7>; 64*c66ec88fSEmmanuel Vadot v3p3-supply = <&pm8916_l13>; 65*c66ec88fSEmmanuel Vadot 66*c66ec88fSEmmanuel Vadot clocks = <&gcc GCC_USB_HS_AHB_CLK>, 67*c66ec88fSEmmanuel Vadot <&gcc GCC_USB_HS_SYSTEM_CLK>; 68*c66ec88fSEmmanuel Vadot clock-names = "iface", "core"; 69*c66ec88fSEmmanuel Vadot 70*c66ec88fSEmmanuel Vadot resets = <&gcc GCC_USB2A_PHY_BCR>; 71*c66ec88fSEmmanuel Vadot reset-names = "phy"; 72*c66ec88fSEmmanuel Vadot 73*c66ec88fSEmmanuel Vadot // D+/D- lines: 1 - Routed to HUB, 0 - Device connector 74*c66ec88fSEmmanuel Vadot switch-gpio = <&pm8916_gpios 4 GPIO_ACTIVE_HIGH>; 75*c66ec88fSEmmanuel Vadot }; 76*c66ec88fSEmmanuel Vadot 77