[v6,00/16] Add Rockchip RK3399 USB3.0 Host support
mbox series

Message ID 20200526033220.20047-1-frank.wang@rock-chips.com
Headers show
Series
  • Add Rockchip RK3399 USB3.0 Host support
Related show

Message

Frank Wang May 26, 2020, 3:32 a.m. UTC
This series add quirks for DWC3 and add Rockchip RK3399 USB3.0 host support.

The function has been tested pass on rk3399-evb and roc-rk3399-pc board.

For V6 update:
 - Use [PATCH v6 04/16] instead of [PATCH v5 05/16] to fix that the current
   Generic PHY subsystem is unable to find PHY if the PHY node is not part of
   the root structure.
 - Add 'Reviewed-by' tag for all patches except [PATCH v6 04/16].

For V5 update:
 - Fix dwc3-generic driver followed Marek's comments for [PATCH v4 12/16].
 - Add 'Reviewed-by' and 'Tested-by' tag for [PATCH v4 07/16] and [PATCH v4 08/16].

For V4 update:
 - Collect Jagan's all fixed patches [1].
 - Amend specific u-boot changes from dts to dtsi for [PATCH v3 6/7].

For V3 update:
 - Fix compile error for [PATCH v2 1/9].
 - Use Jagan's Type-C driver instead of [PATCH v2 5/9].
 - Cleanup dts changes for [PATCH v2 7/9].
 - Cleanup config changes for [PATCH v2 8/9] and [PATCH v2 9/9].

For V2 update:
 - Amend type-c driver followed Jagan's comments for [PATCH 5/8].
 - Fix dts commit for [PATCH 7/8].
 - Split RK3399 default config for [PATCH 8/8].
 - Add 'Reviewed-by' tag for [PATCH 1/8], [PATCH 2/8] and [PATCH 3/8].

[1] https://patchwork.ozlabs.org/project/uboot/cover/20200506075025.1677-1-jagan@amarulasolutions.com

BR,
Frank

Frank Wang (8):
  arm: mach-rockchip: bind sub-nodes for rk3399_syscon
  usb: dwc3: add dis_enblslpm_quirk
  usb: dwc3: add dis_u2_freeclk_exists_quirk
  usb: dwc3: amend UTMI/UTMIW phy interface setup
  usb: dwc3: add make compatible for rockchip platform
  driver: usb: drop legacy rockchip xhci driver
  ARM: dts: rk3399-evb: usb3.0 host support
  configs: evb-rk3399: update support usb3.0 host

Jagan Teki (8):
  clk: rk3399: Enable/Disable the USB2PHY clk
  clk: rk3399: Set empty for TCPHY assigned-clocks
  clk: rk3399: Enable/Disable TCPHY clocks
  phy: rockchip: Add Rockchip USB2PHY driver
  phy: rockchip: Add Rockchip USB TypeC PHY driver
  usb: dwc3: Add disable u2mac linestate check quirk
  usb: dwc3: Enable AutoRetry feature in the controller
  roc-rk3399-pc: Enable USB3.0 Host

 arch/arm/dts/rk3399-evb-u-boot.dtsi           |  13 +
 arch/arm/mach-rockchip/rk3399/syscon_rk3399.c |   3 +
 configs/evb-rk3399_defconfig                  |   6 +
 configs/roc-pc-mezzanine-rk3399_defconfig     |   5 +
 configs/roc-pc-rk3399_defconfig               |   6 +
 drivers/Makefile                              |   1 +
 drivers/clk/rockchip/clk_rk3399.c             |  38 +
 drivers/phy/Kconfig                           |   1 +
 drivers/phy/rockchip/Kconfig                  |  21 +
 drivers/phy/rockchip/Makefile                 |   7 +
 drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 312 +++++++
 drivers/phy/rockchip/phy-rockchip-typec.c     | 796 ++++++++++++++++++
 drivers/usb/common/common.c                   |  25 +
 drivers/usb/dwc3/core.c                       | 106 ++-
 drivers/usb/dwc3/core.h                       |  19 +
 drivers/usb/dwc3/dwc3-generic.c               |  33 +-
 drivers/usb/host/Kconfig                      |   9 -
 drivers/usb/host/Makefile                     |   1 -
 drivers/usb/host/xhci-rockchip.c              | 196 -----
 include/dwc3-uboot.h                          |   3 +
 include/linux/usb/phy.h                       |  18 +
 21 files changed, 1376 insertions(+), 243 deletions(-)
 create mode 100644 drivers/phy/rockchip/Kconfig
 create mode 100644 drivers/phy/rockchip/Makefile
 create mode 100644 drivers/phy/rockchip/phy-rockchip-inno-usb2.c
 create mode 100644 drivers/phy/rockchip/phy-rockchip-typec.c
 delete mode 100644 drivers/usb/host/xhci-rockchip.c

