linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/30 v2] ARM: ixp4xx: Modernize and DT support
@ 2019-02-21 15:44 Linus Walleij
  2019-02-21 15:44 ` [PATCH 01/30 v2] ARM: ixp4xx: Convert to MULTI_IRQ_HANDLER Linus Walleij
                   ` (30 more replies)
  0 siblings, 31 replies; 45+ messages in thread
From: Linus Walleij @ 2019-02-21 15:44 UTC (permalink / raw)
  To: linux-arm-kernel, Imre Kaloz, Krzysztof Halasa; +Cc: Linus Walleij

This modernizes the IXP4xx platform and adds initial Device Tree
Support. We migrate to MULTI_IRQ_HANDLER, bumps the IRQs to
offset 16, converts to SPARSE_IRQ, then we add proper subsystem
drivers in each subsystem for irqchip, GPIO and clocksource and
switch over to using these new drivers.

This patch set represents what I want to merge for v5.2 early
after the next merge window. I already have working ethernet
but that will be a bonus feature if we can get it in or will
be deferred to v5.3 so that it can be applied in isolation.

Major changes from v1:
- Added patches for moving NPE and queue manager down to
  drivers/soc/ixp4xx
- Added device tree bindings and code to probe NPE and queue
  manager from device tree

A working set of base patches that boots to prompt from
initramfs on NSLU2 and GW2358-4 and also includes the
series for ethernet support is provided on this branch:
https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git/log/?h=ixp4

Obviously I am looking for the IXP4xx maintainers to ACK
the patch set.


