On Thu, Dec 29, 2022 at 09:05:23PM +0000, Bryan O'Donoghue wrote: > On 29/12/2022 21:02, Stephan Gerhold wrote: > > On Thu, Dec 29, 2022 at 08:45:15PM +0100, Stephan Gerhold wrote: > > > On Thu, Dec 29, 2022 at 06:34:10PM +0000, Bryan O'Donoghue wrote: > > > > Downstream has a flag called qcom,dp-manual-pullup which informs the > > > > downstream driver if it should toggle ULPI_MISC_A_VBUSVLDEXTSEL and > > > > ULPI_MISC_A_VBUSVLDEXT. > > > > > > > > Downstream states: > > > > > > > > "qcom,dp-manual-pullup: If present, vbus is not routed to USB > > > > controller/phy and controller driver therefore enables pull-up > > > > explicitly before starting controller using usbcmd run/stop bit." > > > > > > > > Working with a system that has both an external Type-C port controller and > > > > an internal USB Hub results in a situation where VBUS is not connected to > > > > the SoC. > > > > > > > > In this case we still need to set the DP pullup. > > > > > > > > This patch enables and disables the DP pullup on PHY power_on and power_off > > > > respectively if the DT has declared the bool "qcom,enable-vbus-pullup" > > > > effectively replicating the downstream logic to the same effect. > > > > > > > > Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx> > > > [...] > > > > > > An alternative that I've occasionally used for early bring-up is to > > > simply use a dummy extcon driver [1] that permanently reports active > > > VBUS. The end result is the same. While it's clearly a hack perhaps this > > > makes it a bit more clear that ideally you really should try to assign > > > an extcon device, to avoid keeping the USB controller and PHY on > > > permanently. > > > > > > > BTW another nice trick that should work in all almost all cases is to > > use the state of the PMIC USB_IN pin as VBUS detection. All battery- > > powered devices I have seen route the USB VBUS to PM8916 USB_IN. And > > even many boards like DB410c seem to do that or at least permanently > > supply 5V there. In all these cases the &pm8916_usbin extcon will > > report a VBUS state that should make USB work. > > > > Have you tried using that on your MSM8939 board with the Type-C setup? > > > > &pm8916_usbin { > > status = "okay"; > > }; > > > > &usb { > > status = "okay"; > > usb-role-switch; > > extcon = <&pm8916_usbin>; > > }; > > > > &usb_hs_phy { > > extcon = <&pm8916_usbin>; > > }; > > > > Stephan > > I checked USBIN before my last email reply. > > Its possible its connected but its not there on the 8939 schematic I have. > Then it doesn't seem to be a particularly complete schematic. :-) PM8916 definitely has USB_IN pads (pad # N13, P13). :-)