mbox series

[U-Boot,v7,00/35] phy: sunxi: Add Allwinner sun4i USB PHY

Message ID 20180507073351.30582-1-jagan@amarulasolutions.com
Headers show
Series phy: sunxi: Add Allwinner sun4i USB PHY | expand

Message

Jagan Teki May 7, 2018, 7:33 a.m. UTC
This series rework of previous version 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.

Changes for v7:
- rebase on master

Changes for v6:
- Create private config for passing through driver_data instead
  directly passing musb_config. This make room for adding new
  configs in coming patches.
- memset to pdata in musb-new/sunxi.c

Changes for v5:
- Rework of previous series
- Used driver_data on sunxi.c since dt supported
- tested on bpi-m2-plus, orangepi_pc2/prime, bananapi-m64

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

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

Jagan Teki (33):
  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: Use BIT instead of numerical shift
  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        |  59 ++-
 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  |  23 +-
 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 +-
 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                  |  66 ++-
 drivers/usb/host/ohci-sunxi.c                  |  72 +++-
 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                   | 228 ++++++++--
 include/phy-sun4i-usb.h                        |  34 ++
 29 files changed, 1191 insertions(+), 570 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 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

Comments

Jagan Teki May 8, 2018, 6:34 a.m. UTC | #1
Hi Jun,

On Mon, May 7, 2018 at 1:03 PM, Jagan Teki <jagan@amarulasolutions.com> wrote:
> This series rework of previous version 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.
>
> Changes for v7:
> - rebase on master
>
> Changes for v6:
> - Create private config for passing through driver_data instead
>   directly passing musb_config. This make room for adding new
>   configs in coming patches.
> - memset to pdata in musb-new/sunxi.c
>
> Changes for v5:
> - Rework of previous series
> - Used driver_data on sunxi.c since dt supported
> - tested on bpi-m2-plus, orangepi_pc2/prime, bananapi-m64
>
> 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
>
> Chen-Yu Tsai (1):
>   sunxi: clock: Fix OHCI clock gating for H3/H5
>
> Jagan Teki (33):
>   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: Use BIT instead of numerical shift
>   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

I've verified H3/H5 boards and can you do it from your side?

Jagan.
Jun Nie May 15, 2018, 8:46 a.m. UTC | #2
2018-05-07 15:33 GMT+08:00 Jagan Teki <jagan@amarulasolutions.com>:
> This series rework of previous version 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.
>
> Changes for v7:
> - rebase on master
>

Acked-by: Jun Nie <jun.nie@linaro.org>
Jagan Teki May 15, 2018, 12:49 p.m. UTC | #3
Hi Marek,

On Tue, May 15, 2018 at 2:16 PM, Jun Nie <jun.nie@linaro.org> wrote:
> 2018-05-07 15:33 GMT+08:00 Jagan Teki <jagan@amarulasolutions.com>:
>> This series rework of previous version 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.
>>
>> Changes for v7:
>> - rebase on master
>>
>
> Acked-by: Jun Nie <jun.nie@linaro.org>

Any further comments, can this be apply?

Jagan.
Jagan Teki May 22, 2018, 12:40 p.m. UTC | #4
On Tue, May 15, 2018 at 6:19 PM, Jagan Teki <jagannadh.teki@gmail.com> wrote:
> Hi Marek,
>
> On Tue, May 15, 2018 at 2:16 PM, Jun Nie <jun.nie@linaro.org> wrote:
>> 2018-05-07 15:33 GMT+08:00 Jagan Teki <jagan@amarulasolutions.com>:
>>> This series rework of previous version 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.
>>>
>>> Changes for v7:
>>> - rebase on master
>>>
>>
>> Acked-by: Jun Nie <jun.nie@linaro.org>
>
> Any further comments, can this be apply?

Let us know if you have any further comments, it has a dependency with
other new boards to move and helpful for early testing before the
release. if you are OK? I will pick it on my tree?

Jagan.
Marek Vasut May 22, 2018, 12:44 p.m. UTC | #5
On 05/22/2018 02:40 PM, Jagan Teki wrote:
> On Tue, May 15, 2018 at 6:19 PM, Jagan Teki <jagannadh.teki@gmail.com> wrote:
>> Hi Marek,
>>
>> On Tue, May 15, 2018 at 2:16 PM, Jun Nie <jun.nie@linaro.org> wrote:
>>> 2018-05-07 15:33 GMT+08:00 Jagan Teki <jagan@amarulasolutions.com>:
>>>> This series rework of previous version 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.
>>>>
>>>> Changes for v7:
>>>> - rebase on master
>>>>
>>>
>>> Acked-by: Jun Nie <jun.nie@linaro.org>
>>
>> Any further comments, can this be apply?
> 
> Let us know if you have any further comments, it has a dependency with
> other new boards to move and helpful for early testing before the
> release. if you are OK? I will pick it on my tree?

Yeah, just pick it.