Comments

Jagan Teki May 26, 2020, 4:16 a.m. UTC | #1
On Tue, May 26, 2020 at 9:02 AM Frank Wang <frank.wang@rock-chips.com> wrote:
>
> This series add quirks for DWC3 and add Rockchip RK3399 USB3.0 host support.
>
> The function has been tested pass on rk3399-evb and roc-rk3399-pc board.
>
> For V6 update:
>  - Use [PATCH v6 04/16] instead of [PATCH v5 05/16] to fix that the current
>    Generic PHY subsystem is unable to find PHY if the PHY node is not part of
>    the root structure.
>  - Add 'Reviewed-by' tag for all patches except [PATCH v6 04/16].
>
> For V5 update:
>  - Fix dwc3-generic driver followed Marek's comments for [PATCH v4 12/16].
>  - Add 'Reviewed-by' and 'Tested-by' tag for [PATCH v4 07/16] and [PATCH v4 08/16].
>
> For V4 update:
>  - Collect Jagan's all fixed patches [1].
>  - Amend specific u-boot changes from dts to dtsi for [PATCH v3 6/7].
>
> For V3 update:
>  - Fix compile error for [PATCH v2 1/9].
>  - Use Jagan's Type-C driver instead of [PATCH v2 5/9].
>  - Cleanup dts changes for [PATCH v2 7/9].
>  - Cleanup config changes for [PATCH v2 8/9] and [PATCH v2 9/9].
>
> For V2 update:
>  - Amend type-c driver followed Jagan's comments for [PATCH 5/8].
>  - Fix dts commit for [PATCH 7/8].
>  - Split RK3399 default config for [PATCH 8/8].
>  - Add 'Reviewed-by' tag for [PATCH 1/8], [PATCH 2/8] and [PATCH 3/8].
>
> [1] https://patchwork.ozlabs.org/project/uboot/cover/20200506075025.1677-1-jagan@amarulasolutions.com
>
> BR,
> Frank
>
> Frank Wang (8):
>   arm: mach-rockchip: bind sub-nodes for rk3399_syscon
>   usb: dwc3: add dis_enblslpm_quirk
>   usb: dwc3: add dis_u2_freeclk_exists_quirk
>   usb: dwc3: amend UTMI/UTMIW phy interface setup
>   usb: dwc3: add make compatible for rockchip platform
>   driver: usb: drop legacy rockchip xhci driver
>   ARM: dts: rk3399-evb: usb3.0 host support
>   configs: evb-rk3399: update support usb3.0 host

I have a new sandisk Type C and A storage disk. Here are the tests in
roc-rk3399-pc.

=> usb tree
USB device tree:
  1  Hub (480 Mb/s, 0mA)
     u-boot EHCI Host Controller

  1  Hub (480 Mb/s, 0mA)
  |  u-boot EHCI Host Controller
  |
  +-2  Hub (480 Mb/s, 100mA)
        USB 2.0 Hub [MTT]

  1  Hub (5 Gb/s, 0mA)
     U-Boot XHCI Host Controller

=> usb reset
resetting USB...
Bus usb@fe380000: USB EHCI 1.00
Bus usb@fe3c0000: USB EHCI 1.00
Bus dwc3: usb maximum-speed not found
Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus usb@fe380000 for devices... 1 USB Device(s) found
scanning bus usb@fe3c0000 for devices... 2 USB Device(s) found
scanning bus dwc3 for devices... cannot reset port 1!?
2 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
=> usb tree
USB device tree:
  1  Hub (480 Mb/s, 0mA)
     u-boot EHCI Host Controller

  1  Hub (480 Mb/s, 0mA)
  |  u-boot EHCI Host Controller
  |
  +-2  Hub (480 Mb/s, 100mA)
        USB 2.0 Hub [MTT]

  1  Hub (5 Gb/s, 0mA)
  |  U-Boot XHCI Host Controller
  |
  +-2  Mass Storage (5 Gb/s, 224mA)
       SanDisk Dual Drive 040130e3ee554b7078843f4eb331646

