linux-spi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 00/43] ep93xx device tree conversion
@ 2023-06-01  5:33 Nikita Shubin
  2023-06-04 15:54 ` Alexander Sverdlin
  0 siblings, 1 reply; 2+ messages in thread
From: Nikita Shubin @ 2023-06-01  5:33 UTC (permalink / raw)
  To: Alexander Sverdlin, Arnd Bergmann, Linus Walleij,
	Alexander Gordeev, Alexandre Belloni, Andy Shevchenko,
	Bartosz Golaszewski, Christophe Kerello, Conor Dooley,
	Dmitry Torokhov, Emil Renner Berthing, Florian Fainelli,
	Hartley Sweeten, Heiko Stuebner, Hitomi Hasegawa, Jean Delvare,
	Joel Stanley, Jonathan Cameron, Jonathan Neuschäfer,
	Krzysztof Kozlowski, Le Moal, Liang Yang, Mark Brown,
	Masahiro Yamada, Miquel Raynal, Nathan Chancellor,
	Neil Armstrong, Nick Desaulniers, Nicolas Ferre,
	Nicolas Saenz Julienne, Nikita Shubin, Richard Weinberger,
	Russell King (Oracle),
	Sergey Shtylyov, Uwe Kleine-König, Vasily Gorbik,
	Walker Chen, Yinbo Zhu
  Cc: Michael Peters, Kris Bahnsen, alsa-devel, devicetree, dmaengine,
	linux-arm-kernel, linux-clk, linux-gpio, linux-ide, linux-input,
	linux-kernel, linux-mtd, linux-pm, linux-pwm, linux-rtc,
	linux-spi, linux-watchdog, netdev

This series aims to convert ep93xx from platform to full device tree support.

Alexander, Kris - there are some significant changes in clk and pinctrl so can i ask you to tests all once again.

So i am not applying:

Tested-by: Michael Peters <mpeters@embeddedTS.com>
Reviewed-by: Kris Bahnsen <kris@embeddedTS.com>

Tags yet.

Major changes from v0 to v1:

- I totally forgot to include dts bindings for USB, they are working, including in this version
- retinkered ep93xx keypad, the stange thing about it that it always used zeroed 
  platform data from the very beginning - my first impulse was to remove it entirely, espesially 
  it's ep9307+ variant, which Alexander and me doesn't have
- major YAML bindings overhaul according to Krzysztof comments
- nand helper converted to LEGACY nand controller
- cleanup clk
- cleanup pinctrl

Sorry if i missed something, first time handling such a big (at least for me) chunk of patches.

Next version should be much faster spin.

Alexandre Belloni:
 st,m48t86 is totally trivial, but it has 2 regs instead of one, so dt_binding_check doesn't allow it in trivial.yaml,
 regs should be increased to "maxItems: 2"

Miquel Raynal:
 Currently made it LEGACY as a more easier way for now, as this series will merge - it will be much 
 easier to cleanup the rest one by one, i hope it's ok.
 
Stephen Boyd:
 Majory of issues fixed, but:
     - removing dma from init section requires converting it from half dt/platform monstrosity 
       into fully dt compatible
     - i would like to have ep93xx_clk_data and ep93xx_map global for now - they can be removed 
       once dma subsys_initcall removed

Andrew Lunn:
  I've tinkered with the preferred way, however this involves turning on
     - CONFIG_PHYLIB
     - CONFIG_MDIO_DEVICE

  And maybe CONFIG_MICREL_PHY (at least for me, unless i can use some
  common phy driver) which implies a kernel size increase - which is
  undesirable for us.
  
  Can we slip by getting phyid directly from device tree in ep93xx_eth ?

Link: https://lore.kernel.org/all/20230424123522.18302-1-nikita.shubin@maquefel.me/
  
Cc: kris@embeddedTS.com

Alexander Sverdlin (3):
  ARM: dts: ep93xx: Add I2S and AC97 nodes
  ARM: dts: ep93xx: Add EDB9302 DT
  ASoC: cirrus: edb93xx: Delete driver

Nikita Shubin (40):
  gpio: ep93xx: split device in multiple
  dt-bindings: soc: Add Cirrus EP93xx
  soc: Add SoC driver for Cirrus ep93xx
  dt-bindings: clock: Add Cirrus EP93xx
  clk: ep93xx: add DT support for Cirrus EP93xx
  dt-bindings: pinctrl: Add Cirrus EP93xx
  pinctrl: add a Cirrus ep93xx SoC pin controller
  dt-bindings: timers: Add Cirrus EP93xx
  clocksource: ep93xx: Add driver for Cirrus Logic EP93xx
  dt-bindings: rtc: Add Cirrus EP93xx
  rtc: ep93xx: add DT support for Cirrus EP93xx
  dt-bindings: watchdog: Add Cirrus EP93x
  watchdog: ep93xx: add DT support for Cirrus EP93xx
  power: reset: Add a driver for the ep93xx reset
  dt-bindings: pwm: Add Cirrus EP93xx
  pwm: ep93xx: add DT support for Cirrus EP93xx
  dt-bindings: spi: Add Cirrus EP93xx
  spi: ep93xx: add DT support for Cirrus EP93xx
  dt-bindings: net: Add Cirrus EP93xx
  net: cirrus: add DT support for Cirrus EP93xx
  dt-bindings: dma: Add Cirrus EP93xx
  dma: cirrus: add DT support for Cirrus EP93xx
  dt-bindings: mtd: Add ts7250 nand-controller
  mtd: nand: add support for ts72xx
  dt-bindings: ata: Add Cirrus EP93xx
  pata: cirrus: add DT support for Cirrus EP93xx
  dt-bindings: input: Add Cirrus EP93xx keypad
  input: keypad: ep93xx: add DT support for Cirrus EP93xx
  dt-bindings: rtc: Add ST M48T86
  rtc: m48t86: add DT support for m48t86
  dt-bindings: wdt: Add ts72xx
  wdt: ts72xx: add DT support for ts72xx
  dt-bindings: gpio: Add Cirrus EP93xx
  gpio: ep93xx: add DT support for gpio-ep93xx
  ARM: dts: add device tree for ep93xx Soc
  ARM: ep93xx: DT for the Cirrus ep93xx SoC platforms
  pwm: ep93xx: drop legacy pinctrl
  pata: cirrus: drop legacy pinctrl
  ARM: ep93xx: delete all boardfiles
  ARM: ep93xx: soc: drop defines

 .../devicetree/bindings/arm/ep93xx.yaml       |  107 ++
 .../bindings/ata/cirrus,ep9312-pata.yaml      |   44 +
 .../bindings/clock/cirrus,ep9301.yaml         |   64 +
 .../bindings/dma/cirrus,ep9301-dma-m2m.yaml   |   72 +
 .../bindings/dma/cirrus,ep9301-dma-m2p.yaml   |  124 ++
 .../devicetree/bindings/gpio/gpio-ep9301.yaml |  154 ++
 .../bindings/input/cirrus,ep9307-keypad.yaml  |   86 +
 .../bindings/mtd/technologic,nand.yaml        |   47 +
 .../bindings/net/cirrus,ep9301-eth.yaml       |   61 +
 .../pinctrl/cirrus,ep9301-pinctrl.yaml        |   66 +
 .../bindings/pwm/cirrus,ep9301-pwm.yaml       |   48 +
 .../bindings/rtc/cirrus,ep9301-rtc.yaml       |   40 +
 .../bindings/rtc/st,m48t86-rtc.yaml           |   38 +
 .../devicetree/bindings/spi/spi-ep9301.yaml   |   69 +
 .../bindings/timer/cirrus,ep9301-timer.yaml   |   49 +
 .../bindings/watchdog/cirrus,ep9301-wdt.yaml  |   46 +
 .../watchdog/technologic,ts7200-wdt.yaml      |   46 +
 arch/arm/Makefile                             |    1 -
 arch/arm/boot/dts/Makefile                    |    1 +
 arch/arm/boot/dts/ep93xx-bk3.dts              |  119 ++
 arch/arm/boot/dts/ep93xx-edb9302.dts          |  160 ++
 arch/arm/boot/dts/ep93xx-ts7250.dts           |  132 ++
 arch/arm/boot/dts/ep93xx.dtsi                 |  477 +++++
 arch/arm/mach-ep93xx/Kconfig                  |   20 +-
 arch/arm/mach-ep93xx/Makefile                 |   11 -
 arch/arm/mach-ep93xx/clock.c                  |  733 --------
 arch/arm/mach-ep93xx/core.c                   | 1017 ----------
 arch/arm/mach-ep93xx/dma.c                    |  114 --
 arch/arm/mach-ep93xx/edb93xx.c                |  344 ----
 arch/arm/mach-ep93xx/ep93xx-regs.h            |   38 -
 arch/arm/mach-ep93xx/gpio-ep93xx.h            |  111 --
 arch/arm/mach-ep93xx/hardware.h               |   25 -
 arch/arm/mach-ep93xx/irqs.h                   |   76 -
 arch/arm/mach-ep93xx/platform.h               |   42 -
 arch/arm/mach-ep93xx/soc.h                    |  212 ---
 arch/arm/mach-ep93xx/ts72xx.c                 |  422 -----
 arch/arm/mach-ep93xx/ts72xx.h                 |   94 -
 arch/arm/mach-ep93xx/vision_ep9307.c          |  311 ---
 drivers/ata/pata_ep93xx.c                     |   33 +-
 drivers/clk/Kconfig                           |    8 +
 drivers/clk/Makefile                          |    1 +
 drivers/clk/clk-ep93xx.c                      |  850 +++++++++
 drivers/clocksource/Kconfig                   |   11 +
 drivers/clocksource/Makefile                  |    1 +
 .../clocksource}/timer-ep93xx.c               |  141 +-
 drivers/dma/ep93xx_dma.c                      |  136 +-
 drivers/gpio/gpio-ep93xx.c                    |  329 ++--
 drivers/input/keyboard/ep93xx_keypad.c        |   78 +-
 drivers/mtd/nand/raw/Kconfig                  |    7 +
 drivers/mtd/nand/raw/Makefile                 |    1 +
 .../nand/raw/technologic-nand-controller.c    |  151 ++
 drivers/net/ethernet/cirrus/ep93xx_eth.c      |   67 +-
 drivers/pinctrl/Kconfig                       |    7 +
 drivers/pinctrl/Makefile                      |    1 +
 drivers/pinctrl/pinctrl-ep93xx.c              | 1672 +++++++++++++++++
 drivers/power/reset/Kconfig                   |   10 +
 drivers/power/reset/Makefile                  |    1 +
 drivers/power/reset/ep93xx-restart.c          |   65 +
 drivers/pwm/pwm-ep93xx.c                      |   26 +-
 drivers/rtc/rtc-ep93xx.c                      |    8 +
 drivers/rtc/rtc-m48t86.c                      |    8 +
 drivers/soc/Kconfig                           |    1 +
 drivers/soc/Makefile                          |    1 +
 drivers/soc/cirrus/Kconfig                    |   11 +
 drivers/soc/cirrus/Makefile                   |    2 +
 drivers/soc/cirrus/soc-ep93xx.c               |  134 ++
 drivers/spi/spi-ep93xx.c                      |   31 +-
 drivers/watchdog/ep93xx_wdt.c                 |    8 +
 drivers/watchdog/ts72xx_wdt.c                 |    8 +
 .../dt-bindings/clock/cirrus,ep93xx-clock.h   |   53 +
 include/linux/platform_data/dma-ep93xx.h      |    3 +
 include/linux/platform_data/eth-ep93xx.h      |   10 -
 include/linux/platform_data/keypad-ep93xx.h   |   32 -
 include/linux/soc/cirrus/ep93xx.h             |   40 +-
 sound/soc/cirrus/Kconfig                      |    9 -
 sound/soc/cirrus/Makefile                     |    4 -
 sound/soc/cirrus/edb93xx.c                    |  117 --
 77 files changed, 5575 insertions(+), 4122 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/arm/ep93xx.yaml
 create mode 100644 Documentation/devicetree/bindings/ata/cirrus,ep9312-pata.yaml
 create mode 100644 Documentation/devicetree/bindings/clock/cirrus,ep9301.yaml
 create mode 100644 Documentation/devicetree/bindings/dma/cirrus,ep9301-dma-m2m.yaml
 create mode 100644 Documentation/devicetree/bindings/dma/cirrus,ep9301-dma-m2p.yaml
 create mode 100644 Documentation/devicetree/bindings/gpio/gpio-ep9301.yaml
 create mode 100644 Documentation/devicetree/bindings/input/cirrus,ep9307-keypad.yaml
 create mode 100644 Documentation/devicetree/bindings/mtd/technologic,nand.yaml
 create mode 100644 Documentation/devicetree/bindings/net/cirrus,ep9301-eth.yaml
 create mode 100644 Documentation/devicetree/bindings/pinctrl/cirrus,ep9301-pinctrl.yaml
 create mode 100644 Documentation/devicetree/bindings/pwm/cirrus,ep9301-pwm.yaml
 create mode 100644 Documentation/devicetree/bindings/rtc/cirrus,ep9301-rtc.yaml
 create mode 100644 Documentation/devicetree/bindings/rtc/st,m48t86-rtc.yaml
 create mode 100644 Documentation/devicetree/bindings/spi/spi-ep9301.yaml
 create mode 100644 Documentation/devicetree/bindings/timer/cirrus,ep9301-timer.yaml
 create mode 100644 Documentation/devicetree/bindings/watchdog/cirrus,ep9301-wdt.yaml
 create mode 100644 Documentation/devicetree/bindings/watchdog/technologic,ts7200-wdt.yaml
 create mode 100644 arch/arm/boot/dts/ep93xx-bk3.dts
 create mode 100644 arch/arm/boot/dts/ep93xx-edb9302.dts
 create mode 100644 arch/arm/boot/dts/ep93xx-ts7250.dts
 create mode 100644 arch/arm/boot/dts/ep93xx.dtsi
 delete mode 100644 arch/arm/mach-ep93xx/Makefile
 delete mode 100644 arch/arm/mach-ep93xx/clock.c
 delete mode 100644 arch/arm/mach-ep93xx/core.c
 delete mode 100644 arch/arm/mach-ep93xx/dma.c
 delete mode 100644 arch/arm/mach-ep93xx/edb93xx.c
 delete mode 100644 arch/arm/mach-ep93xx/ep93xx-regs.h
 delete mode 100644 arch/arm/mach-ep93xx/gpio-ep93xx.h
 delete mode 100644 arch/arm/mach-ep93xx/hardware.h
 delete mode 100644 arch/arm/mach-ep93xx/irqs.h
 delete mode 100644 arch/arm/mach-ep93xx/platform.h
 delete mode 100644 arch/arm/mach-ep93xx/soc.h
 delete mode 100644 arch/arm/mach-ep93xx/ts72xx.c
 delete mode 100644 arch/arm/mach-ep93xx/ts72xx.h
 delete mode 100644 arch/arm/mach-ep93xx/vision_ep9307.c
 create mode 100644 drivers/clk/clk-ep93xx.c
 rename {arch/arm/mach-ep93xx => drivers/clocksource}/timer-ep93xx.c (52%)
 create mode 100644 drivers/mtd/nand/raw/technologic-nand-controller.c
 create mode 100644 drivers/pinctrl/pinctrl-ep93xx.c
 create mode 100644 drivers/power/reset/ep93xx-restart.c
 create mode 100644 drivers/soc/cirrus/Kconfig
 create mode 100644 drivers/soc/cirrus/Makefile
 create mode 100644 drivers/soc/cirrus/soc-ep93xx.c
 create mode 100644 include/dt-bindings/clock/cirrus,ep93xx-clock.h
 delete mode 100644 include/linux/platform_data/eth-ep93xx.h
 delete mode 100644 include/linux/platform_data/keypad-ep93xx.h
 delete mode 100644 sound/soc/cirrus/edb93xx.c

-- 
2.37.4


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

* Re: [PATCH v1 00/43] ep93xx device tree conversion
  2023-06-01  5:33 [PATCH v1 00/43] ep93xx device tree conversion Nikita Shubin
@ 2023-06-04 15:54 ` Alexander Sverdlin
  0 siblings, 0 replies; 2+ messages in thread
