Add runtime power management support in the driver which allows putting the hardware in low power state, turning off LDOs and releasing wakelock. This LPM (aka low power state) support is currently added as part of USB disconnect and wall-charger connect. LPM support would later be extended to USB bus suspend as well. Also, support for PHY retention mode and VDD minimization would be added later. This commit also adds debugfs nodes that can used to simulate cable connect and disconnects as A or B device. Following are the nodes: -->msm_dwc3/id : Boolean value -->msm_dwc3/bsv : Boolean value -->msm_dwc3/connect : can be set to enable/disable User should first update id/bsv values before enabling 'connect'. dwc3-msm device is parent of dwc3-core and its runtime PM is managed by dwc3_otg driver which is responsible for the state transitions based on notifications from DWC3 h/w or ext_xceiver (using PMIC) for cable connect and disconnect. This change also allows dwc3 gadget and host to acquire PM count for the case when dwc3-otg is not present - e.g. host and device only configurations. Change-Id: Idd9a59c1ffd46bd98228c9fd4441f668b763534d Signed-off-by: Manu Gautam <mgautam@codeaurora.org>