[PATCH v4 0/9] usb: isp1760: extend support for isp1763

Rui Miguel Silva
2021-05-13T08:47:29Z

The Arm MPS3 FPGA prototyping board [0] have an isp1763 [1] as USB
controller. There is already support for the isp1760 and isp1761 in
tree, this series extend the support also for the isp1763.

Move register access using regmap, remove some platform data and code,
refactor the mempool, use dr_mode to align to existing bindings, then
add the support for isp1763 host mode, add bindings files that did not
existed and at the end add also support for peripheral mode for
isp1763.

@Laurent and @Sebastian, I add both of you in the bindings files as
maintainers (it is a mandatory field)since you were the ones which
contributed with the initial code and peripheral code, let me know if
you are ok with it. If yes I may send a follow up to add also entries
in MAINTAINERS file that it is also missing.

v3 [4] -> v4:
Rob Herring (bindings):
- add device controller interrupt
- correct additionalProperties field

v2 [3] -> v3:
kernel test bot:
- add select REGMAP_MMIO

v1 [2] -> v2:

kernel test robot:
- add two patches (1/9 and 3/9) to fix dozens of pre-existing sparse
warnings so that this series does not introduce new ones.
No sparse warning left.
- fix duplication of regmap fields

Laurent:
- move initializers from .h to .c
- change interrupt registers setup from field to one shot register
setting (did not change hcd hw mode init because I think it did not
make the difference and even avoid artifact around setting twice the
register)

Rob test bot:
- fix suffix at compatible string to clean up warning in bindings

Cheers,
Rui

[0]: https://developer.arm.com/tools-and-software/development-boards/fpga-prototyping-boards/mps3
[1]: https://media.digikey.com/pdf/Data%20Sheets/ST%20Ericsson%20PDFs/ISP1763A.pdf
[2]: https://lore.kernel.org/linux-devicetree/20210504101910.18619-1-rui.silva@linaro.org/
[3]: https://lore.kernel.org/linux-usb/20210511085101.2081399-1-rui.silva@linaro.org/
[4]: https://lore.kernel.org/linux-usb/20210512090529.2283637-1-rui.silva@linaro.org/

Rui Miguel Silva (9):
usb: isp1760: fix strict typechecking
usb: isp1760: move to regmap for register access
usb: isp1760: use relaxed primitives
usb: isp1760: remove platform data struct and code
usb: isp1760: hcd: refactor mempool config and setup
usb: isp1760: use dr_mode binding
usb: isp1760: add support for isp1763
dt-bindings: usb: nxp,isp1760: add bindings
usb: isp1763: add peripheral mode

.../devicetree/bindings/usb/nxp,isp1760.yaml | 69 ++
arch/arm/boot/dts/arm-realview-eb.dtsi | 2 +-
arch/arm/boot/dts/arm-realview-pb1176.dts | 2 +-
arch/arm/boot/dts/arm-realview-pb11mp.dts | 2 +-
arch/arm/boot/dts/arm-realview-pbx.dtsi | 2 +-
arch/arm/boot/dts/vexpress-v2m-rs1.dtsi | 2 +-
arch/arm/boot/dts/vexpress-v2m.dtsi | 2 +-
drivers/usb/isp1760/Kconfig | 5 +-
drivers/usb/isp1760/isp1760-core.c | 513 ++++++++-
drivers/usb/isp1760/isp1760-core.h | 44 +-
drivers/usb/isp1760/isp1760-hcd.c | 1021 ++++++++++++-----
drivers/usb/isp1760/isp1760-hcd.h | 57 +-
drivers/usb/isp1760/isp1760-if.c | 41 +-
drivers/usb/isp1760/isp1760-regs.h | 435 ++++---
drivers/usb/isp1760/isp1760-udc.c | 250 ++--
drivers/usb/isp1760/isp1760-udc.h | 13 +-
include/linux/usb/isp1760.h | 19 -
17 files changed, 1769 insertions(+), 710 deletions(-)
create mode 100644 Documentation/devicetree/bindings/usb/nxp,isp1760.yaml
delete mode 100644 include/linux/usb/isp1760.h

--
2.31.1