Linus Walleij (30):
  ARM: ixp4xx: Convert to MULTI_IRQ_HANDLER
  ARM: ixp4xx: Pass IRQ resource to beeper
  ARM: ixp4xx: Convert to SPARSE_IRQ
  irqchip: Add driver for IXP4xx
  gpio: ixp4xx: Add driver for the IXP4xx GPIO
  ARM: ixp4xx: Switch to use new IRQ+GPIO drivers
  clocksource/drivers/ixp4xx: Add driver
  ARM: ixp4xx: Switch to use new timer driver
  irqchip: ixp4xx: Add DT bindings
  irqchip: ixp4xx: Add OF initialization support
  clocksource/drivers/ixp4xx: Add DT bindings
  clocksource/drivers/ixp4xx: Add OF initialization support
  gpio: ixp4xx: Add DT bindings
  gpio: ixp4xx: Add OF probing support
  ARM: ixp4xx: Add DT bindings
  ARM: ixp4xx: Add device tree boot support
  ARM: dts: Add some initial IXP4xx device trees
  ARM: ixp4xx: Move NPE and QMGR to drivers/soc
  ARM: ixp4xx: Move IXP4xx QMGR and NPE headers
  ARM: ixp4xx: Turn the NPE into a platform device
  ARM: ixp4xx: Turn the QMGR into a platform device
  soc: ixp4xx: npe: Pass addresses as resources
  soc: ixp4xx: Uninline several functions
  soc: ixp4xx: Remove unused functions
  soc: ixp4xx: qmgr: Pass resources
  soc: ixp4xx: Add DT bindings for IXP4xx NPE
  soc: ixp4xx: npe: Add DT probe code
  soc: ixp4xx: qmgr: Add DT bindings for IXP4xx qmgr
  soc: ixp4xx: qmgr: Add DT probe code
  ARM: dts: Add queue manager and NPE to the IXP4xx DTSI

 .../devicetree/bindings/arm/intel-ixp4xx.yaml |  22 +
 ...ntel,ixp4xx-network-processing-engine.yaml |  44 ++
 .../bindings/gpio/intel,ixp4xx-gpio.txt       |  38 ++
 .../intel,ixp4xx-interrupt.yaml               |  57 +++
 .../misc/intel,ixp4xx-queue-manager.yaml      |  57 +++
 .../bindings/timer/intel,ixp4xx-timer.yaml    |  42 ++
 MAINTAINERS                                   |  17 +-
 arch/arm/Kconfig                              |   5 +-
 arch/arm/boot/dts/Makefile                    |   3 +
 .../boot/dts/intel-ixp42x-linksys-nslu2.dts   | 109 ++++
 arch/arm/boot/dts/intel-ixp42x.dtsi           |  25 +
 .../dts/intel-ixp43x-gateworks-gw2358.dts     |  94 ++++
 arch/arm/boot/dts/intel-ixp43x.dtsi           |  15 +
 arch/arm/boot/dts/intel-ixp45x-ixp46x.dtsi    |  34 ++
 arch/arm/boot/dts/intel-ixp4xx.dtsi           |  70 +++
 arch/arm/mach-ixp4xx/Kconfig                  |  27 +-
 arch/arm/mach-ixp4xx/Makefile                 |   5 +-
 arch/arm/mach-ixp4xx/avila-pci.c              |   2 +
 arch/arm/mach-ixp4xx/avila-setup.c            |   2 +
 arch/arm/mach-ixp4xx/common.c                 | 484 +++---------------
 arch/arm/mach-ixp4xx/coyote-pci.c             |   2 +
 arch/arm/mach-ixp4xx/coyote-setup.c           |   2 +
 arch/arm/mach-ixp4xx/dsmg600-pci.c            |   2 +
 arch/arm/mach-ixp4xx/dsmg600-setup.c          |   5 +-
 arch/arm/mach-ixp4xx/fsg-pci.c                |   2 +
 arch/arm/mach-ixp4xx/fsg-setup.c              |   2 +
 arch/arm/mach-ixp4xx/gateway7001-pci.c        |   2 +
 arch/arm/mach-ixp4xx/gateway7001-setup.c      |   2 +
 arch/arm/mach-ixp4xx/gtwx5715-pci.c           |   2 +
 arch/arm/mach-ixp4xx/gtwx5715-setup.c         |   2 +
 .../mach-ixp4xx/include/mach/entry-macro.S    |  41 --
 arch/arm/mach-ixp4xx/include/mach/irqs.h      |  75 ---
 .../mach-ixp4xx/include/mach/ixp4xx-regs.h    |  94 ----
 arch/arm/mach-ixp4xx/include/mach/qmgr.h      | 204 --------
 arch/arm/mach-ixp4xx/irqs.h                   |  68 +++
 arch/arm/mach-ixp4xx/ixdp425-pci.c            |   2 +
 arch/arm/mach-ixp4xx/ixdp425-setup.c          |   2 +
 arch/arm/mach-ixp4xx/ixdpg425-pci.c           |   2 +
 arch/arm/mach-ixp4xx/ixp4xx-of.c              |  60 +++
 arch/arm/mach-ixp4xx/nas100d-pci.c            |   2 +
 arch/arm/mach-ixp4xx/nas100d-setup.c          |   5 +-
 arch/arm/mach-ixp4xx/nslu2-pci.c              |   2 +
 arch/arm/mach-ixp4xx/nslu2-setup.c            |  12 +-
 arch/arm/mach-ixp4xx/wg302v2-pci.c            |   2 +
 arch/arm/mach-ixp4xx/wg302v2-setup.c          |   2 +
 drivers/clocksource/Kconfig                   |   7 +
 drivers/clocksource/Makefile                  |   1 +
 drivers/clocksource/timer-ixp4xx.c            | 284 ++++++++++
 drivers/crypto/ixp4xx_crypto.c                |   4 +-
 drivers/gpio/Kconfig                          |  12 +
 drivers/gpio/Makefile                         |   1 +
 drivers/gpio/gpio-ixp4xx.c                    | 474 +++++++++++++++++
 drivers/input/misc/ixp4xx-beeper.c            |  20 +-
 drivers/irqchip/Kconfig                       |   6 +
 drivers/irqchip/Makefile                      |   1 +
 drivers/irqchip/irq-ixp4xx.c                  | 407 +++++++++++++++
 drivers/net/ethernet/xscale/ixp4xx_eth.c      |  14 +-
 drivers/net/wan/ixp4xx_hss.c                  |   4 +-
 drivers/soc/Kconfig                           |   1 +
 drivers/soc/Makefile                          |   1 +
 drivers/soc/ixp4xx/Kconfig                    |  16 +
 drivers/soc/ixp4xx/Makefile                   |   2 +
 .../soc/ixp4xx/ixp4xx-npe.c                   |  66 ++-
 .../soc/ixp4xx/ixp4xx-qmgr.c                  | 186 +++++--
 drivers/watchdog/ixp4xx_wdt.c                 |   9 +
 include/linux/irqchip/irq-ixp4xx.h            |  12 +
 include/linux/platform_data/timer-ixp4xx.h    |  11 +
 .../mach => include/linux/soc/ixp4xx}/npe.h   |   2 -
 include/linux/soc/ixp4xx/qmgr.h               |  91 ++++
 69 files changed, 2467 insertions(+), 913 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/arm/intel-ixp4xx.yaml
 create mode 100644 Documentation/devicetree/bindings/firmware/intel,ixp4xx-network-processing-engine.yaml
 create mode 100644 Documentation/devicetree/bindings/gpio/intel,ixp4xx-gpio.txt
 create mode 100644 Documentation/devicetree/bindings/interrupt-controller/intel,ixp4xx-interrupt.yaml
 create mode 100644 Documentation/devicetree/bindings/misc/intel,ixp4xx-queue-manager.yaml
 create mode 100644 Documentation/devicetree/bindings/timer/intel,ixp4xx-timer.yaml
 create mode 100644 arch/arm/boot/dts/intel-ixp42x-linksys-nslu2.dts
 create mode 100644 arch/arm/boot/dts/intel-ixp42x.dtsi
 create mode 100644 arch/arm/boot/dts/intel-ixp43x-gateworks-gw2358.dts
 create mode 100644 arch/arm/boot/dts/intel-ixp43x.dtsi
 create mode 100644 arch/arm/boot/dts/intel-ixp45x-ixp46x.dtsi
 create mode 100644 arch/arm/boot/dts/intel-ixp4xx.dtsi
 delete mode 100644 arch/arm/mach-ixp4xx/include/mach/entry-macro.S
 delete mode 100644 arch/arm/mach-ixp4xx/include/mach/irqs.h
 delete mode 100644 arch/arm/mach-ixp4xx/include/mach/qmgr.h
 create mode 100644 arch/arm/mach-ixp4xx/irqs.h
 create mode 100644 arch/arm/mach-ixp4xx/ixp4xx-of.c
 create mode 100644 drivers/clocksource/timer-ixp4xx.c
 create mode 100644 drivers/gpio/gpio-ixp4xx.c
 create mode 100644 drivers/irqchip/irq-ixp4xx.c
 create mode 100644 drivers/soc/ixp4xx/Kconfig
 create mode 100644 drivers/soc/ixp4xx/Makefile
 rename arch/arm/mach-ixp4xx/ixp4xx_npe.c => drivers/soc/ixp4xx/ixp4xx-npe.c (94%)
 rename arch/arm/mach-ixp4xx/ixp4xx_qmgr.c => drivers/soc/ixp4xx/ixp4xx-qmgr.c (66%)
 create mode 100644 include/linux/irqchip/irq-ixp4xx.h
 create mode 100644 include/linux/platform_data/timer-ixp4xx.h
 rename {arch/arm/mach-ixp4xx/include/mach => include/linux/soc/ixp4xx}/npe.h (95%)
 create mode 100644 include/linux/soc/ixp4xx/qmgr.h

