mbox series

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

Message ID 20210513084717.2487366-1-rui.silva@linaro.org
Headers show
Series usb: isp1760: extend support for isp1763 | expand

Message

Rui Miguel Silva May 13, 2021, 8:47 a.m. UTC
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

Comments

Laurent Pinchart June 6, 2021, 10:52 p.m. UTC | #1
Hi Rui,

I'm afraid I won't have time to review this in the near future, so feel
free to get it merged without my tags.

On Thu, May 13, 2021 at 09:47:08AM +0100, Rui Miguel Silva wrote:
> 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


-- 
Regards,

Laurent Pinchart
Rui Miguel Silva June 7, 2021, 8:42 a.m. UTC | #2
Hi Laurent,
On Sun Jun 6, 2021 at 11:52 PM WEST, Laurent Pinchart wrote:

> Hi Rui,
>
> I'm afraid I won't have time to review this in the near future, so feel
> free to get it merged without my tags.

Ok, thanks, I think Greg already put them is the usb-next, BUT I would
like to ask you to take 2 min. to reply to this [0] MAINTAINERS entry.

Thanks in advance,
------
Cheers,
     Rui

[0]: https://lore.kernel.org/linux-usb/20210607083921.38441-1-rui.silva@linaro.org/T/#u

>
> On Thu, May 13, 2021 at 09:47:08AM +0100, Rui Miguel Silva wrote:
> > 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
>
> -- 
> Regards,
>
> Laurent Pinchart