New platforms are being added which has multiple PHY's (of same type) and which has multiple USB controllers. The binding information has to be present in the PHY library (otg.c) in order for it to return the appropriate PHY whenever the USB controller request for the PHY. So added a new API to pass the binding information. This API should be called by platform specific initialization code. So the binding should be done something like usb_bind_phy("musb-hdrc.0.auto", 0, "omap-usb2.1.auto"); specifying the USB controller device name, index, and the PHY device name. I have done this binding for OMAP platforms, but it should be done for all the platforms. After this design, the phy can be got by passing the USB controller device pointer and the index. Developed this patch series on git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git xceiv after applying "usb: musb: add driver for control module" patch series. Did basic enumeration testing in omap4 panda, omap4 sdp and omap3 beagle. Kishon Vijay Abraham I (6): usb: otg: Add an API to bind the USB controller and PHY ARM: OMAP: USB: Add phy binding information usb: otg: utils: change the phy lib to support multiple PHYs of same type ARM: dts: OMAP: Add phandle to bind PHY with USB controller usb: otg: add device tree support to otg library USB: MUSB: OMAP: get PHY by phandle for dt boot Documentation/devicetree/bindings/usb/omap-usb.txt | 2 + arch/arm/boot/dts/omap3.dtsi | 1 + arch/arm/boot/dts/omap4.dtsi | 3 +- arch/arm/boot/dts/twl4030.dtsi | 2 +- arch/arm/mach-omap2/usb-musb.c | 7 +- arch/arm/mach-shmobile/board-marzen.c | 2 +- drivers/power/ab8500_charger.c | 2 +- drivers/power/isp1704_charger.c | 2 +- drivers/power/pda_power.c | 2 +- drivers/power/twl4030_charger.c | 2 +- drivers/usb/chipidea/udc.c | 2 +- drivers/usb/dwc3/core.c | 4 +- drivers/usb/gadget/fsl_udc_core.c | 2 +- drivers/usb/gadget/mv_udc_core.c | 2 +- drivers/usb/gadget/omap_udc.c | 2 +- drivers/usb/gadget/pxa25x_udc.c | 2 +- drivers/usb/gadget/pxa27x_udc.c | 2 +- drivers/usb/gadget/s3c-hsudc.c | 2 +- drivers/usb/host/ehci-fsl.c | 2 +- drivers/usb/host/ehci-msm.c | 2 +- drivers/usb/host/ehci-mv.c | 2 +- drivers/usb/host/ehci-tegra.c | 2 +- drivers/usb/host/ohci-omap.c | 2 +- drivers/usb/musb/am35x.c | 2 +- drivers/usb/musb/blackfin.c | 2 +- drivers/usb/musb/da8xx.c | 2 +- drivers/usb/musb/davinci.c | 2 +- drivers/usb/musb/musb_dsps.c | 2 +- drivers/usb/musb/omap2430.c | 7 +- drivers/usb/musb/tusb6010.c | 2 +- drivers/usb/musb/ux500.c | 2 +- drivers/usb/otg/ab8500-usb.c | 3 +- drivers/usb/otg/fsl_otg.c | 5 +- drivers/usb/otg/gpio_vbus.c | 3 +- drivers/usb/otg/isp1301_omap.c | 3 +- drivers/usb/otg/msm_otg.c | 3 +- drivers/usb/otg/mv_otg.c | 3 +- drivers/usb/otg/nop-usb-xceiv.c | 3 +- drivers/usb/otg/otg.c | 175 ++++++++++++++++---- drivers/usb/otg/twl4030-usb.c | 3 +- drivers/usb/phy/mv_u3d_phy.c | 3 +- drivers/usb/phy/omap-usb2.c | 11 +- drivers/usb/phy/rcar-phy.c | 3 +- include/linux/usb/phy.h | 42 ++++- 44 files changed, 245 insertions(+), 89 deletions(-) -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html