=> usb reset
resetting USB...
Bus usb@fe380000: USB EHCI 1.00
Bus usb@fe3c0000: USB EHCI 1.00
Bus dwc3: usb maximum-speed not found
Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus usb@fe380000 for devices... 2 USB Device(s) found
scanning bus usb@fe3c0000 for devices... 2 USB Device(s) found
scanning bus dwc3 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
=> usb tree
USB device tree:
  1  Hub (480 Mb/s, 0mA)
  |  u-boot EHCI Host Controller
  |
  +-2  Mass Storage (480 Mb/s, 224mA)
       SanDisk Dual Drive 040130e3ee554b7078843f4eb331646

  1  Hub (480 Mb/s, 0mA)
  |  u-boot EHCI Host Controller
  |
  +-2  Hub (480 Mb/s, 100mA)
        USB 2.0 Hub [MTT]

  1  Hub (5 Gb/s, 0mA)
     U-Boot XHCI Host Controller

=> usb reset
resetting USB...
Bus usb@fe380000: USB EHCI 1.00
Bus usb@fe3c0000: USB EHCI 1.00
Bus dwc3: usb maximum-speed not found
Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus usb@fe380000 for devices... 1 USB Device(s) found
scanning bus usb@fe3c0000 for devices... EHCI timed out on TD - token=0x80008d80

      USB device not accepting new address (error=22)
2 USB Device(s) found
scanning bus dwc3 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
=>
resetting USB...
Bus usb@fe380000: USB EHCI 1.00
Bus usb@fe3c0000: USB EHCI 1.00
Bus dwc3: usb maximum-speed not found
Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus usb@fe380000 for devices... 1 USB Device(s) found
scanning bus usb@fe3c0000 for devices... 3 USB Device(s) found
scanning bus dwc3 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
=> usb tree
USB device tree:
  1  Hub (480 Mb/s, 0mA)
     u-boot EHCI Host Controller

  1  Hub (480 Mb/s, 0mA)
  |  u-boot EHCI Host Controller
  |
  +-2  Hub (480 Mb/s, 100mA)
    |   USB 2.0 Hub [MTT]
    |
    +-3  Mass Storage (480 Mb/s, 224mA)
         SanDisk Dual Drive 040130e3ee554b7078843f4eb331646

  1  Hub (5 Gb/s, 0mA)
     U-Boot XHCI Host Controller

=> usb reset
resetting USB...
Bus usb@fe380000: USB EHCI 1.00
Bus usb@fe3c0000: USB EHCI 1.00
Bus dwc3: usb maximum-speed not found
Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus usb@fe380000 for devices... 1 USB Device(s) found
scanning bus usb@fe3c0000 for devices... EHCI timed out on TD - token=0x80008d80

      USB device not accepting new address (error=22)
2 USB Device(s) found
scanning bus dwc3 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
=> usb reset
resetting USB...
Bus usb@fe380000: USB EHCI 1.00
Bus usb@fe3c0000: USB EHCI 1.00
Bus dwc3: usb maximum-speed not found
Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus usb@fe380000 for devices... 1 USB Device(s) found
scanning bus usb@fe3c0000 for devices... 3 USB Device(s) found
scanning bus dwc3 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
=> usb tree
USB device tree:
  1  Hub (480 Mb/s, 0mA)
     u-boot EHCI Host Controller

  1  Hub (480 Mb/s, 0mA)
  |  u-boot EHCI Host Controller
  |
  +-2  Hub (480 Mb/s, 100mA)
    |   USB 2.0 Hub [MTT]
    |
    +-3  Mass Storage (480 Mb/s, 224mA)
         SanDisk Dual Drive 040130e3ee554b7078843f4eb331646

  1  Hub (5 Gb/s, 0mA)
     U-Boot XHCI Host Controller

