mbox series

[v4,0/3] usb: add isp1760 hcd support

Message ID 20220628174214.2496-1-rui.silva@linaro.org
Headers show
Series usb: add isp1760 hcd support | expand

Message

Rui Miguel Silva June 28, 2022, 5:42 p.m. UTC
Add support for the usb isp1760 host controller family, which
for example is present in MPS3 FPGA board from Arm (isp1763).

First we move some helper functions and defines to a more
common place to be shared by several urb users. (patch 1/3)

Then add the driver itself, is a ported version of the kernel
actual driver, which I am also the maintainer. (patch 2/3)

And last, enable it for the corstone1000 platform that uses
that MPS3 board for its implementation (patch 3/3).

Cheers,
   Rui

v3 -> v4:
    - rebase on top of next and resend with Marek in --to

v2[3] -> v3:
    - when you think you have amend commit and fix stay
      uncommitted.
      s/[HC_FIELD_MAX] = {};/[HC_FIELD_MAX] = {},/
v1[0] -> v2:
    - gentle ping
    - merge fix from kernel upstream [1]

PS: This should go on top of the corstone1000 platform enable
series [2]

0: https://lore.kernel.org/u-boot/20220512142016.2025129-1-rui.silva@linaro.org/
1: https://lore.kernel.org/linux-usb/20220516091424.391209-1-linus.walleij@linaro.org/
2: https://lore.kernel.org/u-boot/20220511095541.1461937-1-rui.silva@linaro.org/T/#t
3: https://lore.kernel.org/u-boot/20220523090119.1212016-1-rui.silva@linaro.org/

Rui Miguel Silva (3):
  usb: common: move urb code to common
  usb: add isp1760 family driver
  corstone1000: enable isp1763 usb controller and mmc

 Makefile                                      |    1 +
 configs/corstone1000_defconfig                |    3 +
 drivers/usb/Kconfig                           |    2 +
 drivers/usb/common/Makefile                   |    3 +
 drivers/usb/common/usb_urb.c                  |  160 ++
 drivers/usb/host/r8a66597-hcd.c               |   30 +-
 drivers/usb/isp1760/Kconfig                   |   12 +
 drivers/usb/isp1760/Makefile                  |    6 +
 drivers/usb/isp1760/isp1760-core.c            |  380 +++
 drivers/usb/isp1760/isp1760-core.h            |   96 +
 drivers/usb/isp1760/isp1760-hcd.c             | 2477 +++++++++++++++++
 drivers/usb/isp1760/isp1760-hcd.h             |   81 +
 drivers/usb/isp1760/isp1760-if.c              |  125 +
 drivers/usb/isp1760/isp1760-regs.h            |  292 ++
 drivers/usb/isp1760/isp1760-uboot.c           |   75 +
 drivers/usb/isp1760/isp1760-uboot.h           |   27 +
 drivers/usb/musb-new/musb_core.c              |    2 +-
 drivers/usb/musb-new/musb_host.c              |    2 +-
 drivers/usb/musb-new/musb_host.h              |    2 +-
 drivers/usb/musb-new/musb_uboot.c             |   38 +-
 drivers/usb/musb-new/musb_uboot.h             |    2 +-
 include/configs/corstone1000.h                |    6 +
 .../linux/usb/usb_urb_compat.h                |   47 +-
 include/usb_defs.h                            |   32 +
 24 files changed, 3825 insertions(+), 76 deletions(-)
 create mode 100644 drivers/usb/common/usb_urb.c
 create mode 100644 drivers/usb/isp1760/Kconfig
 create mode 100644 drivers/usb/isp1760/Makefile
 create mode 100644 drivers/usb/isp1760/isp1760-core.c
 create mode 100644 drivers/usb/isp1760/isp1760-core.h
 create mode 100644 drivers/usb/isp1760/isp1760-hcd.c
 create mode 100644 drivers/usb/isp1760/isp1760-hcd.h
 create mode 100644 drivers/usb/isp1760/isp1760-if.c
 create mode 100644 drivers/usb/isp1760/isp1760-regs.h
 create mode 100644 drivers/usb/isp1760/isp1760-uboot.c
 create mode 100644 drivers/usb/isp1760/isp1760-uboot.h
 rename drivers/usb/musb-new/usb-compat.h => include/linux/usb/usb_urb_compat.h (59%)