-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 45+ messages in thread

end of thread, other threads:[~2019-04-02 12:12 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-21 15:44 [PATCH 00/30 v2] ARM: ixp4xx: Modernize and DT support Linus Walleij
2019-02-21 15:44 ` [PATCH 01/30 v2] ARM: ixp4xx: Convert to MULTI_IRQ_HANDLER Linus Walleij
2019-02-21 15:44 ` [PATCH 02/30 v2] ARM: ixp4xx: Pass IRQ resource to beeper Linus Walleij
2019-02-21 15:44 ` [PATCH 03/30 v2] ARM: ixp4xx: Convert to SPARSE_IRQ Linus Walleij
2019-02-21 15:44 ` [PATCH 04/30 v2] irqchip: Add driver for IXP4xx Linus Walleij
2019-02-22  9:51   ` Marc Zyngier
2019-02-21 15:44 ` [PATCH 05/30 v2] gpio: ixp4xx: Add driver for the IXP4xx GPIO Linus Walleij
2019-02-21 15:44 ` [PATCH 06/30 v2] ARM: ixp4xx: Switch to use new IRQ+GPIO drivers Linus Walleij
2019-02-22  9:51   ` Marc Zyngier
2019-02-21 15:44 ` [PATCH 07/30 v2] clocksource/drivers/ixp4xx: Add driver Linus Walleij
2019-02-21 20:54   ` Daniel Lezcano
2019-03-03  9:35     ` Linus Walleij
2019-02-21 15:44 ` [PATCH 08/30 v2] ARM: ixp4xx: Switch to use new timer driver Linus Walleij
2019-02-22  8:38   ` Daniel Lezcano
2019-02-21 15:44 ` [PATCH 09/30 v2] irqchip: ixp4xx: Add DT bindings Linus Walleij
2019-02-21 21:39   ` Rob Herring
2019-02-21 15:44 ` [PATCH 10/30 v2] irqchip: ixp4xx: Add OF initialization support Linus Walleij
2019-02-22  9:53   ` Marc Zyngier
2019-02-21 15:44 ` [PATCH 11/30 v2] clocksource/drivers/ixp4xx: Add DT bindings Linus Walleij
2019-02-21 21:40   ` Rob Herring
2019-02-21 15:44 ` [PATCH 12/30 v2] clocksource/drivers/ixp4xx: Add OF initialization support Linus Walleij
2019-02-21 15:44 ` [PATCH 13/30 v2] gpio: ixp4xx: Add DT bindings Linus Walleij
2019-02-21 15:44 ` [PATCH 14/30 v2] gpio: ixp4xx: Add OF probing support Linus Walleij
2019-02-21 15:44 ` [PATCH 15/30 v2] ARM: ixp4xx: Add DT bindings Linus Walleij
2019-02-21 15:44 ` [PATCH 16/30 v2] ARM: ixp4xx: Add device tree boot support Linus Walleij
2019-02-21 15:44 ` [PATCH 17/30 v2] ARM: dts: Add some initial IXP4xx device trees Linus Walleij
2019-02-21 15:44 ` [PATCH 18/30 v2] ARM: ixp4xx: Move NPE and QMGR to drivers/soc Linus Walleij
2019-02-21 15:44 ` [PATCH 19/30 v2] ARM: ixp4xx: Move IXP4xx QMGR and NPE headers Linus Walleij
2019-02-21 15:44 ` [PATCH 20/30 v2] ARM: ixp4xx: Turn the NPE into a platform device Linus Walleij
2019-02-21 15:44 ` [PATCH 21/30 v2] ARM: ixp4xx: Turn the QMGR " Linus Walleij
2019-02-21 15:44 ` [PATCH 22/30 v2] soc: ixp4xx: npe: Pass addresses as resources Linus Walleij
2019-02-21 15:44 ` [PATCH 23/30 v2] soc: ixp4xx: Uninline several functions Linus Walleij
2019-02-21 15:44 ` [PATCH 24/30 v2] soc: ixp4xx: Remove unused functions Linus Walleij
2019-02-21 15:44 ` [PATCH 25/30 v2] soc: ixp4xx: qmgr: Pass resources Linus Walleij
2019-02-21 15:44 ` [PATCH 26/30 v2] soc: ixp4xx: Add DT bindings for IXP4xx NPE Linus Walleij
2019-02-21 21:48   ` Rob Herring
2019-02-22 10:37     ` Linus Walleij
2019-02-21 15:44 ` [PATCH 27/30 v2] soc: ixp4xx: npe: Add DT probe code Linus Walleij
2019-02-21 15:44 ` [PATCH 28/30 v2] soc: ixp4xx: qmgr: Add DT bindings for IXP4xx qmgr Linus Walleij
2019-02-21 22:00   ` Rob Herring
2019-02-21 15:44 ` [PATCH 29/30 v2] soc: ixp4xx: qmgr: Add DT probe code Linus Walleij
2019-02-21 15:44 ` [PATCH 30/30 v2] ARM: dts: Add queue manager and NPE to the IXP4xx DTSI Linus Walleij
2019-03-18  7:16 ` [PATCH 00/30 v2] ARM: ixp4xx: Modernize and DT support Krzysztof Hałasa
2019-03-18 22:16   ` Linus Walleij
2019-04-02 12:12     ` Krzysztof Hałasa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).