Jagan.
Kever Yang June 1, 2020, 12:54 a.m. UTC | #2
On 2020/5/26 上午11:32, Frank Wang wrote:
> This series add quirks for DWC3 and add Rockchip RK3399 USB3.0 host support.
>
> The function has been tested pass on rk3399-evb and roc-rk3399-pc board.
>
> For V6 update:
>   - Use [PATCH v6 04/16] instead of [PATCH v5 05/16] to fix that the current
>     Generic PHY subsystem is unable to find PHY if the PHY node is not part of
>     the root structure.
>   - Add 'Reviewed-by' tag for all patches except [PATCH v6 04/16].
>
> For V5 update:
>   - Fix dwc3-generic driver followed Marek's comments for [PATCH v4 12/16].
>   - Add 'Reviewed-by' and 'Tested-by' tag for [PATCH v4 07/16] and [PATCH v4 08/16].
>
> For V4 update:
>   - Collect Jagan's all fixed patches [1].
>   - Amend specific u-boot changes from dts to dtsi for [PATCH v3 6/7].
>
> For V3 update:
>   - Fix compile error for [PATCH v2 1/9].
>   - Use Jagan's Type-C driver instead of [PATCH v2 5/9].
>   - Cleanup dts changes for [PATCH v2 7/9].
>   - Cleanup config changes for [PATCH v2 8/9] and [PATCH v2 9/9].
>
> For V2 update:
>   - Amend type-c driver followed Jagan's comments for [PATCH 5/8].
>   - Fix dts commit for [PATCH 7/8].
>   - Split RK3399 default config for [PATCH 8/8].
>   - Add 'Reviewed-by' tag for [PATCH 1/8], [PATCH 2/8] and [PATCH 3/8].
>
> [1] https://patchwork.ozlabs.org/project/uboot/cover/20200506075025.1677-1-jagan@amarulasolutions.com
>
> BR,
> Frank
>
> Frank Wang (8):
>    arm: mach-rockchip: bind sub-nodes for rk3399_syscon
>    usb: dwc3: add dis_enblslpm_quirk
>    usb: dwc3: add dis_u2_freeclk_exists_quirk
>    usb: dwc3: amend UTMI/UTMIW phy interface setup
>    usb: dwc3: add make compatible for rockchip platform
>    driver: usb: drop legacy rockchip xhci driver
>    ARM: dts: rk3399-evb: usb3.0 host support
>    configs: evb-rk3399: update support usb3.0 host
>
> Jagan Teki (8):
>    clk: rk3399: Enable/Disable the USB2PHY clk
>    clk: rk3399: Set empty for TCPHY assigned-clocks
>    clk: rk3399: Enable/Disable TCPHY clocks
>    phy: rockchip: Add Rockchip USB2PHY driver
>    phy: rockchip: Add Rockchip USB TypeC PHY driver
>    usb: dwc3: Add disable u2mac linestate check quirk
>    usb: dwc3: Enable AutoRetry feature in the controller
>    roc-rk3399-pc: Enable USB3.0 Host
>
>   arch/arm/dts/rk3399-evb-u-boot.dtsi           |  13 +
>   arch/arm/mach-rockchip/rk3399/syscon_rk3399.c |   3 +
>   configs/evb-rk3399_defconfig                  |   6 +
>   configs/roc-pc-mezzanine-rk3399_defconfig     |   5 +
>   configs/roc-pc-rk3399_defconfig               |   6 +
>   drivers/Makefile                              |   1 +
>   drivers/clk/rockchip/clk_rk3399.c             |  38 +
>   drivers/phy/Kconfig                           |   1 +
>   drivers/phy/rockchip/Kconfig                  |  21 +
>   drivers/phy/rockchip/Makefile                 |   7 +
>   drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 312 +++++++
>   drivers/phy/rockchip/phy-rockchip-typec.c     | 796 ++++++++++++++++++
>   drivers/usb/common/common.c                   |  25 +
>   drivers/usb/dwc3/core.c                       | 106 ++-
>   drivers/usb/dwc3/core.h                       |  19 +
>   drivers/usb/dwc3/dwc3-generic.c               |  33 +-
>   drivers/usb/host/Kconfig                      |   9 -
>   drivers/usb/host/Makefile                     |   1 -
>   drivers/usb/host/xhci-rockchip.c              | 196 -----
>   include/dwc3-uboot.h                          |   3 +
>   include/linux/usb/phy.h                       |  18 +
>   21 files changed, 1376 insertions(+), 243 deletions(-)
>   create mode 100644 drivers/phy/rockchip/Kconfig
>   create mode 100644 drivers/phy/rockchip/Makefile
>   create mode 100644 drivers/phy/rockchip/phy-rockchip-inno-usb2.c
>   create mode 100644 drivers/phy/rockchip/phy-rockchip-typec.c
>   delete mode 100644 drivers/usb/host/xhci-rockchip.c
>
Applied to u-boot-rockchip master.

Thanks,
- Kever