Loading Documentation/devicetree/bindings/usb/msm-ssusb.txt +2 −0 Original line number Diff line number Diff line Loading @@ -84,6 +84,8 @@ Optional properties : - qcom,host-poweroff-in-pm-suspend: If present, allow PM suspend to happen irrespective of runtimePM state of host and power collapse the core. This also leads to reset-resume of connected devices on PM resume. - qcom,default-mode-none: If present, do not start any mode on probe for an OTG capable DWC3 which does not have extcon handle. - qcom,default-mode-host: If present, start host mode on probe for an OTG capable DWC3 which does not have extcon handle. Loading arch/arm64/boot/dts/qcom/kona-qrd.dtsi +4 −0 Original line number Diff line number Diff line Loading @@ -662,6 +662,10 @@ }; }; &usb1 { qcom,default-mode-none; }; &wil6210 { status = "ok"; }; drivers/usb/dwc3/dwc3-msm.c +22 −7 Original line number Diff line number Diff line Loading @@ -3675,16 +3675,31 @@ static int dwc3_msm_probe(struct platform_device *pdev) queue_delayed_work(mdwc->sm_usb_wq, &mdwc->sm_work, 0); } } else { if ((dwc3_is_otg_or_drd(dwc) && !of_property_read_bool(node, "qcom,default-mode-host")) || dwc->dr_mode == USB_DR_MODE_PERIPHERAL) { dev_dbg(mdwc->dev, "%s: no extcon, start peripheral mode\n", switch (dwc->dr_mode) { case USB_DR_MODE_DRD: if (of_property_read_bool(node, "qcom,default-mode-host")) { dev_dbg(mdwc->dev, "%s: start host mode\n", __func__); mdwc->id_state = DWC3_ID_GROUND; } else if (of_property_read_bool(node, "qcom,default-mode-none")) { dev_dbg(mdwc->dev, "%s: stay in none mode\n", __func__); mdwc->vbus_active = true; } else { dev_dbg(mdwc->dev, "%s: no extcon, start host mode\n", dev_dbg(mdwc->dev, "%s: start peripheral mode\n", __func__); mdwc->vbus_active = true; } break; case USB_DR_MODE_HOST: mdwc->id_state = DWC3_ID_GROUND; break; case USB_DR_MODE_PERIPHERAL: /* fall through */ default: mdwc->vbus_active = true; break; } dwc3_ext_event_notify(mdwc); Loading Loading
Documentation/devicetree/bindings/usb/msm-ssusb.txt +2 −0 Original line number Diff line number Diff line Loading @@ -84,6 +84,8 @@ Optional properties : - qcom,host-poweroff-in-pm-suspend: If present, allow PM suspend to happen irrespective of runtimePM state of host and power collapse the core. This also leads to reset-resume of connected devices on PM resume. - qcom,default-mode-none: If present, do not start any mode on probe for an OTG capable DWC3 which does not have extcon handle. - qcom,default-mode-host: If present, start host mode on probe for an OTG capable DWC3 which does not have extcon handle. Loading
arch/arm64/boot/dts/qcom/kona-qrd.dtsi +4 −0 Original line number Diff line number Diff line Loading @@ -662,6 +662,10 @@ }; }; &usb1 { qcom,default-mode-none; }; &wil6210 { status = "ok"; };
drivers/usb/dwc3/dwc3-msm.c +22 −7 Original line number Diff line number Diff line Loading @@ -3675,16 +3675,31 @@ static int dwc3_msm_probe(struct platform_device *pdev) queue_delayed_work(mdwc->sm_usb_wq, &mdwc->sm_work, 0); } } else { if ((dwc3_is_otg_or_drd(dwc) && !of_property_read_bool(node, "qcom,default-mode-host")) || dwc->dr_mode == USB_DR_MODE_PERIPHERAL) { dev_dbg(mdwc->dev, "%s: no extcon, start peripheral mode\n", switch (dwc->dr_mode) { case USB_DR_MODE_DRD: if (of_property_read_bool(node, "qcom,default-mode-host")) { dev_dbg(mdwc->dev, "%s: start host mode\n", __func__); mdwc->id_state = DWC3_ID_GROUND; } else if (of_property_read_bool(node, "qcom,default-mode-none")) { dev_dbg(mdwc->dev, "%s: stay in none mode\n", __func__); mdwc->vbus_active = true; } else { dev_dbg(mdwc->dev, "%s: no extcon, start host mode\n", dev_dbg(mdwc->dev, "%s: start peripheral mode\n", __func__); mdwc->vbus_active = true; } break; case USB_DR_MODE_HOST: mdwc->id_state = DWC3_ID_GROUND; break; case USB_DR_MODE_PERIPHERAL: /* fall through */ default: mdwc->vbus_active = true; break; } dwc3_ext_event_notify(mdwc); Loading