summaryrefslogtreecommitdiff
path: root/drivers/usb/dwc3/dwc3-msm.c (follow)
Commit message (Collapse)AuthorAge
* Merge remote-tracking branch 'msm8998/lineage-20' into lineage-20Raghuram Subramani2024-10-17
| | | | Change-Id: I126075a330f305c85f8fe1b8c9d408f368be95d1
* Merge "usb: dwc3-msm: Try core reset and reinit if PHY PLL lock fails"Linux Build Service Account2019-09-23
|\
| * usb: dwc3-msm: Try core reset and reinit if PHY PLL lock failsAjay Agarwal2019-09-12
| | | | | | | | | | | | | | | | | | Add support for retrying core reset and re-initialization in host mode if the PHY PLL lock failure is seen. Also, increase the lock timeout to 50 msec. Change-Id: I8c8db60dcd73b7cf05598538d0c519b1b1e2417f Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
* | Merge "dwc3-msm: Replace autosuspend delay functionality with stop host mode"Linux Build Service Account2019-09-23
|\ \
| * | dwc3-msm: Replace autosuspend delay functionality with stop host modeMayank Rana2019-09-18
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With ID clear notification i.e. USB host mode disconnect, current code is using PM runtime autosuspend functionality to put USB into LPM having autosuspend delay of 1sec. With USB host mode cable disconnect/connect having delay of less than 1 second, USB doesn't go into LPM in between USB host mode disconnect and USB host mode cable connect. This results into XHCI controller not being reset as expected causing USB low speed and high speed device enumeration issue with connect-debounce failure condition. Fix this issue by replacing autosuspend functionality by pm_runtime_put_sync_suspend() to put USB into LPM with USB host cable disconnect immediately. While at it, also move queueing of sm_work function to dedicated sm_usb_wq from system workqueue to avoid parallel runs. Change-Id: I0db6ea7e63b853e419ccfd51808b8955e874db76 Signed-off-by: Mayank Rana <mrana@codeaurora.org> Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
* / usb: dwc3-msm: Disable HSPHY autosuspend before core_initAjay Agarwal2019-08-30
|/ | | | | | | | | Disable HSPHY autosuspend capability before going for core initialization so as to avoid frivolous phy PLL lock warnings on PHY initialization. Change-Id: I1bdb7a21c3a2fabd3f44f7088d265fa29da3f7a5 Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
* Merge "dwc3-msm: Fix dwc3_drd_state_string for undefined state"Linux Build Service Account2019-06-11
|\
| * dwc3-msm: Fix dwc3_drd_state_string for undefined stateVamsi Krishna Samavedam2019-06-04
| | | | | | | | | | | | | | | | dwc3_drd_state_string() will return null for undefined state and fix it by adding undefined name to state_names. Change-Id: I40be0b14c098fe2e9d77df3ff1108c3d4d55a30f Signed-off-by: Vamsi Krishna Samavedam <vskrishn@codeaurora.org>
* | Merge "usb: dwc3-msm: Ensure hardware is reset during role change"Linux Build Service Account2019-06-11
|\|
| * usb: dwc3-msm: Ensure hardware is reset during role changeManu Gautam2019-06-04
| | | | | | | | | | | | | | | | | | | | | | | | | | Introduce additional WAIT_FOR_LPM input flag to ensure USB enters low power mode after stop_peripheral or stop_host. This makes sure that USB hardware is reset after LPM for cases where quick transition to host mode happens while its child was still preventing dwc3 to enter low power mode. In the absence of h/w reset after stop_peripheral, host mode doesn't work. Change-Id: I67e4fcdc11a3337e3e90b4ca8f461e328a6e8ecf Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
* | Merge "usb: dwc3-msm: add enum for drd_states to remove otg_state usage"Linux Build Service Account2019-06-11
|\|
| * usb: dwc3-msm: add enum for drd_states to remove otg_state usageManu Gautam2019-06-04
| | | | | | | | | | | | | | | | | | otg_state enum defines states for USB OTG devices. Since, driver supports only role change (DRD) and no OTG support, hence, instead of using otg_states create separate drd_state enums. Change-Id: Ifda1fac712e751c980ce51b60b473e5921f2001d Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
* | usb: dwc3: Support float charger detectionSriharsha Allenki2019-06-04
|/ | | | | | | | | | | | | | Chargers on some platforms do not support FLOAT charger detection. On these platforms, the float charger can be detected depending on the state of the DP and DM lines as detected by the PHY. So, on these platforms check for the DP DM line state and if found floating, do not start the peripheral mode and notify PMIC -ETIMEDOUT implying the connected charger is of type float. Change-Id: I6bf54b0d5c143a849ce9ea7bc515d62204ed2f33 Signed-off-by: Sriharsha Allenki <sallenki@codeaurora.org>
* Merge "dwc3-msm: Do not resume usb3 phy if max speed is HS only"Linux Build Service Account2018-12-05
|\
| * dwc3-msm: Do not resume usb3 phy if max speed is HS onlyVamsi Krishna Samavedam2018-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | usb3 phy is needed when core is operating at super speed or higher. Do not turn on usb3 phy clocks even when core is programmed to work at high speed only mode. While at it, remove redundant module parameter to control max speed. Speed can be controlled using existing sysfs entry. Example: To set High speed only: echo "high" > /sys/devices/platform/soc/<devname>/speed To set super speed: echo "super" > /sys/devices/platform/soc/<devname>/speed Change-Id: I24a9a869d97e6efc3ebc0d7a1374805139c65648 Signed-off-by: Vamsi Krishna Samavedam <vskrishn@codeaurora.org> Signed-off-by: Sriharsha Allenki <sallenki@codeaurora.org>
* | dwc3-msm: Allow USB LPM with data role swap from dfp to ufpMayank Rana2018-11-29
|/ | | | | | | | | | | | | | | | | | | | | Current code checks IN_P3 status (i.e. USB is into U3 or not) with dwc3_prepare_suspend() API using in_host_mode or vbus_active flag. With data role swap transition (e.g. dfp -> ufp case), in_host_mode flag sets to false and vbus_active flag sets to true due to quick calling of stop host and start peripheral mode from policy engine. This results into USB doesn't go into LPM with stop host mode (i.e. USB LPM is aborted due to vbus_active flag seen as true) which results into no USB enumeration in start peripheral mode. Current code doesn't perform block reset while stopping USB host mode functionality. Hence to invoke USB core and PHYs related reset and init functionality allow USB LPM by replacing vbus_active check with in_device_mode flag which provides status of USB controller's data role while going into USB LPM. Start peripheral mode brings USB out of LPM which performs POR functionality. Change-Id: I2bbb804bce5f910826ba30a3dda4317bbdb2e1f1 Signed-off-by: Mayank Rana <mrana@codeaurora.org> Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
* usb: dwc3-msm: Flush bus_vote_w work on pm_suspend and freezeAjay Agarwal2018-10-16
| | | | | | | | | | | | | Currently as a part of dwc3_msm_pm_suspend, driver calls suspend routine which schedules bus_vote_w to remove bus votes from USB. But it could be possible that the system freezes before the work function could get called or completed. This will keep the USB votes enabled and block XO shutdown. Fix this by flushing the bus_vote_w at the end of pm_suspend to ensure that bus votes are removed. Change-Id: I578e3c4434eb04740f07f4dd0640a945a86fde8b Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
* Merge "dwc3: resize txfifo of IN/INT endpoint before enabling it"Linux Build Service Account2018-10-03
|\
| * dwc3: resize txfifo of IN/INT endpoint before enabling itMayank Rana2018-09-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | USB IN/INT endpoint stalls when performing TX FIFO resize functionality when IN/INT endpoint is already active i.e. usb endpoint is enabled and usb request is pending with it. Fix this issue by making sure that TX FIFO resize is performed before enabling endpoint which shall happen after set_alt(1) and before any function queues request with its allocated USB endpoint. CRs-Fixed: 2039310 Change-Id: I13a590f87ab8492f7c95a15b2da9f00c9c63c4f9 Signed-off-by: Mayank Rana <mrana@codeaurora.org> Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
* | usb: dwc3-msm: Release PM wakelock in host mode only for auto targetsAjay Agarwal2018-09-26
|/ | | | | | | | | | | | Currently the driver releases PM wakelock in host mode. This causes pm_suspend to get triggered. Although pm_suspend bails out but xhci_bus_suspend transitions the bus to a bad state leading to host mode failure. Fix this by releasing wakelock only for targets on which we allow PM suspend in host mode irrespective of runtimePM. Change-Id: I6648991272c0f22b032b526bce3a76864fec63a5 Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
* Merge "USB: pd: Notify selfpowered state based on type C current"Linux Build Service Account2018-09-08
|\
| * USB: pd: Notify selfpowered state based on type C currentVijayavardhan Vennapusa2018-09-05
| | | | | | | | | | | | | | | | | | | | It is required to notify device as selfpowered and bmaxpower as zero even for non PD capable devices based on Type C current. Hence notify as selfpowerer in bMattributes of configuation descriptor in case of medium or high Type C current. Change-Id: Ie552560d93a8195f4c69fdaf6086ef3a52b31d39 Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
* | usb: dwc3-msm: Queue resume_work unconditionally on pm_resumeAjay Agarwal2018-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently on pm_resume, the driver queues resume_work only if vbus_active is true or id_state is false. So when the system is suspended with host mode cable connected and the cable is disconnected, the port still remains in host mode. Fix this by unconditionally queueing resume_work from pm_resume and adding required pm_relax in B_IDLE branch of sm_work. Also create a freezable workqueue for sm_work so that the work items do not race with pm_resume of child devices. Change-Id: I9b79ddcc44c87111fc85086038361d9140be2af5 Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
* | Merge "usb: dwc3-msm: Add boot marker"Linux Build Service Account2018-07-18
|\ \
| * | usb: dwc3-msm: Add boot markerZhiqiang Tu2018-07-06
| | | | | | | | | | | | | | | | | | | | | Add boot marker for booting KPI measurement. Change-Id: Idf57bed89437d85abc419f7774e0c2d975d214c9 Signed-off-by: Zhiqiang Tu <ztu@codeaurora.org>
* | | usb: dwc3-msm: Enable PHY IRQ wakeup only for non-auto targetsAjay Agarwal2018-07-10
|/ / | | | | | | | | | | | | | | | | | | On automotive targets, we do not want the system to wakeup if the connected peripheral is issuing remote wakeup when the system is PM suspended. Do not enable the system wakeup capability of the PHY IRQs if the target is automotive. Change-Id: I0bd986fdfab8f978692b605a44301086de3d0a87 Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
* | usb: dwc3: Add support for USB hibernation in host modeSriharsha Allenki2018-06-01
| | | | | | | | | | | | | | | | | | | | Add support for hibernation of USB in host mode and cable disconnected mode by adding proper pm operations freeze and restore. Change-Id: Ie1761a8afb0bb44a37d6ed4d046e8a09e1f53c5c Signed-off-by: Sriharsha Allenki <sallenki@codeaurora.org> Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
* | usb: dwc3-msm: Resume PHY before notify_connect on start_hostAjay Agarwal2018-04-26
| | | | | | | | | | | | | | | | | | | | | | | | Currently as a part of host cable connection, we are notifying cable connect to phy driver first and then resuming the PHY. This leads to bus resume case running instead of the cable connect case resume, hence the phy driver does not vote for the LDOs. As a result, PHY goes into bad state. Fix this by first resuming PHY so that cable connect case resume runs. Change-Id: Ica5b16e420c38b920688b86a24af396644487a6b Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
* | usb: dwc3: Suspend USB SS PHY in host mode with device connect caseMayank Rana2018-01-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently driver is not suspending USB Super Speed PHY (here USB QMP PHY) with below usecases. a. USB super speed HUB is connected and going into bus suspend b. USB super speed HUB is connected and having USB super speed device connected on HUB's downstream port This results into no USB super speed device connect or removal being detected as autonomous mode is not being enabled with USB QMP PHY. Fix these issues by suspending USB SS PHY in host mode with device connect (i.e. HUB or HUB with USB SS device connected) case. Change-Id: I469b02f0845228f55d9253e7683ea3c133fd9542 Signed-off-by: Mayank Rana <mrana@codeaurora.org>
* | dwc3-msm: Introduce sysfs param to indicate usb compliance modeVamsi Krishna Samavedam2018-01-18
| | | | | | | | | | | | | | | | | | | | | | | | Currently usb stack is teared down if no activity is detected for 10 seconds when floating charger is connected. USB 3.1 compliance equipment usually reported as floating charger. Introduce sysfs parameter to indicate if usb compliance in progress and do not tear down the stack based on this parameter. Change-Id: I26013c281827f35eac7f21ed68b3880e541d82b9 Signed-off-by: Vamsi Krishna Samavedam <vskrishn@codeaurora.org> Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
* | dwc3-msm: Notify proper current values in case of floating chargerSai Krishna Juturi2017-12-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently our driver is notifying ETIMEDOUT to PMIC incase of floating charger. Consider if we are inserting an SDP charger slowly that time also we will detect it as floating charger then also we are notifying ETIMEDOUT irrespective of current that is notified from gadget driver. Hence notify charging current properly if enumeration happens even in case of floating charger so that PMIC can update real charger type to SDP Signed-off-by: Sai Krishna Juturi <jsaikrishna@codeaurora.org> Change-Id: Ibeeeafac0834c9df7099a3f0bad274ddb393de47
* | dwc3: Do not perform core reinitialisation for host only modeAjay Agarwal2017-11-08
| | | | | | | | | | | | | | | | | | | | | | | | Cuurently as a part of start host, after the block reset we are performing core init and gadget restart of the dwc3 controller. This causes crash for host only controller where ep0 and ep1 have not been initialised but are being dereferenced. Also, HW reinitialisation is not required for start or restart host routine. Change-Id: Ie2b781ecb03a1d0a02c5f4305d518adc18dc6ade Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
* | Merge "dwc3: msm: Notify -ETIMEDOUT always in case of floating charger"Linux Build Service Account2017-10-06
|\ \
| * | dwc3: msm: Notify -ETIMEDOUT always in case of floating chargerVijayavardhan Vennapusa2017-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Charger driver expects USB driver notify -ETIMEDOUT always on POWER_SUPPLY_PROP_CURRENT_MAXCURRENT on enumeration failure in case of floating charger. This is to set ICL to value based on Rp in case of floating charger. But currently driver is not notifying this, when floating charger is disconnected and connected back. Due to this, device is charging only with 100mA instead of current based on Rp value. Fix this by having proper check and allow to notify in case of floating charger type. Change-Id: Iee0c4d8faa7e25c8445b83784a782751e7148421 Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
* | | Merge "usb: dwc3-msm: Allow PM suspend in host mode irrespective of runtimePM"Linux Build Service Account2017-10-05
|\ \ \
| * | | usb: dwc3-msm: Allow PM suspend in host mode irrespective of runtimePMAjay Agarwal2017-09-27
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DWC3 driver uses wakeup_source and allows pm_suspend only after entering low power mode as part of runtime suspend. This prevents PM suspend in host mode if connected device's driver doesn't support runtime or selective suspend. Add support in driver where user can specify using dtsi attribute to not use wakeup source in host mode. It will allow system to enter deep sleep or pm_suspend irrespective of runtime PM state of XHCI. On high level below are the changes in default behavior: -Do not use wakeup_source for DWC3 when operating in host mode. -For host mode, devices will suspend upon PM suspend and resumed after PM resume. Change-Id: Ia1d450e6dd99e094e48caf9723a355b7870b54dd Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
* / / USB: dwc3-msm: Protect enabling phy irqs with mutexVijayavardhan Vennapusa2017-09-14
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently driver is enabling hsphy_irq and ssphy_irq at the end of dwc3_msm_suspend() without any spinlock/mutex protection. But if it happens that hsphy_irq or ssphy_irq gets fired right after enablement of irqs, there is a chance that we might see warnings related to unbalanced irq enable. This could happen due to flag is not yet set to indicate phy irqs enabled in suspend(). This might cause phy irq left enabled after resume and could cause crash due to unclocked access in host mode. Fix the unbalance irq enable by having mutex protection and also extend mutex protection for dwc3_msm_suspend() and dwc3_msm_resume(). Change-Id: I8c2d26f82feb235add64305c1d0e5b686993e9e9 Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
* | Merge "dwc3-msm: Add delay between consecutive register reads in while loop"Linux Build Service Account2017-08-24
|\ \
| * | dwc3-msm: Add delay between consecutive register reads in while loopVijayavardhan Vennapusa2017-08-04
| | | | | | | | | | | | | | | | | | | | | | | | Add some delay between two consecutive register reads in while loop so that to avoid traffic congestion on NOCs. Change-Id: I6efb8c91e0d07160ccce593a23898b2259cb1ebf Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
* | | Merge "dwc3: Add required support to get lfps_rxterm interrupt from SS_PHY"Linux Build Service Account2017-08-22
|\ \ \
| * | | dwc3: Add required support to get lfps_rxterm interrupt from SS_PHYMayank Rana2017-08-11
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lfps_rxterm interrupt is not seen on attaching USB super speed device when USB is into LPM with USB host mode without device attach case. This change fixes below issues to get lfps_rxterm interrupt to resume USB. 1. Correct polarity of lfps rxterm interrupt from edge trigger to level trigger 2. Notify USB SS PHY driver about USB host cable status to allow required configuration while USB SS PHY is being suspended. 3. Also it is required to clear ALFPS_DTCT_EN and set ARCVR_DTCT_EVENT_SEL when USB SS PHY is being suspended with host cable connected case to detect next super speed device attach condition using lfps_rxterm interrupt. Change-Id: Ia763ec6b742ca681e71454d29f866009add56c52 Signed-off-by: Mayank Rana <mrana@codeaurora.org> Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
* | | Merge "power: qpnp-smb2: expose CHARGE_COUNTER prop via batt psy"Linux Build Service Account2017-08-21
|\ \ \
| * | | power: qpnp-smb2: use correct propertiesNicholas Troast2017-08-10
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CURRENT_MAX and VOLTAGE_MAX should be used to show the current values for the charger. The driver currently uses them to communicate with the USB and PD drivers. Update the code such that USB uses SDP_CURRENT_MAX to set 500mA/900mA current limits after enumeration and PD uses PD_VOLTAGE_MIN/MAX to set the adapter voltage limits. CURRENT_MAX now shows the max current that can be drawn from the charger and VOLTAGE_MAX shows the max voltage that the charger can negotiate up to. CURRENT_MAX and VOLTAGE_MAX can no longer be set. Change-Id: I660e39effc1862051cff8b9babc885d8de3f9c84 Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
* / / usb: dwc3: msm: clear resource on dwc3_msm_probe deferZiqi Chen2017-08-09
|/ / | | | | | | | | | | | | | | | | | | | | In dwc3_msm_probe, when need to defer probe, driver should clear resource has been allocated and de-attach the children device. of_platform_depopulate is the complement of of_platform_populate to remove devices created here. And driver also needs to destroy workqueue in error case. Change-Id: I234198eba45842f86c736dd459096ebc4fced807 Signed-off-by: Ziqi Chen <ziqic@codeaurora.org>
* | usb: dwc3: dwc3-msm: Handle floating charger PMI notification properlyHemant Kumar2017-07-28
| | | | | | | | | | | | | | | | | | | | | | | | When floating charger is detected, driver first notifies -ETIMEDOUT to PMI after 10 sec and then stops peripheral by simulating cable disconnect. As part of disconnect it notifies PMI to draw 0ma which PMI re-interprets as a SDP in bus suspend state and reconfigures PMI for SDP. Hence send charger current notification only as part of cable disconnect simulation by checking charger type. Change-Id: Ibafe8d52fa14ff32b6cb11e9f6e15a4f3f147d7a Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
* | Merge "usb: dwc3-msm: Add sysfs node to enable SS host compliance"Linux Build Service Account2017-07-19
|\ \
| * | usb: dwc3-msm: Add sysfs node to enable SS host complianceAjay Agarwal2017-07-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | xHCI specs revision 1.1 mentions that if Compliance Transition Capability (CTC) flag is set, then xHC supports software control of the transition to Compliance mode. For this, we need to write a value of 10 to Port Link State(PLS) field of PORTSC register during dwc3_otg_start_host time after the xhci platform device has been added. Then the link transitions to compliance state on detection of first LFPS timeout. Steps to enable compliance transition: 1. Do not connect host cable 2. echo y > /sys/devices/soc/a800000.ssusb/xhci_link_compliance 3. Connect host cable with breakout fixture and start testing Steps to disable compliance transition: 1. Disconnect the host cable 2. echo n > /sys/devices/soc/a800000.ssusb/xhci_link_compliance 3. Connect host cable Change-Id: I73225ccad105414d3ebd60f95138b9ecf65005d4 Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
* | | usb: dwc3-msm: Add support to handle floating D+/D- linesHemant Kumar2017-07-17
|/ / | | | | | | | | | | | | | | | | | | | | | | | | There is a possibility of PMI detecting SDP as a floating charger when connected to a PC. Workaround this issue by starting peripheral stack for floating charger as well. After 10 sec check for USB device enumeration using gadget USB state. If device is indeed connected to SDP gadget usb state will be USB_STATE_DEFAULT or higher. This change also helps to start peripheral stack in super speed usb compliance mode when D+ and D- lines are floating. Change-Id: Ia6dc668c549dca35e3273ece9a43be52c25d40ad Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
* | usb: dwc3: Allow DWC3 to handle non-extcon controller instanceAjay Agarwal2017-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extcon is required by the USB controller to switch between host and peripheral modes using BSV and ID events. If the DT node of a particular controller does not have 'extcon' property set but the mode is set to host only using dr_mode = "host", then we do not fail the probe and bring up the controller in host mode. Add another case to the probe that when extcon prop is not set and the controller mode is set to DRD, then bring up the device in host mode. User can always change the mode using sysfs. Change-Id: Iad44748b99a944fab93ff86a34787bd93dcb4ed6 Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
* | Merge "ARM: dts: msm: Add USB2 device node for SDM660"Linux Build Service Account2017-05-25
|\ \