From: Alexander Sverdlin @ 2023-06-04 15:54 UTC (permalink / raw)
  To: Nikita Shubin, Arnd Bergmann, Linus Walleij, Alexander Gordeev,
	Alexandre Belloni, Andy Shevchenko, Bartosz Golaszewski,
	Christophe Kerello, Conor Dooley, Dmitry Torokhov,
	Emil Renner Berthing, Florian Fainelli, Hartley Sweeten,
	Heiko Stuebner, Hitomi Hasegawa, Jean Delvare, Joel Stanley,
	Jonathan Cameron, Jonathan Neuschäfer, Krzysztof Kozlowski,
	Le Moal, Liang Yang, Mark Brown, Masahiro Yamada, Miquel Raynal,
	Nathan Chancellor, Neil Armstrong, Nick Desaulniers,
	Nicolas Ferre, Nicolas Saenz Julienne, Richard Weinberger,
	Russell King (Oracle),
	Sergey Shtylyov, Uwe Kleine-König, Vasily Gorbik,
	Walker Chen, Yinbo Zhu
  Cc: Michael Peters, Kris Bahnsen, alsa-devel, devicetree, dmaengine,
	linux-arm-kernel, linux-clk, linux-gpio, linux-ide, linux-input,
	linux-kernel, linux-mtd, linux-pm, linux-pwm, linux-rtc,
	linux-spi, linux-watchdog, netdev

Hi Nikita,

On Thu, 2023-06-01 at 08:33 +0300, Nikita Shubin wrote:
> This series aims to convert ep93xx from platform to full device tree support.
> 
> Alexander, Kris - there are some significant changes in clk and pinctrl so can i ask you to tests all once again.

I have quickly tested network and sound on EDB9302 and I neither have problems with
these functions, nor did I spot any new error messages, overall looks good to me,
thanks for your efforts!

-- 
Alexander Sverdlin.


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

end of thread, other threads:[~2023-06-04 15:54 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-01  5:33 [PATCH v1 00/43] ep93xx device tree conversion Nikita Shubin
2023-06-04 15:54 ` Alexander Sverdlin

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).