[U-Boot] [PATCH v4 00/34] phy: sunxi: Add Allwinner sun4i USB PHY

Jagan Teki jagannadh.teki at gmail.com
Tue Feb 6 14:25:30 UTC 2018


This series rework of previous version[1] where it removes legacy
usb phy handling and added phy driver on generic-phy framework.

Current implementation phy driver is unable to get pinctrl, clock
and reset details from DT since the dm code on these will add it future.

For ARM64 Allwinner platforms it is increasing size nearly ~64K due
to enabling musb, phy, and dts sync.
Currently build is failing due to BOARD_SIZE_LIMIT

patch 1, simplify sunxi ccm reg base code on host and musb-new
patch 2-3, simplify musb-new/sunxi.c code
patch 4, add fifo config on musb-new/sunxi.c
patch 5-7, fixes clock gating for H3/H5/A64
patch 8, musb support for H3/H5/A64
patch 9, add Allwinner A64 USB PHY driver
patch 10, add id_detect and vbus_detect code
patch 11-17, add phy support for H3/H5/V3S/A83T/A10/A13/A20/A31/A33/A23 platforms
patch 18, binding code
patch 19, use generic-phy for board_usb_cable_connected
patch 20, phy squelch-detect support
patch 21, switch to generic-phy code in host and musb-new
patch 22, drop legacy arch/arm/mach-sunxi/usb_phy.c and related code
patch 23-30, for adding usb_otg, usbphy dts and musb gadget enablement for H3/H5/A64.

Changes for v4:
- Rework of previous series
- Add Allwinner sun4i USB PHY driver
- Drop legacy arch/arm/mach-sunxi/usb_phy.c and related code

All changes available at u-boot-sunxi/usb branch.

[1] https://patchwork.ozlabs.org/cover/866847/

Chen-Yu Tsai (1):
  sunxi: clock: Fix OHCI clock gating for H3/H5

Jagan Teki (32):
  usb: sunxi: Simplify ccm reg base code
  musb: sunxi: Add proper macros instead of numericals
  musb: sunxi: Use simple way to fill musb_hdrc pdata
  musb: sunxi: Add fifo config
  sunxi: clock: Fix clock gating for H3/H5/A64
  musb: sunxi: Add OTG device clkgate and reset for H3/H5
  musb: sunxi: Add support for H3/H5A64
  phy: Add Allwinner A64 USB PHY driver
  phy: sun4i-usb: Add id_detect and vbus_detect ops
  phy: sun4i-usb: Add H3/H5 PHY config
  phy: sun4i-usb: Add V3S PHY config
  phy: sun4i-usb: Add A83T USB PHY config
  phy: sun4i-usb: Add A10/A13/A20 PHY config
  phy: sun4i-usb: Add A31 PHY config
  phy: sun4i-usb: Add A33 USB PHY config
  phy: sun4i-usb: Add A23 USB PHY config
  device-tree-bindings: phy: Sync sun4i-usb-phy bindings
  board: sunxi: Use generic-phy for board_usb_cable_connected
  phy: sun4i-usb: Add a sunxi specific function for setting
    squelch-detect
  usb: sunxi: Switch to use generic-phy
  sunxi: Drop legacy usb_phy.c
  arm64: allwinner: a64: bananapi-m64: Sync usb_otg node from Linux
  configs: bananapi-m64: Enable USB OTG peripheral mode
  ARM: dts: sun8i: a83t: Sync usbphy node from Linux
  arm64: allwinner: a64: bananapi-m64: Sync usb host nodes from Linux
  ARM: dts: sun8i-h3: bananapi-m2-plus: Sync usb otg nodes from Linux
  configs: bananapi-m2-plus: Enable USB OTG peripheral mode
  arm64: allwinner: h5: orangepi-pc2: Order nodes in alphabetic
  arm64: allwinner: h5: orangepi-pc2: Sync usb otg nodes from Linux
  configs: orangepi-pc2: Enable USB OTG peripheral mode
  arm64: allwinner: h5: orangepi-prime: Sync usb otg nodes from Linux
  configs: orangepi-prime: Enable USB OTG peripheral mode

Jun Nie (1):
  sunxi: h3: Sync OTG and HCI nodes from Linux DT

 arch/arm/dts/sun50i-a64-bananapi-m64.dts       |  26 ++
 arch/arm/dts/sun50i-h5-orangepi-pc2.dts        |  54 ++-
 arch/arm/dts/sun50i-h5-orangepi-prime.dts      |  13 +
 arch/arm/dts/sun8i-a83t.dtsi                   |  20 +
 arch/arm/dts/sun8i-h3-bananapi-m2-plus.dts     |  13 +
 arch/arm/dts/sun8i-h3.dtsi                     |  32 ++
 arch/arm/include/asm/arch-sunxi/clock_sun6i.h  |  24 +-
 arch/arm/include/asm/arch-sunxi/usb_phy.h      |  21 -
 arch/arm/mach-sunxi/Kconfig                    |   9 +
 arch/arm/mach-sunxi/Makefile                   |   3 -
 arch/arm/mach-sunxi/usb_phy.c                  | 407 -----------------
 board/sunxi/board.c                            |  40 +-
 c                                              |   0
 configs/Sinovoip_BPI_M2_Plus_defconfig         |   1 +
 configs/bananapi_m64_defconfig                 |   1 +
 configs/orangepi_pc2_defconfig                 |   1 +
 configs/orangepi_prime_defconfig               |   1 +
 doc/device-tree-bindings/phy/sun4i-usb-phy.txt |  65 +++
 drivers/Kconfig                                |   2 +
 drivers/Makefile                               |   1 +
 drivers/phy/allwinner/Kconfig                  |  13 +
 drivers/phy/allwinner/Makefile                 |   6 +
 drivers/phy/allwinner/phy-sun4i-usb.c          | 575 +++++++++++++++++++++++++
 drivers/usb/host/ehci-sunxi.c                  |  67 ++-
 drivers/usb/host/ohci-sunxi.c                  |  73 +++-
 drivers/usb/musb-new/musb_core.h               |   4 +
 drivers/usb/musb-new/musb_regs.h               |   3 +-
 drivers/usb/musb-new/musb_uboot.c              |  22 +-
 drivers/usb/musb-new/sunxi.c                   | 184 ++++++--
 include/phy-sun4i-usb.h                        |  34 ++
 30 files changed, 1158 insertions(+), 557 deletions(-)
 delete mode 100644 arch/arm/include/asm/arch-sunxi/usb_phy.h
 delete mode 100644 arch/arm/mach-sunxi/usb_phy.c
 create mode 100644 c
 create mode 100644 doc/device-tree-bindings/phy/sun4i-usb-phy.txt
 create mode 100644 drivers/phy/allwinner/Kconfig
 create mode 100644 drivers/phy/allwinner/Makefile
 create mode 100644 drivers/phy/allwinner/phy-sun4i-usb.c
 create mode 100644 include/phy-sun4i-usb.h

-- 
2.7.4



More information about the U-Boot mailing list