Skip to content

RFC USB: Add multiple PHYs of same type

Kishon Vijay Abraham I linux-arm-kernel linux-devicetree linux-omap linux-sh linuxppc-dev lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest6 patches 19 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6usb: otg: Add an API to bind the USB controller and PHYdrivers/usb/otg/otg.c include/linux/usb/phy.h+59 -03 replies
2/6ARM: OMAP: USB: Add phy binding informationarch/arm/mach-omap2/usb-musb.c+6 -15 replies
3/6usb: otg: utils: change the phy lib to support multiple PHYs of same typearch/arm/mach-shmobile/board-marzen.c drivers/power/ab8500_charger.c drivers/power/isp1704_charger.c +36 more+87 -893 replies
4/6ARM: dts: OMAP: Add phandle to bind PHY with USB controllerDocumentation/devicetree/bindings/usb/omap-usb.txt arch/arm/boot/dts/omap3.dtsi arch/arm/boot/dts/omap4.dtsi +1 more+6 -20 replies
5/6usb: otg: add device tree support to otg librarydrivers/usb/otg/otg.c include/linux/usb/phy.h+85 -03 replies
6/6USB: MUSB: OMAP: get PHY by phandle for dt bootdrivers/usb/musb/omap2430.c+6 -13 replies

Reviews trailers per patch

1 of 6 patches has a Reviewed-by or Acked-by.

PatchSimon Horman
1/6
2/6
3/6A-b
4/6
5/6
6/6

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

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

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(-)
Signature · 1 line
1.7.9.5