[RFC PATCH 0/6] USB: Add multiple PHYs of same type

Kishon Vijay Abraham I kishon at ti.com
Wed Jan 16 10:00:56 EST 2013


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




More information about the linux-arm-kernel mailing list