* Re: [PATCH 07/43] dt-bindings: rtc: add DT bindings for Cirrus EP93xx
2023-04-24 12:34 ` [PATCH 07/43] dt-bindings: rtc: " Nikita Shubin
@ 2023-04-24 10:08 ` Alexandre Belloni
2023-04-25 9:28 ` Krzysztof Kozlowski
1 sibling, 0 replies; 118+ messages in thread
From: Alexandre Belloni @ 2023-04-24 10:08 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
Alessandro Zummo, Rob Herring, Krzysztof Kozlowski,
Hartley Sweeten, linux-rtc, devicetree, linux-kernel
On 24/04/2023 15:34:23+0300, Nikita Shubin wrote:
> This adds device tree bindings for the Cirrus Logic EP93xx
> RTC block used in these SoCs.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
> .../bindings/rtc/cirrus,ep93xx-rtc.yaml | 32 +++++++++++++++++++
> 1 file changed, 32 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/rtc/cirrus,ep93xx-rtc.yaml
>
> diff --git a/Documentation/devicetree/bindings/rtc/cirrus,ep93xx-rtc.yaml b/Documentation/devicetree/bindings/rtc/cirrus,ep93xx-rtc.yaml
> new file mode 100644
> index 000000000000..d4774e984e7b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/rtc/cirrus,ep93xx-rtc.yaml
I guess this one should go in .Documentation/devicetree/bindings/rtc/trivial-rtc.yaml?
> @@ -0,0 +1,32 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/rtc/cirrus,ep93xx-rtc.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Cirrus EP93xx Real Time Clock controller
> +
> +maintainers:
> + - Hartley Sweeten <hsweeten@visionengravers.com>
> + - Alexander Sverdlin <alexander.sverdlin@gmail.com>
> +
> +properties:
> + compatible:
> + const: cirrus,ep9301-rtc
> +
> + reg:
> + maxItems: 1
> +
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + rtc0: rtc@80920000 {
> + compatible = "cirrus,ep9301-rtc";
> + reg = <0x80920000 0x100>;
> + };
> +
> --
> 2.39.2
>
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 34/43] ARM: dts: add device tree for ep93xx Soc
2023-04-24 12:34 ` [PATCH 34/43] ARM: dts: add device tree for ep93xx Soc Nikita Shubin
@ 2023-04-24 11:28 ` Arnd Bergmann
2023-04-28 15:13 ` Nikita Shubin
2023-04-28 21:56 ` Kris Bahnsen
0 siblings, 2 replies; 118+ messages in thread
From: Arnd Bergmann @ 2023-04-24 11:28 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Olof Johansson,
soc, Rob Herring, Krzysztof Kozlowski, linux-arm-kernel,
devicetree, linux-kernel, Lukasz Majewski, support
On Mon, Apr 24, 2023, at 14:34, Nikita Shubin wrote:
> This adds a divice for Cirrus ep93xx SoC amd ts7250 board that has been
> my testing target for ep93xx device support.
>
> Also inluded device tree for Liebherr BK3.1 board through it's not a
> complete support.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
Can you describe which parts are missing for BK3.1 in the
changelog? I'm fairly sure that Liebherr is still supporting
this board, but I don't have a contact to add to Cc here.
I've added Lukasz Majewski to Cc here, as he originally worked
on BK3.1 and likely either has the hardware or knows someone
who does. Technologic Systems also lists the ts7250 as supported
on their website, but the only contact I found for them is the
generic support@embeddedTS.com. In case someone from Technologic
is available for giving the series a spin, see [1] for the
full set of patches.
Arnd
[1] https://lore.kernel.org/all/20230424123522.18302-1-nikita.shubin@maquefel.me/
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 00/43] ep93xx device tree conversion
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
@ 2023-04-24 11:31 ` Arnd Bergmann
[not found] ` <20230424152933.48b2ede1@kernel.org>
2023-04-24 12:34 ` [PATCH 03/43] dt-bindings: pinctrl: Add DT bindings ep93xx pinctrl Nikita Shubin
` (39 subsequent siblings)
40 siblings, 1 reply; 118+ messages in thread
From: Arnd Bergmann @ 2023-04-24 11:31 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
David S . Miller, Jonathan Neuschäfer, Russell King,
Uwe Kleine-König, Alessandro Zummo, Alexander Gordeev,
Alexandre Belloni, Andy Shevchenko, Bartosz Golaszewski,
Brian Norris, Chuanhong Guo, Conor.Dooley, Damien Le Moal,
Daniel Lezcano, Dmitry Torokhov, Emil Renner Berthing,
Eric Dumazet, Florian Fainelli, Guenter Roeck, Hartley Sweeten,
Heiko Stübner, Hitomi Hasegawa, Jakub Kicinski,
Jaroslav Kysela, Jean Delvare, Joel Stanley, Jonathan Cameron,
Krzysztof Kozlowski, Damien Le Moal, Liam Girdwood, Liang Yang,
Linus Walleij, Lukasz Majewski, Lv Ruyi, Mark Brown,
Masahiro Yamada, Michael Turquette, Miquel Raynal,
Nathan Chancellor, Nick Desaulniers, Nicolas Saenz Julienne,
Olof Johansson, Paolo Abeni, Qin Jian, Richard Weinberger,
Rob Herring, Robert Jarzmik, Russell King, Sebastian Reichel,
Sergey Shtylyov, Stephen Boyd, Sumanth Korikkar, Sven Peter,
Takashi Iwai, Thierry Reding, Thomas Gleixner, Ulf Hansson,
Vasily Gorbik, Vignesh Raghavendra, Vinod Koul, Walker Chen,
Wim Van Sebroeck, Yinbo Zhu, alsa-devel, devicetree, dmaengine,
linux-arm-kernel, linux-clk, open list:GPIO SUBSYSTEM, linux-ide,
linux-input, linux-kernel, linux-mtd, linux-pm, linux-pwm,
linux-rtc, linux-spi, linux-watchdog, Netdev, soc
On Mon, Apr 24, 2023, at 14:34, Nikita Shubin wrote:
> This series aims to convert ep93xx from platform to full device tree support.
>
> Tested on ts7250 64 RAM/128 MiB Nand flash, edb9302.
>
> Thank you Linus and Arnd for your support, review and comments, sorry
> if i missed something -
> these series are quite big for me.
>
> Big thanks to Alexander Sverdlin for his testing, support, review,
> fixes and patches.
Thanks a lot for your continued work. I can't merge any of this at
the moment since the upstream merge window just opened, but I'm
happy to take this all through the soc tree for 6.5, provided we
get the sufficient Acks from the subsystem maintainers. Merging
it through each individual tree would take a lot longer, so I
hope we can avoid that.
Arnd
^ permalink raw reply [flat|nested] 118+ messages in thread
* [PATCH 00/43] ep93xx device tree conversion
@ 2023-04-24 12:34 Nikita Shubin
2023-04-24 11:31 ` Arnd Bergmann
` (40 more replies)
0 siblings, 41 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-04-24 12:34 UTC (permalink / raw)
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, David S. Miller,
Jonathan Neuschäfer, Russell King (Oracle),
Uwe Kleine-König, Alessandro Zummo, Alexander Gordeev,
Alexandre Belloni, Andy Shevchenko, Arnd Bergmann,
Bartosz Golaszewski, Brian Norris, Chuanhong Guo, Conor Dooley,
Damien Le Moal, Daniel Lezcano, Dmitry Torokhov,
Emil Renner Berthing, Eric Dumazet, Florian Fainelli,
Guenter Roeck, Hartley Sweeten, Heiko Stuebner, Hitomi Hasegawa,
Jakub Kicinski, Jaroslav Kysela, Jean Delvare, Joel Stanley,
Jonathan Cameron, Krzysztof Kozlowski, Le Moal, Liam Girdwood,
Liang Yang, Linus Walleij, Lukasz Majewski, Lv Ruyi, Mark Brown,
Masahiro Yamada, Michael Turquette, Miquel Raynal,
Nathan Chancellor, Nick Desaulniers, Nicolas Saenz Julienne,
Olof Johansson, Paolo Abeni, Qin Jian, Richard Weinberger,
Rob Herring, Robert Jarzmik, Russell King, Sebastian Reichel,
Sergey Shtylyov, Stephen Boyd, Sumanth Korikkar, Sven Peter,
Takashi Iwai, Thierry Reding, Thomas Gleixner, Ulf Hansson,
Vasily Gorbik, Vignesh Raghavendra, Vinod Koul, Walker Chen,
Wim Van Sebroeck, Yinbo Zhu, 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, soc
This series aims to convert ep93xx from platform to full device tree support.
Tested on ts7250 64 RAM/128 MiB Nand flash, edb9302.
Thank you Linus and Arnd for your support, review and comments, sorry if i missed something -
these series are quite big for me.
Big thanks to Alexander Sverdlin for his testing, support, review, fixes and patches.
Alexander Sverdlin (4):
ARM: dts: ep93xx: Add ADC node
ARM: dts: ep93xx: Add I2S and AC97 nodes
ARM: dts: ep93xx: Add EDB9302 DT
ASoC: cirrus: edb93xx: Delete driver
Nikita Shubin (39):
gpio: ep93xx: split device in multiple
soc: Add SoC driver for Cirrus ep93xx
dt-bindings: pinctrl: Add DT bindings ep93xx pinctrl
pinctrl: add a Cirrus ep93xx SoC pin controller
dt-bindings: timers: add DT bindings for Cirrus EP93xx
clocksource: ep93xx: Add driver for Cirrus Logic EP93xx
dt-bindings: rtc: add DT bindings for Cirrus EP93xx
rtc: ep93xx: add DT support for Cirrus EP93xx
dt-bindings: watchdog: add DT bindings for Cirrus EP93x
watchdog: ep93xx: add DT support for Cirrus EP93xx
dt-bindings: clock: add DT bindings for Cirrus EP93xx
clk: ep93xx: add DT support for Cirrus EP93xx
power: reset: Add a driver for the ep93xx reset
dt-bindings: pwm: Add DT bindings ep93xx PWM
pwm: ep93xx: add DT support for Cirrus EP93xx
dt-bindings: spi: Add DT bindings ep93xx spi
spi: ep93xx: add DT support for Cirrus EP93xx
dt-bindings: net: Add DT bindings ep93xx eth
net: cirrus: add DT support for Cirrus EP93xx
dt-bindings: dma: Add DT bindings ep93xx dma
dma: cirrus: add DT support for Cirrus EP93xx
dt-bindings: mtd: add DT bindings for ts7250 nand
mtd: ts72xx_nand: add platform helper
dt-bindings: ata: Add DT bindings ep93xx pata
pata: cirrus: add DT support for Cirrus EP93xx
dt-bindings: input: Add DT bindings ep93xx keypad
input: keypad: ep93xx: add DT support for Cirrus EP93xx
dt-bindings: rtc: Add DT binding m48t86 rtc
rtc: m48t86: add DT support for m48t86
dt-bindings: wdt: Add DT binding ts72xx wdt
wdt: ts72xx: add DT support for ts72xx
dt-bindings: gpio: Add DT bindings ep93xx gpio
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
input: keypad: ep93xx: drop legacy pinctrl
ARM: ep93xx: soc: drop defines
ARM: ep93xx: delete all boardfiles
.../devicetree/bindings/arm/ep93xx.yaml | 99 +
.../bindings/ata/cirrus,ep93xx-pata.yaml | 40 +
.../bindings/dma/cirrus,ep93xx-dma-m2m.yaml | 66 +
.../bindings/dma/cirrus,ep93xx-dma-m2p.yaml | 102 +
.../devicetree/bindings/gpio/gpio-ep93xx.yaml | 161 ++
.../bindings/input/cirrus,ep93xx-keypad.yaml | 123 ++
.../bindings/mtd/technologic,nand.yaml | 56 +
.../bindings/net/cirrus,ep93xx_eth.yaml | 51 +
.../pinctrl/cirrus,ep93xx-pinctrl.yaml | 66 +
.../bindings/pwm/cirrus,ep93xx-pwm.yaml | 45 +
.../bindings/rtc/cirrus,ep93xx-rtc.yaml | 32 +
.../bindings/rtc/dallas,rtc-m48t86.yaml | 33 +
.../devicetree/bindings/spi/spi-ep93xx.yaml | 68 +
.../bindings/timer/cirrus,ep93xx-timer.yaml | 41 +
.../bindings/watchdog/cirrus,ep93xx-wdt.yaml | 38 +
.../watchdog/technologic,ts72xx-wdt.yaml | 39 +
arch/arm/Makefile | 1 -
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/ep93xx-bk3.dts | 96 +
arch/arm/boot/dts/ep93xx-edb9302.dts | 150 ++
arch/arm/boot/dts/ep93xx-ts7250.dts | 113 ++
arch/arm/boot/dts/ep93xx.dtsi | 466 +++++
arch/arm/mach-ep93xx/Kconfig | 20 +-
arch/arm/mach-ep93xx/Makefile | 11 -
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 | 9 +
drivers/clk/Kconfig | 8 +
drivers/clk/Makefile | 1 +
.../clock.c => drivers/clk/clk-ep93xx.c | 491 +++--
drivers/clocksource/Kconfig | 11 +
drivers/clocksource/Makefile | 1 +
.../clocksource}/timer-ep93xx.c | 143 +-
drivers/dma/ep93xx_dma.c | 119 +-
drivers/gpio/gpio-ep93xx.c | 329 ++--
drivers/input/keyboard/ep93xx_keypad.c | 25 +-
drivers/mtd/nand/raw/Kconfig | 8 +
drivers/mtd/nand/raw/Makefile | 1 +
drivers/mtd/nand/raw/ts72xx_nand.c | 94 +
drivers/net/ethernet/cirrus/ep93xx_eth.c | 49 +-
drivers/pinctrl/Kconfig | 7 +
drivers/pinctrl/Makefile | 1 +
drivers/pinctrl/pinctrl-ep93xx.c | 1698 +++++++++++++++++
drivers/power/reset/Kconfig | 10 +
drivers/power/reset/Makefile | 1 +
drivers/power/reset/ep93xx-restart.c | 65 +
drivers/pwm/pwm-ep93xx.c | 24 +-
drivers/rtc/rtc-ep93xx.c | 8 +
drivers/rtc/rtc-m48t86.c | 10 +
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/soc/cirrus/ep93xx.h | 28 +-
sound/soc/cirrus/Kconfig | 9 -
sound/soc/cirrus/Makefile | 4 -
sound/soc/cirrus/edb93xx.c | 119 --
73 files changed, 4796 insertions(+), 3453 deletions(-)
create mode 100644 Documentation/devicetree/bindings/arm/ep93xx.yaml
create mode 100644 Documentation/devicetree/bindings/ata/cirrus,ep93xx-pata.yaml
create mode 100644 Documentation/devicetree/bindings/dma/cirrus,ep93xx-dma-m2m.yaml
create mode 100644 Documentation/devicetree/bindings/dma/cirrus,ep93xx-dma-m2p.yaml
create mode 100644 Documentation/devicetree/bindings/gpio/gpio-ep93xx.yaml
create mode 100644 Documentation/devicetree/bindings/input/cirrus,ep93xx-keypad.yaml
create mode 100644 Documentation/devicetree/bindings/mtd/technologic,nand.yaml
create mode 100644 Documentation/devicetree/bindings/net/cirrus,ep93xx_eth.yaml
create mode 100644 Documentation/devicetree/bindings/pinctrl/cirrus,ep93xx-pinctrl.yaml
create mode 100644 Documentation/devicetree/bindings/pwm/cirrus,ep93xx-pwm.yaml
create mode 100644 Documentation/devicetree/bindings/rtc/cirrus,ep93xx-rtc.yaml
create mode 100644 Documentation/devicetree/bindings/rtc/dallas,rtc-m48t86.yaml
create mode 100644 Documentation/devicetree/bindings/spi/spi-ep93xx.yaml
create mode 100644 Documentation/devicetree/bindings/timer/cirrus,ep93xx-timer.yaml
create mode 100644 Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml
create mode 100644 Documentation/devicetree/bindings/watchdog/technologic,ts72xx-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/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
rename arch/arm/mach-ep93xx/clock.c => drivers/clk/clk-ep93xx.c (60%)
rename {arch/arm/mach-ep93xx => drivers/clocksource}/timer-ep93xx.c (51%)
create mode 100644 drivers/mtd/nand/raw/ts72xx_nand.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 sound/soc/cirrus/edb93xx.c
--
2.39.2
^ permalink raw reply [flat|nested] 118+ messages in thread
* [PATCH 03/43] dt-bindings: pinctrl: Add DT bindings ep93xx pinctrl
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
2023-04-24 11:31 ` Arnd Bergmann
@ 2023-04-24 12:34 ` Nikita Shubin
2023-04-24 13:28 ` Rob Herring
2023-04-25 9:24 ` Krzysztof Kozlowski
2023-04-24 12:34 ` [PATCH 05/43] dt-bindings: timers: add DT bindings for Cirrus EP93xx Nikita Shubin
` (38 subsequent siblings)
40 siblings, 2 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-04-24 12:34 UTC (permalink / raw)
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Linus Walleij,
Rob Herring, Krzysztof Kozlowski, linux-gpio, devicetree,
linux-kernel
Add YAML bindings ep93xx SoC.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
---
Notes:
rfc->v0:
- dropped separate bindings description, left only one with all groups,
functions and etc...
- added Alexander Sverdlin to maintainers
- added Linus Reviwed-by tags, through i shoudn't =) too many changes
- fixed warning and added seq_file header
.../pinctrl/cirrus,ep93xx-pinctrl.yaml | 66 +++++++++++++++++++
1 file changed, 66 insertions(+)
create mode 100644 Documentation/devicetree/bindings/pinctrl/cirrus,ep93xx-pinctrl.yaml
diff --git a/Documentation/devicetree/bindings/pinctrl/cirrus,ep93xx-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/cirrus,ep93xx-pinctrl.yaml
new file mode 100644
index 000000000000..cba4be7c5994
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/cirrus,ep93xx-pinctrl.yaml
@@ -0,0 +1,66 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pinctrl/cirrus,ep93xx-pinctrl.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus ep93xx pins mux controller
+
+maintainers:
+ - Nikita Shubin <nikita.shubin@maquefel.me>
+ - Alexander Sverdlin <alexander.sverdlin@gmail.com>
+
+properties:
+ compatible:
+ enum:
+ - cirrus,ep9301-pinctrl
+ - cirrus,ep9307-pinctrl
+ - cirrus,ep9312-pinctrl
+ regmap:
+ description: phandle to syscon
+
+patternProperties:
+ '^pinctrl-':
+ type: object
+ description: pin node
+ $ref: pinmux-node.yaml#
+
+ properties:
+ function:
+ enum: [ spi, ac97, i2s, pwm, keypad, pata, lcd, gpio1, gpio2, gpio3,
+ gpio4, gpio6, gpio7 ]
+ groups:
+ minItems: 1
+ maxItems: 2
+ items:
+ enum: [ ssp, ac97, i2s_on_ssp, i2s_on_ac97, pwm1, gpio1agrp,
+ gpio2agrp, gpio3agrp, gpio4agrp, gpio6agrp, gpio7agrp,
+ rasteronsdram0grp, rasteronsdram3grp, keypadgrp, idegrp]
+
+ required:
+ - function
+ - groups
+
+required:
+ - compatible
+ - regmap
+
+additionalProperties: false
+
+examples:
+ - |
+ syscon: syscon@80930000 {
+ compatible = "cirrus,ep9301-syscon",
+ "syscon", "simple-mfd";
+ reg = <0x80930000 0x1000>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ pinctrl: pinctrl {
+ compatible = "cirrus,ep9312-pinctrl";
+ regmap = <&syscon>;
+ spi_default_pins: pinctrl-spi {
+ function = "spi";
+ groups = "ssp";
+ };
+ };
+ };
--
2.39.2
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH 05/43] dt-bindings: timers: add DT bindings for Cirrus EP93xx
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
2023-04-24 11:31 ` Arnd Bergmann
2023-04-24 12:34 ` [PATCH 03/43] dt-bindings: pinctrl: Add DT bindings ep93xx pinctrl Nikita Shubin
@ 2023-04-24 12:34 ` Nikita Shubin
2023-04-25 9:26 ` Krzysztof Kozlowski
2023-04-25 9:29 ` Krzysztof Kozlowski
2023-04-24 12:34 ` [PATCH 07/43] dt-bindings: rtc: " Nikita Shubin
` (37 subsequent siblings)
40 siblings, 2 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-04-24 12:34 UTC (permalink / raw)
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Daniel Lezcano,
Thomas Gleixner, Rob Herring, Krzysztof Kozlowski,
Hartley Sweeten, linux-kernel, devicetree
This adds device tree bindings for the Cirrus Logic EP93xx
timer block used in these SoCs.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
Notes:
Arnd Bergmann:
- replaced ep93xx wildcard with ep9301
.../bindings/timer/cirrus,ep93xx-timer.yaml | 41 +++++++++++++++++++
1 file changed, 41 insertions(+)
create mode 100644 Documentation/devicetree/bindings/timer/cirrus,ep93xx-timer.yaml
diff --git a/Documentation/devicetree/bindings/timer/cirrus,ep93xx-timer.yaml b/Documentation/devicetree/bindings/timer/cirrus,ep93xx-timer.yaml
new file mode 100644
index 000000000000..ce8b8a5cb90a
--- /dev/null
+++ b/Documentation/devicetree/bindings/timer/cirrus,ep93xx-timer.yaml
@@ -0,0 +1,41 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/timer/cirrus,ep93xx-timer.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus Logic EP93xx timers bindings
+
+maintainers:
+ - Hartley Sweeten <hsweeten@visionengravers.com>
+ - Alexander Sverdlin <alexander.sverdlin@gmail.com>
+
+properties:
+ compatible:
+ const: cirrus,ep9301-timer
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ resets:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ timer@80810000 {
+ compatible = "cirrus,ep9301-timer";
+ reg = <0x80810000 0x100>;
+ interrupt-parent = <&vic1>;
+ interrupts = <19>;
+ };
+...
--
2.39.2
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH 07/43] dt-bindings: rtc: add DT bindings for Cirrus EP93xx
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (2 preceding siblings ...)
2023-04-24 12:34 ` [PATCH 05/43] dt-bindings: timers: add DT bindings for Cirrus EP93xx Nikita Shubin
@ 2023-04-24 12:34 ` Nikita Shubin
2023-04-24 10:08 ` Alexandre Belloni
2023-04-25 9:28 ` Krzysztof Kozlowski
2023-04-24 12:34 ` [PATCH 09/43] dt-bindings: watchdog: add DT bindings for Cirrus EP93x Nikita Shubin
` (36 subsequent siblings)
40 siblings, 2 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-04-24 12:34 UTC (permalink / raw)
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
Alessandro Zummo, Alexandre Belloni, Rob Herring,
Krzysztof Kozlowski, Hartley Sweeten, linux-rtc, devicetree,
linux-kernel
This adds device tree bindings for the Cirrus Logic EP93xx
RTC block used in these SoCs.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
.../bindings/rtc/cirrus,ep93xx-rtc.yaml | 32 +++++++++++++++++++
1 file changed, 32 insertions(+)
create mode 100644 Documentation/devicetree/bindings/rtc/cirrus,ep93xx-rtc.yaml
diff --git a/Documentation/devicetree/bindings/rtc/cirrus,ep93xx-rtc.yaml b/Documentation/devicetree/bindings/rtc/cirrus,ep93xx-rtc.yaml
new file mode 100644
index 000000000000..d4774e984e7b
--- /dev/null
+++ b/Documentation/devicetree/bindings/rtc/cirrus,ep93xx-rtc.yaml
@@ -0,0 +1,32 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/rtc/cirrus,ep93xx-rtc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus EP93xx Real Time Clock controller
+
+maintainers:
+ - Hartley Sweeten <hsweeten@visionengravers.com>
+ - Alexander Sverdlin <alexander.sverdlin@gmail.com>
+
+properties:
+ compatible:
+ const: cirrus,ep9301-rtc
+
+ reg:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ rtc0: rtc@80920000 {
+ compatible = "cirrus,ep9301-rtc";
+ reg = <0x80920000 0x100>;
+ };
+
--
2.39.2
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH 09/43] dt-bindings: watchdog: add DT bindings for Cirrus EP93x
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (3 preceding siblings ...)
2023-04-24 12:34 ` [PATCH 07/43] dt-bindings: rtc: " Nikita Shubin
@ 2023-04-24 12:34 ` Nikita Shubin
2023-04-24 14:16 ` Guenter Roeck
2023-04-25 9:31 ` Krzysztof Kozlowski
2023-04-24 12:34 ` [PATCH 11/43] dt-bindings: clock: add DT bindings for Cirrus EP93xx Nikita Shubin
` (35 subsequent siblings)
40 siblings, 2 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-04-24 12:34 UTC (permalink / raw)
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
Wim Van Sebroeck, Guenter Roeck, Rob Herring, Krzysztof Kozlowski,
linux-watchdog, devicetree, linux-kernel
This adds device tree bindings for the Cirrus Logic EP93xx
watchdog block used in these SoCs.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
.../bindings/watchdog/cirrus,ep93xx-wdt.yaml | 38 +++++++++++++++++++
1 file changed, 38 insertions(+)
create mode 100644 Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml
diff --git a/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml b/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml
new file mode 100644
index 000000000000..f39d6b14062d
--- /dev/null
+++ b/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml
@@ -0,0 +1,38 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/watchdog/cirrus,ep93xx-wdt.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus Logic EP93xx Watchdog Timer
+
+maintainers:
+ - Wim Van Sebroeck <wim@linux-watchdog.org>
+
+description:
+ Watchdog driver for Cirrus Logic EP93xx family of devices.
+
+allOf:
+ - $ref: "watchdog.yaml#"
+
+properties:
+ compatible:
+ enum:
+ - cirrus,ep9301-wdt
+
+ reg:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ wdt0: watchdog@80940000 {
+ compatible = "cirrus,ep9301-wdt";
+ reg = <0x80940000 0x08>;
+ };
+
--
2.39.2
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH 11/43] dt-bindings: clock: add DT bindings for Cirrus EP93xx
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (4 preceding siblings ...)
2023-04-24 12:34 ` [PATCH 09/43] dt-bindings: watchdog: add DT bindings for Cirrus EP93x Nikita Shubin
@ 2023-04-24 12:34 ` Nikita Shubin
2023-04-24 13:28 ` Rob Herring
2023-04-28 23:15 ` Stephen Boyd
2023-04-24 12:34 ` [PATCH 14/43] dt-bindings: pwm: Add DT bindings ep93xx PWM Nikita Shubin
` (34 subsequent siblings)
40 siblings, 2 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-04-24 12:34 UTC (permalink / raw)
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Rob Herring,
Krzysztof Kozlowski, Michael Turquette, Stephen Boyd,
Hartley Sweeten, devicetree, linux-kernel, linux-clk
This adds device tree bindings for the Cirrus Logic EP93xx
clock block used in these SoCs.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
.../devicetree/bindings/arm/ep93xx.yaml | 102 ++++++++++++++++++
.../dt-bindings/clock/cirrus,ep93xx-clock.h | 53 +++++++++
2 files changed, 155 insertions(+)
create mode 100644 Documentation/devicetree/bindings/arm/ep93xx.yaml
create mode 100644 include/dt-bindings/clock/cirrus,ep93xx-clock.h
diff --git a/Documentation/devicetree/bindings/arm/ep93xx.yaml b/Documentation/devicetree/bindings/arm/ep93xx.yaml
new file mode 100644
index 000000000000..de7020f4f356
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/ep93xx.yaml
@@ -0,0 +1,102 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/ep93xx.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus Logick EP93xx device tree bindings
+
+description: |+
+ The EP93xx SoC is a ARMv4T-based with 200 MHz ARM9 CPU.
+
+maintainers:
+ - Hartley Sweeten <hsweeten@visionengravers.com>
+ - Alexander Sverdlin <alexander.sverdlin@gmail.com>
+ - Nikita Shubin <nikita.shubin@maquefel.me>
+
+properties:
+ $nodename:
+ const: '/'
+ compatible:
+ oneOf:
+ - description: The TS-7250 is a compact, full-featured Single Board Computer (SBC)
+ based upon the Cirrus EP9302 ARM9 CPU.
+ items:
+ - const: technologic,ts7250
+ - const: liebherr,bk3
+ - const: cirrus,ep9301
+ - const: cirrus,edb9302
+
+ soc:
+ type: object
+ patternProperties:
+ "^.*syscon@80930000$":
+ type: object
+ properties:
+ compatible:
+ items:
+ - const: cirrus,ep9301-syscon
+ - const: syscon
+ - const: simple-mfd
+ ep9301-reboot:
+ type: object
+ properties:
+ compatible:
+ const: cirrus,ep9301-reboot
+ required:
+ - compatible
+ - reg
+ - '#clock-cells'
+ - ep9301-reboot
+
+ "^.*timer@80810000$":
+ type: object
+ properties:
+ compatible:
+ const: cirrus,ep9301-timer
+
+ required:
+ - syscon@80930000
+ - timer@80810000
+
+required:
+ - compatible
+ - soc
+
+additionalProperties: true
+
+examples:
+ - |
+ / {
+ compatible = "technologic,ts7250", "cirrus,ep9301";
+ model = "TS-7250 SBC";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ soc {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ compatible = "simple-bus";
+
+ syscon: syscon@80930000 {
+ compatible = "cirrus,ep9301-syscon",
+ "syscon", "simple-mfd";
+ reg = <0x80930000 0x1000>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+
+ ep9301-reboot {
+ compatible = "cirrus,ep9301-reboot";
+ };
+ };
+
+ timer: timer@80810000 {
+ compatible = "cirrus,ep9301-timer";
+ reg = <0x80810000 0x100>;
+ interrupt-parent = <&vic1>;
+ interrupts = <19>;
+ };
+ };
+ };
+
+...
diff --git a/include/dt-bindings/clock/cirrus,ep93xx-clock.h b/include/dt-bindings/clock/cirrus,ep93xx-clock.h
new file mode 100644
index 000000000000..ad796314fb11
--- /dev/null
+++ b/include/dt-bindings/clock/cirrus,ep93xx-clock.h
@@ -0,0 +1,53 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef DT_BINDINGS_CIRRUS_EP93XX_CLOCK_H
+#define DT_BINDINGS_CIRRUS_EP93XX_CLOCK_H
+
+#define EP93XX_CLK_XTALI 0
+
+#define EP93XX_CLK_PLL1 1
+#define EP93XX_CLK_FCLK 2
+#define EP93XX_CLK_HCLK 3
+#define EP93XX_CLK_PCLK 4
+#define EP93XX_CLK_PLL2 5
+
+#define EP93XX_CLK_UART 6
+
+#define EP93XX_CLK_UART1 7
+#define EP93XX_CLK_UART2 8
+#define EP93XX_CLK_UART3 9
+
+#define EP93XX_CLK_M2M0 10
+#define EP93XX_CLK_M2M1 11
+
+#define EP93XX_CLK_M2P0 12
+#define EP93XX_CLK_M2P1 13
+#define EP93XX_CLK_M2P2 14
+#define EP93XX_CLK_M2P3 15
+#define EP93XX_CLK_M2P4 16
+#define EP93XX_CLK_M2P5 17
+#define EP93XX_CLK_M2P6 18
+#define EP93XX_CLK_M2P7 19
+#define EP93XX_CLK_M2P8 20
+#define EP93XX_CLK_M2P9 21
+
+#define EP93XX_CLK_SPI 22
+
+#define EP93XX_CLK_USB 23
+
+#define EP93XX_CLK_ADC 24
+#define EP93XX_CLK_ADC_EN 25
+
+#define EP93XX_CLK_KEYPAD 26
+
+#define EP93XX_CLK_PWM 27
+
+#define EP93XX_CLK_VIDEO 28
+
+#define EP93XX_CLK_I2S_MCLK 29
+#define EP93XX_CLK_I2S_SCLK 30
+#define EP93XX_CLK_I2S_LRCLK 31
+
+
+#define EP93XX_NUM_CLKS (EP93XX_CLK_I2S_LRCLK + 1)
+
+#endif /* DT_BINDINGS_CIRRUS_EP93XX_CLOCK_H */
--
2.39.2
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH 14/43] dt-bindings: pwm: Add DT bindings ep93xx PWM
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (5 preceding siblings ...)
2023-04-24 12:34 ` [PATCH 11/43] dt-bindings: clock: add DT bindings for Cirrus EP93xx Nikita Shubin
@ 2023-04-24 12:34 ` Nikita Shubin
2023-04-24 16:02 ` Rob Herring
2023-04-24 12:34 ` [PATCH 16/43] dt-bindings: spi: Add DT bindings ep93xx spi Nikita Shubin
` (33 subsequent siblings)
40 siblings, 1 reply; 118+ messages in thread
From: Nikita Shubin @ 2023-04-24 12:34 UTC (permalink / raw)
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Thierry Reding,
Uwe Kleine-König, Rob Herring, Krzysztof Kozlowski,
linux-pwm, devicetree, linux-kernel
Add YAML bindings for ep93xx SoC.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
.../bindings/pwm/cirrus,ep93xx-pwm.yaml | 45 +++++++++++++++++++
1 file changed, 45 insertions(+)
create mode 100644 Documentation/devicetree/bindings/pwm/cirrus,ep93xx-pwm.yaml
diff --git a/Documentation/devicetree/bindings/pwm/cirrus,ep93xx-pwm.yaml b/Documentation/devicetree/bindings/pwm/cirrus,ep93xx-pwm.yaml
new file mode 100644
index 000000000000..8f67eb152f8b
--- /dev/null
+++ b/Documentation/devicetree/bindings/pwm/cirrus,ep93xx-pwm.yaml
@@ -0,0 +1,45 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pwm/cirrus,ep93xx-pwm.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus Logick ep93xx PWM controller
+
+maintainers:
+ - Thierry Reding <thierry.reding@gmail.com>
+
+properties:
+ compatible:
+ enum:
+ - cirrus,ep9301-pwm
+ reg:
+ maxItems: 1
+
+ clocks:
+ items:
+ - description: SoC PWM clock
+
+ clock-names:
+ items:
+ - const: pwm_clk
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - clock-names
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/cirrus,ep93xx-clock.h>
+ pwm0: pwm@80910000 {
+ compatible = "cirrus,ep9301-pwm";
+ reg = <0x80910000 0x10>;
+ clocks = <&syscon EP93XX_CLK_PWM>;
+ clock-names = "pwm_clk";
+ };
+
+...
--
2.39.2
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH 16/43] dt-bindings: spi: Add DT bindings ep93xx spi
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (6 preceding siblings ...)
2023-04-24 12:34 ` [PATCH 14/43] dt-bindings: pwm: Add DT bindings ep93xx PWM Nikita Shubin
@ 2023-04-24 12:34 ` Nikita Shubin
2023-04-24 15:54 ` Mark Brown
2023-04-24 16:08 ` Rob Herring
2023-04-24 12:34 ` [PATCH 18/43] dt-bindings: net: Add DT bindings ep93xx eth Nikita Shubin
` (32 subsequent siblings)
40 siblings, 2 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-04-24 12:34 UTC (permalink / raw)
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Mark Brown,
Rob Herring, Krzysztof Kozlowski, linux-spi, devicetree,
linux-kernel
Add YAML bindings for ep93xx SoC.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
.../devicetree/bindings/spi/spi-ep93xx.yaml | 68 +++++++++++++++++++
1 file changed, 68 insertions(+)
create mode 100644 Documentation/devicetree/bindings/spi/spi-ep93xx.yaml
diff --git a/Documentation/devicetree/bindings/spi/spi-ep93xx.yaml b/Documentation/devicetree/bindings/spi/spi-ep93xx.yaml
new file mode 100644
index 000000000000..e09ab50629fb
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/spi-ep93xx.yaml
@@ -0,0 +1,68 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/spi/spi-ep93xx.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: EP93xx SoC SPI controller
+
+maintainers:
+ - Mark Brown <broonie@kernel.org>
+
+allOf:
+ - $ref: "spi-controller.yaml#"
+
+properties:
+ "#address-cells": true
+ "#size-cells": true
+
+ compatible:
+ items:
+ - const: cirrus,ep9301-spi
+
+ reg:
+ items:
+ - description: SPI registers region
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ items:
+ - description: SPI Controller reference clock source
+
+ clock-names:
+ items:
+ - const: ep93xx-spi.0
+
+ cs-gpios: true
+
+ use_dma:
+ type: boolean
+ items:
+ - description: Flag indicating that the SPI should use dma
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - clocks
+ - clock-names
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/cirrus,ep93xx-clock.h>
+ spi0: spi@808a0000 {
+ compatible = "cirrus,ep9301-spi";
+ reg = <0x808a0000 0x18>;
+ interrupt-parent = <&vic1>;
+ interrupts = <21>;
+ clocks = <&syscon EP93XX_CLK_SPI>;
+ clock-names = "ep93xx-spi.0";
+ cs-gpios = <&gpio5 2 0>;
+ use_dma;
+ };
+
+...
--
2.39.2
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH 18/43] dt-bindings: net: Add DT bindings ep93xx eth
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (7 preceding siblings ...)
2023-04-24 12:34 ` [PATCH 16/43] dt-bindings: spi: Add DT bindings ep93xx spi Nikita Shubin
@ 2023-04-24 12:34 ` Nikita Shubin
2023-04-24 16:11 ` Rob Herring
[not found] ` <7f05ecdc-cbbd-40b0-9a40-229e18aec721@lunn.ch>
2023-04-24 12:34 ` [PATCH 20/43] dt-bindings: dma: Add DT bindings ep93xx dma Nikita Shubin
` (31 subsequent siblings)
40 siblings, 2 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-04-24 12:34 UTC (permalink / raw)
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Rob Herring,
Krzysztof Kozlowski, Hartley Sweeten, netdev, devicetree,
linux-kernel
Add YAML bindings for ep93xx SoC.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
.../bindings/net/cirrus,ep93xx_eth.yaml | 51 +++++++++++++++++++
1 file changed, 51 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/cirrus,ep93xx_eth.yaml
diff --git a/Documentation/devicetree/bindings/net/cirrus,ep93xx_eth.yaml b/Documentation/devicetree/bindings/net/cirrus,ep93xx_eth.yaml
new file mode 100644
index 000000000000..7e73cf0ddde9
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/cirrus,ep93xx_eth.yaml
@@ -0,0 +1,51 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/cirrus,ep93xx_eth.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: The ethernet hardware included in EP93xx CPUs module Device Tree Bindings
+
+maintainers:
+ - Hartley Sweeten <hsweeten@visionengravers.com>
+
+properties:
+ compatible:
+ const: cirrus,ep9301-eth
+
+ reg:
+ items:
+ - description: The physical base address and size of IO range
+
+ interrupts:
+ items:
+ - description: Combined signal for various interrupt events
+
+ copy_addr:
+ type: boolean
+ description:
+ Flag indicating that the MAC address should be copied
+ from the IndAd registers (as programmed by the bootloader)
+
+ phy_id:
+ description: MII phy_id to use
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ eth0: eth@80010000 {
+ compatible = "cirrus,ep9301-eth";
+ reg = <0x80010000 0x10000>;
+ interrupt-parent = <&vic1>;
+ interrupts = <7>;
+ copy_addr;
+ phy_id = < 1 >;
+ };
+
+...
--
2.39.2
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH 20/43] dt-bindings: dma: Add DT bindings ep93xx dma
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (8 preceding siblings ...)
2023-04-24 12:34 ` [PATCH 18/43] dt-bindings: net: Add DT bindings ep93xx eth Nikita Shubin
@ 2023-04-24 12:34 ` Nikita Shubin
2023-04-24 16:15 ` Rob Herring
2023-04-24 12:34 ` [PATCH 22/43] dt-bindings: mtd: add DT bindings for ts7250 nand Nikita Shubin
` (30 subsequent siblings)
40 siblings, 1 reply; 118+ messages in thread
From: Nikita Shubin @ 2023-04-24 12:34 UTC (permalink / raw)
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Vinod Koul,
Rob Herring, Krzysztof Kozlowski, dmaengine, devicetree,
linux-kernel
Add YAML bindings for ep93xx SoC.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
.../bindings/dma/cirrus,ep93xx-dma-m2m.yaml | 66 ++++++++++++
.../bindings/dma/cirrus,ep93xx-dma-m2p.yaml | 102 ++++++++++++++++++
2 files changed, 168 insertions(+)
create mode 100644 Documentation/devicetree/bindings/dma/cirrus,ep93xx-dma-m2m.yaml
create mode 100644 Documentation/devicetree/bindings/dma/cirrus,ep93xx-dma-m2p.yaml
diff --git a/Documentation/devicetree/bindings/dma/cirrus,ep93xx-dma-m2m.yaml b/Documentation/devicetree/bindings/dma/cirrus,ep93xx-dma-m2m.yaml
new file mode 100644
index 000000000000..9a53ee9052a0
--- /dev/null
+++ b/Documentation/devicetree/bindings/dma/cirrus,ep93xx-dma-m2m.yaml
@@ -0,0 +1,66 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/dma/cirrus,ep93xx-dma-m2m.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus Logick ep93xx SoC DMA controller Device Tree Bindings
+
+maintainers:
+ - Vinod Koul <vkoul@kernel.org>
+
+properties:
+ compatible:
+ items:
+ - const: cirrus,ep9301-dma-m2m
+
+ reg:
+ minItems: 2
+ maxItems: 2
+
+ clocks:
+ items:
+ - description: m2m0 channel gate clock
+ - description: m2m1 channel gate clock
+
+ clock-names:
+ items:
+ - const: m2m0
+ - const: m2m1
+
+ interrupts:
+ minItems: 2
+ maxItems: 2
+
+ dma-channels:
+ minimum: 2
+ maximum: 2
+
+ '#dma-cells': false
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - clock-names
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/cirrus,ep93xx-clock.h>
+ dma1: dma-controller@80000100 {
+ compatible = "cirrus,ep9301-dma-m2m";
+ reg = <0x80000100 0x0040>,
+ <0x80000140 0x0040>;
+ clocks = <&syscon EP93XX_CLK_M2M0>,
+ <&syscon EP93XX_CLK_M2M1>;
+ clock-names = "m2m0", "m2m1";
+ dma-channels = <2>;
+ interrupt-parent = <&vic0>;
+ interrupts = <17>, <18>;
+ };
+
+...
+
diff --git a/Documentation/devicetree/bindings/dma/cirrus,ep93xx-dma-m2p.yaml b/Documentation/devicetree/bindings/dma/cirrus,ep93xx-dma-m2p.yaml
new file mode 100644
index 000000000000..51fd72b4e843
--- /dev/null
+++ b/Documentation/devicetree/bindings/dma/cirrus,ep93xx-dma-m2p.yaml
@@ -0,0 +1,102 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/dma/cirrus,ep93xx-dma-m2p.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus Logick ep93xx SoC M2P DMA controller Device Tree Bindings
+
+maintainers:
+ - Vinod Koul <vkoul@kernel.org>
+
+properties:
+ compatible:
+ items:
+ - const: cirrus,ep9301-dma-m2p
+
+ reg:
+ minItems: 10
+ maxItems: 10
+
+ clocks:
+ items:
+ - description: m2p0 channel gate clock
+ - description: m2p1 channel gate clock
+ - description: m2p2 channel gate clock
+ - description: m2p3 channel gate clock
+ - description: m2p4 channel gate clock
+ - description: m2p5 channel gate clock
+ - description: m2p6 channel gate clock
+ - description: m2p7 channel gate clock
+ - description: m2p8 channel gate clock
+ - description: m2p9 channel gate clock
+
+ clock-names:
+ items:
+ - const: m2p0
+ - const: m2p1
+ - const: m2p2
+ - const: m2p3
+ - const: m2p4
+ - const: m2p5
+ - const: m2p6
+ - const: m2p7
+ - const: m2p8
+ - const: m2p9
+
+ interrupts:
+ minItems: 10
+ maxItems: 10
+
+ dma-channels:
+ minimum: 10
+ maximum: 10
+
+ '#dma-cells': false
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - clock-names
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/cirrus,ep93xx-clock.h>
+ dma0: dma-controller@80000000 {
+ compatible = "cirrus,ep9301-dma-m2p";
+ reg = <0x80000000 0x0040>,
+ <0x80000040 0x0040>,
+ <0x80000080 0x0040>,
+ <0x800000c0 0x0040>,
+ <0x80000240 0x0040>,
+ <0x80000200 0x0040>,
+ <0x800002c0 0x0040>,
+ <0x80000280 0x0040>,
+ <0x80000340 0x0040>,
+ <0x80000300 0x0040>;
+ clocks = <&syscon EP93XX_CLK_M2P0>,
+ <&syscon EP93XX_CLK_M2P1>,
+ <&syscon EP93XX_CLK_M2P2>,
+ <&syscon EP93XX_CLK_M2P3>,
+ <&syscon EP93XX_CLK_M2P4>,
+ <&syscon EP93XX_CLK_M2P5>,
+ <&syscon EP93XX_CLK_M2P6>,
+ <&syscon EP93XX_CLK_M2P7>,
+ <&syscon EP93XX_CLK_M2P8>,
+ <&syscon EP93XX_CLK_M2P9>;
+ clock-names = "m2p0", "m2p1",
+ "m2p2", "m2p3",
+ "m2p4", "m2p5",
+ "m2p6", "m2p7",
+ "m2p8", "m2p9";
+ dma-channels = <10>;
+ interrupt-parent = <&vic0>;
+ interrupts = <7>, <8>, <9>, <10>, <11>, <12>, <13>, <14>, <15>, <16>;
+ };
+
+...
+
--
2.39.2
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH 22/43] dt-bindings: mtd: add DT bindings for ts7250 nand
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (9 preceding siblings ...)
2023-04-24 12:34 ` [PATCH 20/43] dt-bindings: dma: Add DT bindings ep93xx dma Nikita Shubin
@ 2023-04-24 12:34 ` Nikita Shubin
2023-04-24 16:17 ` Rob Herring
2023-05-02 9:48 ` Miquel Raynal
2023-04-24 12:34 ` [PATCH 24/43] dt-bindings: ata: Add DT bindings ep93xx pata Nikita Shubin
` (29 subsequent siblings)
40 siblings, 2 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-04-24 12:34 UTC (permalink / raw)
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Miquel Raynal,
Richard Weinberger, Vignesh Raghavendra, Rob Herring,
Krzysztof Kozlowski, Lukasz Majewski, linux-mtd, devicetree,
linux-kernel
Add YAML bindings for ts7250 NAND.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
.../bindings/mtd/technologic,nand.yaml | 56 +++++++++++++++++++
1 file changed, 56 insertions(+)
create mode 100644 Documentation/devicetree/bindings/mtd/technologic,nand.yaml
diff --git a/Documentation/devicetree/bindings/mtd/technologic,nand.yaml b/Documentation/devicetree/bindings/mtd/technologic,nand.yaml
new file mode 100644
index 000000000000..3234d93a1c21
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/technologic,nand.yaml
@@ -0,0 +1,56 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mtd/technologic,nand.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Technologic Systems NAND controller
+
+maintainers:
+ - Lukasz Majewski <lukma@denx.de>
+
+properties:
+ compatible:
+ items:
+ - const: technologic,ts7200-nand
+ - const: gen_nand
+
+ reg:
+ maxItems: 1
+
+ '#address-cells': true
+ '#size-cells': true
+
+required:
+ - compatible
+ - reg
+
+unevaluatedProperties: true
+
+examples:
+ - |
+ nand-parts@0 {
+ compatible = "technologic,ts7200-nand", "gen_nand";
+ reg = <0x60000000 0x8000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "TS-BOOTROM";
+ reg = <0x00000000 0x00020000>;
+ read-only;
+ };
+
+ partition@20000 {
+ label = "Linux";
+ reg = <0x00020000 0x07d00000>;
+ };
+
+ partition@7d20000 {
+ label = "RedBoot";
+ reg = <0x07d20000 0x002e0000>;
+ read-only;
+ };
+ };
+
+...
--
2.39.2
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH 24/43] dt-bindings: ata: Add DT bindings ep93xx pata
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (10 preceding siblings ...)
2023-04-24 12:34 ` [PATCH 22/43] dt-bindings: mtd: add DT bindings for ts7250 nand Nikita Shubin
@ 2023-04-24 12:34 ` Nikita Shubin
2023-04-24 13:16 ` Damien Le Moal
2023-04-24 12:34 ` [PATCH 26/43] dt-bindings: input: Add DT bindings ep93xx keypad Nikita Shubin
` (28 subsequent siblings)
40 siblings, 1 reply; 118+ messages in thread
From: Nikita Shubin @ 2023-04-24 12:34 UTC (permalink / raw)
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Damien Le Moal,
Rob Herring, Krzysztof Kozlowski, Le Moal, linux-ide, devicetree,
linux-kernel
Add YAML bindings ep93xx SoC.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
.../bindings/ata/cirrus,ep93xx-pata.yaml | 40 +++++++++++++++++++
1 file changed, 40 insertions(+)
create mode 100644 Documentation/devicetree/bindings/ata/cirrus,ep93xx-pata.yaml
diff --git a/Documentation/devicetree/bindings/ata/cirrus,ep93xx-pata.yaml b/Documentation/devicetree/bindings/ata/cirrus,ep93xx-pata.yaml
new file mode 100644
index 000000000000..24ed64cfa6d1
--- /dev/null
+++ b/Documentation/devicetree/bindings/ata/cirrus,ep93xx-pata.yaml
@@ -0,0 +1,40 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/ata/cirrus,ep93xx-pata.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: EP9312 PATA controller driver
+
+maintainers:
+ - Damien Le Moal <damien.lemoal@opensource.wdc.com>
+
+properties:
+ compatible:
+ const: cirrus,ep9312-pata
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ ide: ide@800a0000 {
+ compatible = "cirrus,ep9312-pata";
+ reg = <0x800a0000 0x38>;
+ interrupt-parent = <&vic1>;
+ interrupts = <8>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&ide_default_pins>;
+ };
+
+...
--
2.39.2
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH 26/43] dt-bindings: input: Add DT bindings ep93xx keypad
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (11 preceding siblings ...)
2023-04-24 12:34 ` [PATCH 24/43] dt-bindings: ata: Add DT bindings ep93xx pata Nikita Shubin
@ 2023-04-24 12:34 ` Nikita Shubin
2023-04-24 16:21 ` Rob Herring
2023-04-24 12:34 ` [PATCH 28/43] dt-bindings: rtc: Add DT binding m48t86 rtc Nikita Shubin
` (27 subsequent siblings)
40 siblings, 1 reply; 118+ messages in thread
From: Nikita Shubin @ 2023-04-24 12:34 UTC (permalink / raw)
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Dmitry Torokhov,
Rob Herring, Krzysztof Kozlowski, linux-input, devicetree,
linux-kernel
Add YAML bindings ep93xx SoC.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
Notes:
Linus Walleij:
- replaced hex with proper <KEY_UP>, etc
.../bindings/input/cirrus,ep93xx-keypad.yaml | 123 ++++++++++++++++++
1 file changed, 123 insertions(+)
create mode 100644 Documentation/devicetree/bindings/input/cirrus,ep93xx-keypad.yaml
diff --git a/Documentation/devicetree/bindings/input/cirrus,ep93xx-keypad.yaml b/Documentation/devicetree/bindings/input/cirrus,ep93xx-keypad.yaml
new file mode 100644
index 000000000000..0310114de22e
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/cirrus,ep93xx-keypad.yaml
@@ -0,0 +1,123 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/cirrus,ep93xx-keypad.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus ep93xx keypad
+
+maintainers:
+ - Dmitry Torokhov <dmitry.torokhov@gmail.com>
+ - Alexander Sverdlin <alexander.sverdlin@gmail.com>
+
+allOf:
+ - $ref: "/schemas/input/matrix-keymap.yaml#"
+
+description: |
+ The KPP is designed to interface with a keypad matrix with 2-point contact
+ or 3-point contact keys. The KPP is designed to simplify the software task
+ of scanning a keypad matrix. The KPP is capable of detecting, debouncing,
+ and decoding one or multiple keys pressed simultaneously on a keypad.
+
+properties:
+ compatible:
+ enum:
+ - cirrus,ep9301-keypad
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ clock-names:
+ enum:
+ - ep93xx-keypad
+
+ debounce:
+ description: |
+ Time in microseconds that key must be pressed or
+ released for state change interrupt to trigger.
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ prescale:
+ description: row/column counter pre-scaler load value
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ clk-rate:
+ description: clock rate setting
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ disable-3-key:
+ type: boolean
+ description:
+ Disable 3 Key reset. Setting this disables the three key reset
+ output to the watchdog reset block.
+
+ diag-mode:
+ type: boolean
+ description:
+ Key scan diagnostic mode. Setting this allows key scanning to be
+ directly controlled through the key register by writes from the
+ ARM Core.
+
+ back-drive:
+ type: boolean
+ description:
+ Key scan back driving enable. Setting this enables the key
+ scanning logic to back drive the row and column pins of the
+ chip high during the first two column counts in the
+ row/column counter.
+
+ test-mode:
+ type: boolean
+ description:
+ Test mode. When this is set, the counter RC_COUNT is advanced
+ by 8 counts when EN is active. The effect is that only column 0
+ is checked in each row. This test mode allows a faster test
+ of the ROW pins.
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - clocks
+ - clock-names
+ - linux,keymap
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/cirrus,ep93xx-clock.h>
+ #include <dt-bindings/input/input.h>
+ keypad@800f0000 {
+ compatible = "cirrus,ep9301-keypad";
+ reg = <0x800f0000 0x0c>;
+ interrupt-parent = <&vic0>;
+ interrupts = <29>;
+ clocks = <&syscon EP93XX_CLK_KEYPAD>;
+ clock-names = "ep93xx-keypad";
+ pinctrl-names = "default";
+ pinctrl-0 = <&keypad_default_pins>;
+ linux,keymap = <KEY_UP>,
+ <KEY_DOWN>,
+ <KEY_VOLUMEDOWN>,
+ <KEY_HOME>,
+ <KEY_RIGHT>,
+ <KEY_LEFT>,
+ <KEY_ENTER>,
+ <KEY_VOLUMEUP>,
+ <KEY_F6>,
+ <KEY_F8>,
+ <KEY_F9>,
+ <KEY_F10>,
+ <KEY_F1>,
+ <KEY_F2>,
+ <KEY_F3>,
+ <KEY_POWER>;
+ };
+
--
2.39.2
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH 28/43] dt-bindings: rtc: Add DT binding m48t86 rtc
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (12 preceding siblings ...)
2023-04-24 12:34 ` [PATCH 26/43] dt-bindings: input: Add DT bindings ep93xx keypad Nikita Shubin
@ 2023-04-24 12:34 ` Nikita Shubin
2023-04-24 16:25 ` Rob Herring
2023-04-24 12:34 ` [PATCH 30/43] dt-bindings: wdt: Add DT binding ts72xx wdt Nikita Shubin
` (26 subsequent siblings)
40 siblings, 1 reply; 118+ messages in thread
From: Nikita Shubin @ 2023-04-24 12:34 UTC (permalink / raw)
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
Alessandro Zummo, Alexandre Belloni, Rob Herring,
Krzysztof Kozlowski, linux-rtc, devicetree, linux-kernel
Add YAML bindings for ST M48T86 / Dallas DS12887 RTC.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
.../bindings/rtc/dallas,rtc-m48t86.yaml | 33 +++++++++++++++++++
1 file changed, 33 insertions(+)
create mode 100644 Documentation/devicetree/bindings/rtc/dallas,rtc-m48t86.yaml
diff --git a/Documentation/devicetree/bindings/rtc/dallas,rtc-m48t86.yaml b/Documentation/devicetree/bindings/rtc/dallas,rtc-m48t86.yaml
new file mode 100644
index 000000000000..51f98bdbc385
--- /dev/null
+++ b/Documentation/devicetree/bindings/rtc/dallas,rtc-m48t86.yaml
@@ -0,0 +1,33 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/rtc/dallas,rtc-m48t86.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ST M48T86 / Dallas DS12887 RTC bindings
+
+maintainers:
+ - Alessandro Zummo <a.zummo@towertech.it>
+
+properties:
+ compatible:
+ const: dallas,rtc-m48t86
+
+ reg:
+ maxItems: 2
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ rtc1: rtc@10800000 {
+ compatible = "dallas,rtc-m48t86";
+ reg = <0x10800000 0x1>, <0x11700000 0x1>;
+ };
+
+...
+
--
2.39.2
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH 30/43] dt-bindings: wdt: Add DT binding ts72xx wdt
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (13 preceding siblings ...)
2023-04-24 12:34 ` [PATCH 28/43] dt-bindings: rtc: Add DT binding m48t86 rtc Nikita Shubin
@ 2023-04-24 12:34 ` Nikita Shubin
2023-04-24 16:26 ` Rob Herring
2023-04-24 12:34 ` [PATCH 32/43] dt-bindings: gpio: Add DT bindings ep93xx gpio Nikita Shubin
` (25 subsequent siblings)
40 siblings, 1 reply; 118+ messages in thread
From: Nikita Shubin @ 2023-04-24 12:34 UTC (permalink / raw)
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
Wim Van Sebroeck, Guenter Roeck, Rob Herring, Krzysztof Kozlowski,
linux-watchdog, devicetree, linux-kernel
Add DT binding for Technologic Systems TS-72xx watchdog.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
.../watchdog/technologic,ts72xx-wdt.yaml | 39 +++++++++++++++++++
1 file changed, 39 insertions(+)
create mode 100644 Documentation/devicetree/bindings/watchdog/technologic,ts72xx-wdt.yaml
diff --git a/Documentation/devicetree/bindings/watchdog/technologic,ts72xx-wdt.yaml b/Documentation/devicetree/bindings/watchdog/technologic,ts72xx-wdt.yaml
new file mode 100644
index 000000000000..0e06dbaec85f
--- /dev/null
+++ b/Documentation/devicetree/bindings/watchdog/technologic,ts72xx-wdt.yaml
@@ -0,0 +1,39 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/watchdog/technologic,ts72xx-wdt.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Technologic Systems TS-72xx based SBCs watchdog bindings
+
+maintainers:
+ - Wim Van Sebroeck <wim@linux-watchdog.org>
+ - Guenter Roeck <linux@roeck-us.net>
+
+allOf:
+ - $ref: "watchdog.yaml#"
+
+properties:
+ compatible:
+ enum:
+ - technologic,ts7200-wdt
+
+ reg:
+ maxItems: 2
+
+required:
+ - compatible
+ - reg
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ watchdog0: watchdog@5a002000 {
+ compatible = "technologic,ts7200-wdt";
+ reg = <0x23800000 0x01>, <0x23c00000 0x01>;
+ timeout-sec = <30>;
+ };
+
+...
+
--
2.39.2
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH 32/43] dt-bindings: gpio: Add DT bindings ep93xx gpio
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (14 preceding siblings ...)
2023-04-24 12:34 ` [PATCH 30/43] dt-bindings: wdt: Add DT binding ts72xx wdt Nikita Shubin
@ 2023-04-24 12:34 ` Nikita Shubin
2023-04-24 16:32 ` Rob Herring
2023-04-24 12:34 ` [PATCH 34/43] ARM: dts: add device tree for ep93xx Soc Nikita Shubin
` (24 subsequent siblings)
40 siblings, 1 reply; 118+ messages in thread
From: Nikita Shubin @ 2023-04-24 12:34 UTC (permalink / raw)
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Linus Walleij,
Bartosz Golaszewski, Rob Herring, Krzysztof Kozlowski, linux-gpio,
devicetree, linux-kernel
Add YAML bindings for ep93xx SoC.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
.../devicetree/bindings/gpio/gpio-ep93xx.yaml | 161 ++++++++++++++++++
1 file changed, 161 insertions(+)
create mode 100644 Documentation/devicetree/bindings/gpio/gpio-ep93xx.yaml
diff --git a/Documentation/devicetree/bindings/gpio/gpio-ep93xx.yaml b/Documentation/devicetree/bindings/gpio/gpio-ep93xx.yaml
new file mode 100644
index 000000000000..4cf03c325d39
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-ep93xx.yaml
@@ -0,0 +1,161 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/gpio/gpio-ep93xx.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: EP93xx GPIO controller
+
+maintainers:
+ - Linus Walleij <linus.walleij@linaro.org>
+ - Bartosz Golaszewski <brgl@bgdev.pl>
+ - Nikita Shubin <nikita.shubin@maquefel.me>
+
+properties:
+ compatible:
+ const: cirrus,ep9301-gpio
+
+ chip-label:
+ maxItems: 1
+ description: human readable name.
+
+ reg:
+ minItems: 2
+ items:
+ - description: data register
+ - description: direction register
+ - description: interrupt registers base
+
+ reg-names:
+ minItems: 2
+ items:
+ - const: data
+ - const: dir
+ - const: intr
+
+ gpio-controller: true
+
+ gpio-ranges: true
+
+ "#gpio-cells":
+ const: 2
+
+ interrupt-controller: true
+
+ "#interrupt-cells":
+ const: 2
+
+ interrupts:
+ items:
+ - const: 27
+
+ interrupts-extended:
+ minItems: 8
+ maxItems: 8
+ description: port F has dedicated irq line for each gpio line.
+
+required:
+ - compatible
+ - reg
+ - gpio-controller
+ - "#gpio-cells"
+
+additionalProperties: false
+
+examples:
+ - |
+ gpio0: gpio@80840000 {
+ compatible = "cirrus,ep9301-gpio";
+ chip-label = "A";
+ reg = <0x80840000 0x04>,
+ <0x80840010 0x04>,
+ <0x80840090 0x1c>;
+ reg-names = "data", "dir", "intr";
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ interrupt-parent = <&vic1>;
+ interrupts = <27>;
+ };
+
+ gpio1: gpio@80840004 {
+ compatible = "cirrus,ep9301-gpio";
+ chip-label = "B";
+ reg = <0x80840004 0x04>,
+ <0x80840014 0x04>,
+ <0x808400ac 0x1c>;
+ reg-names = "data", "dir", "intr";
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ interrupt-parent = <&vic1>;
+ interrupts = <27>;
+ };
+
+ gpio2: gpio@80840008 {
+ compatible = "cirrus,ep9301-gpio";
+ chip-label = "C";
+ reg = <0x80840008 0x04>,
+ <0x80840018 0x04>;
+ reg-names = "data", "dir";
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+
+ gpio3: gpio@8084000c {
+ compatible = "cirrus,ep9301-gpio";
+ chip-label = "D";
+ reg = <0x8084000c 0x04>,
+ <0x8084001c 0x04>;
+ reg-names = "data", "dir";
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+
+ gpio4: gpio@80840020 {
+ compatible = "cirrus,ep9301-gpio";
+ chip-label = "E";
+ reg = <0x80840020 0x04>,
+ <0x80840024 0x04>;
+ reg-names = "data", "dir";
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+
+ gpio5: gpio@80840030 {
+ compatible = "cirrus,ep9301-gpio";
+ chip-label = "F";
+ reg = <0x80840030 0x04>,
+ <0x80840034 0x04>,
+ <0x8084004c 0x1c>;
+ reg-names = "data", "dir", "intr";
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ interrupts-extended = <&vic0 19>, <&vic0 20>,
+ <&vic0 21>, <&vic0 22>,
+ <&vic1 15>, <&vic1 16>,
+ <&vic1 17>, <&vic1 18>;
+ };
+
+ gpio6: gpio@80840038 {
+ compatible = "cirrus,ep9301-gpio";
+ chip-label = "G";
+ reg = <0x80840038 0x04>,
+ <0x8084003c 0x04>;
+ reg-names = "data", "dir";
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+
+ gpio7: gpio@80840040 {
+ compatible = "cirrus,ep9301-gpio";
+ chip-label = "H";
+ reg = <0x80840040 0x04>,
+ <0x80840044 0x04>;
+ reg-names = "data", "dir";
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+
+...
--
2.39.2
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH 34/43] ARM: dts: add device tree for ep93xx Soc
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (15 preceding siblings ...)
2023-04-24 12:34 ` [PATCH 32/43] dt-bindings: gpio: Add DT bindings ep93xx gpio Nikita Shubin
@ 2023-04-24 12:34 ` Nikita Shubin
2023-04-24 11:28 ` Arnd Bergmann
2023-04-24 12:34 ` [PATCH 40/43] ARM: dts: ep93xx: Add ADC node Nikita Shubin
` (23 subsequent siblings)
40 siblings, 1 reply; 118+ messages in thread
From: Nikita Shubin @ 2023-04-24 12:34 UTC (permalink / raw)
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Arnd Bergmann,
Olof Johansson, soc, Rob Herring, Krzysztof Kozlowski,
linux-arm-kernel, devicetree, linux-kernel
This adds a divice for Cirrus ep93xx SoC amd ts7250 board that has been
my testing target for ep93xx device support.
Also inluded device tree for Liebherr BK3.1 board through it's not a
complete support.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/ep93xx-bk3.dts | 96 ++++++
arch/arm/boot/dts/ep93xx-ts7250.dts | 113 ++++++++
arch/arm/boot/dts/ep93xx.dtsi | 433 ++++++++++++++++++++++++++++
4 files changed, 643 insertions(+)
create mode 100644 arch/arm/boot/dts/ep93xx-bk3.dts
create mode 100644 arch/arm/boot/dts/ep93xx-ts7250.dts
create mode 100644 arch/arm/boot/dts/ep93xx.dtsi
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index efe4152e5846..e6f48deeabed 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1653,3 +1653,4 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-vegman-n110.dtb \
aspeed-bmc-vegman-rx20.dtb \
aspeed-bmc-vegman-sx20.dtb
+dtb-$(CONFIG_ARCH_EP93XX) += ep93xx-ts7250.dtb
diff --git a/arch/arm/boot/dts/ep93xx-bk3.dts b/arch/arm/boot/dts/ep93xx-bk3.dts
new file mode 100644
index 000000000000..c477af54ab56
--- /dev/null
+++ b/arch/arm/boot/dts/ep93xx-bk3.dts
@@ -0,0 +1,96 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree file for Liebherr controller BK3.1 based on Cirrus EP9302 SoC
+ */
+/dts-v1/;
+#include "ep93xx.dtsi"
+
+/ {
+ model = "Liebherr controller BK3.1";
+ compatible = "liebherr,bk3", "cirrus,ep93xx";
+
+ memory {
+ device_type = "memory";
+ };
+
+ soc {
+ nand-parts@0 {
+ compatible = "technologic,ts7200-nand", "gen_nand";
+ reg = <0x60000000 0x8000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "System";
+ reg = <0x00000000 0x01e00000>;
+ read-only;
+ };
+
+ partition@20000 {
+ label = "Data";
+ reg = <0x01e00000 0x05f20000>;
+ };
+
+ partition@7d20000 {
+ label = "RedBoot";
+ reg = <0x07d20000 0x002e0000>;
+ read-only;
+ };
+ };
+
+ syscon: syscon@80930000 {
+ pinctrl: pinctrl {
+ compatible = "cirrus,ep9301-pinctrl";
+ };
+ };
+
+ gpio1: gpio@80840004 {
+ /* PWM */
+ gpio-ranges = <&pinctrl 6 163 1>;
+ };
+ };
+};
+
+&gpio1 {
+ /* PWM */
+ gpio-ranges = <&pinctrl 6 163 1>;
+};
+
+&gpio4 {
+ gpio-ranges = <&pinctrl 0 97 2>;
+ status = "okay";
+};
+
+&gpio6 {
+ gpio-ranges = <&pinctrl 0 87 2>;
+ status = "okay";
+};
+
+&gpio7 {
+ gpio-ranges = <&pinctrl 2 199 4>;
+ status = "okay";
+};
+
+&i2c {
+ status = "okay";
+};
+
+&spi0: spi@808a0000 {
+ cs-gpios = <&gpio5 3 0>;
+ use_dma;
+ status = "okay";
+};
+
+ð0 {
+ copy_addr;
+ phy_id = < 1 >;
+};
+
+&uart0 {
+ status = "okay";
+};
+
+&uart1 {
+ status = "okay";
+};
+
diff --git a/arch/arm/boot/dts/ep93xx-ts7250.dts b/arch/arm/boot/dts/ep93xx-ts7250.dts
new file mode 100644
index 000000000000..6562780333a3
--- /dev/null
+++ b/arch/arm/boot/dts/ep93xx-ts7250.dts
@@ -0,0 +1,113 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree file for Technologic Systems ts7250 board based on Cirrus EP9302 SoC
+ */
+/dts-v1/;
+#include "ep93xx.dtsi"
+
+/ {
+ compatible = "technologic,ts7250", "cirrus,ep9301";
+ model = "TS-7250 SBC";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ memory@0 {
+ device_type = "memory";
+ /* should be set from ATAGS */
+ reg = <0x00000000 0x02000000>,
+ <0x000530c0 0x01fdd000>;
+ };
+
+ soc {
+ nand-parts@0 {
+ compatible = "technologic,ts7200-nand", "gen_nand";
+ reg = <0x60000000 0x8000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "TS-BOOTROM";
+ reg = <0x00000000 0x00020000>;
+ read-only;
+ };
+
+ partition@20000 {
+ label = "Linux";
+ reg = <0x00020000 0x07d00000>;
+ };
+
+ partition@7d20000 {
+ label = "RedBoot";
+ reg = <0x07d20000 0x002e0000>;
+ read-only;
+ };
+ };
+
+ syscon: syscon@80930000 {
+ pinctrl: pinctrl {
+ compatible = "cirrus,ep9301-pinctrl";
+ };
+ };
+
+ rtc1: rtc@10800000 {
+ compatible = "dallas,rtc-m48t86";
+ reg = <0x10800000 0x1>,
+ <0x11700000 0x1>;
+ };
+
+ watchdog1: watchdog@23800000 {
+ compatible = "technologic,ts7200-wdt";
+ reg = <0x23800000 0x01>,
+ <0x23c00000 0x01>;
+ timeout-sec = <30>;
+ };
+ };
+};
+
+&gpio1 {
+ /* PWM */
+ gpio-ranges = <&pinctrl 6 163 1>;
+};
+
+&gpio4 {
+ gpio-ranges = <&pinctrl 0 97 2>;
+ status = "okay";
+};
+
+&gpio6 {
+ gpio-ranges = <&pinctrl 0 87 2>;
+ status = "okay";
+};
+
+&gpio7 {
+ gpio-ranges = <&pinctrl 2 199 4>;
+ status = "okay";
+};
+
+&i2c0 {
+ status = "okay";
+};
+
+&spi0 {
+ cs-gpios = <&gpio5 2 0>;
+ status = "okay";
+
+ tmp122_spi: tmp122@0 {
+ compatible = "ti,tmp122";
+ reg = <0>;
+ spi-max-frequency = <2000000>;
+ };
+};
+
+ð0 {
+ copy_addr;
+ phy_id = < 1 >;
+};
+
+&uart0 {
+ status = "okay";
+};
+
+&uart1 {
+ status = "okay";
+};
diff --git a/arch/arm/boot/dts/ep93xx.dtsi b/arch/arm/boot/dts/ep93xx.dtsi
new file mode 100644
index 000000000000..67ecfde539af
--- /dev/null
+++ b/arch/arm/boot/dts/ep93xx.dtsi
@@ -0,0 +1,433 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree file for Cirrus Logic systems EP93XX SoC
+ */
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/leds/common.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/clock/cirrus,ep93xx-clock.h>
+/ {
+ soc {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ compatible = "simple-bus";
+
+ syscon: syscon@80930000 {
+ compatible = "cirrus,ep9301-syscon",
+ "syscon", "simple-mfd";
+ reg = <0x80930000 0x1000>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+
+ ep9301-reboot {
+ compatible = "cirrus,ep9301-reboot";
+ };
+
+ pinctrl: pinctrl {
+ regmap = <&syscon>;
+
+ spi_default_pins: pinctrl-spi {
+ function = "spi";
+ groups = "ssp";
+ };
+
+ ac97_default_pins: pinctrl-ac97 {
+ function = "ac97";
+ groups = "ac97";
+ };
+
+ i2s_on_ssp_pins: pinctrl-i2sonssp {
+ function = "i2s";
+ groups = "i2s_on_ssp";
+ };
+
+ i2s_on_ac97_pins: pinctrl-i2sonac97 {
+ function = "i2s";
+ groups = "i2s_on_ac97";
+ };
+
+ gpio1_default_pins: pinctrl-gpio1 {
+ function = "gpio1";
+ groups = "gpio1agrp";
+ };
+
+ pwm1_default_pins: pinctrl-pwm1 {
+ function = "pwm";
+ groups = "pwm1";
+ };
+
+ gpio2_default_pins: pinctrl-gpio2 {
+ function = "gpio2";
+ groups = "gpio2agrp";
+ };
+
+ gpio3_default_pins: pinctrl-gpio3 {
+ function = "gpio3";
+ groups = "gpio3agrp";
+ };
+
+ keypad_default_pins: pinctrl-keypad {
+ function = "keypad";
+ groups = "keypadgrp";
+ };
+
+ gpio4_default_pins: pinctrl-gpio4 {
+ function = "gpio4";
+ groups = "gpio4agrp";
+ };
+
+ gpio6_default_pins: pinctrl-gpio6 {
+ function = "gpio6";
+ groups = "gpio6agrp";
+ };
+
+ gpio7_default_pins: pinctrl-gpio7 {
+ function = "gpio7";
+ groups = "gpio7agrp";
+ };
+
+ ide_default_pins: pinctrl-ide {
+ function = "pata";
+ groups = "idegrp";
+ };
+
+ lcd_on_dram0_pins: pinctrl-rasteronsdram0 {
+ function = "lcd";
+ groups = "rasteronsdram0grp";
+ };
+
+ lcd_on_dram3_pins: pinctrl-rasteronsdram3 {
+ function = "lcd";
+ groups = "rasteronsdram3grp";
+ };
+ };
+ };
+
+ vic0: interrupt-controller@800b0000 {
+ compatible = "arm,pl192-vic";
+ interrupt-controller;
+ reg = <0x800b0000 0x1000>;
+ #interrupt-cells = <1>;
+ valid-mask = <0x7ffffffc>;
+ valid-wakeup-mask = <0x0>;
+ };
+
+ vic1: interrupt-controller@800c0000 {
+ compatible = "arm,pl192-vic";
+ interrupt-controller;
+ reg = <0x800c0000 0x1000>;
+ #interrupt-cells = <1>;
+ valid-mask = <0x1fffffff>;
+ valid-wakeup-mask = <0x0>;
+ };
+
+ timer: timer@80810000 {
+ compatible = "cirrus,ep9301-timer";
+ reg = <0x80810000 0x100>;
+ interrupt-parent = <&vic1>;
+ interrupts = <19>;
+ };
+
+ dma0: dma-controller@80000000 {
+ compatible = "cirrus,ep9301-dma-m2p";
+ reg = <0x80000000 0x0040>,
+ <0x80000040 0x0040>,
+ <0x80000080 0x0040>,
+ <0x800000c0 0x0040>,
+ <0x80000240 0x0040>,
+ <0x80000200 0x0040>,
+ <0x800002c0 0x0040>,
+ <0x80000280 0x0040>,
+ <0x80000340 0x0040>,
+ <0x80000300 0x0040>;
+ clocks = <&syscon EP93XX_CLK_M2P0>,
+ <&syscon EP93XX_CLK_M2P1>,
+ <&syscon EP93XX_CLK_M2P2>,
+ <&syscon EP93XX_CLK_M2P3>,
+ <&syscon EP93XX_CLK_M2P4>,
+ <&syscon EP93XX_CLK_M2P5>,
+ <&syscon EP93XX_CLK_M2P6>,
+ <&syscon EP93XX_CLK_M2P7>,
+ <&syscon EP93XX_CLK_M2P8>,
+ <&syscon EP93XX_CLK_M2P9>;
+ clock-names = "m2p0", "m2p1",
+ "m2p2", "m2p3",
+ "m2p4", "m2p5",
+ "m2p6", "m2p7",
+ "m2p8", "m2p9";
+ dma-channels = <10>;
+ interrupt-parent = <&vic0>;
+ interrupts = <7>, <8>, <9>, <10>, <11>,
+ <12>, <13>, <14>, <15>, <16>;
+ };
+
+ dma1: dma-controller@80000100 {
+ compatible = "cirrus,ep9301-dma-m2m";
+ reg = <0x80000100 0x0040>,
+ <0x80000140 0x0040>;
+ clocks = <&syscon EP93XX_CLK_M2M0>,
+ <&syscon EP93XX_CLK_M2M1>;
+ clock-names = "m2m0", "m2m1";
+ dma-channels = <2>;
+ interrupt-parent = <&vic0>;
+ interrupts = <17>, <18>;
+ };
+
+ gpio0: gpio@80840000 {
+ compatible = "cirrus,ep9301-gpio";
+ chip-label = "A";
+ reg = <0x80840000 0x04>,
+ <0x80840010 0x04>,
+ <0x80840090 0x1c>;
+ reg-names = "data", "dir", "intr";
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ interrupt-parent = <&vic1>;
+ interrupts = <27>;
+ };
+
+ gpio1: gpio@80840004 {
+ compatible = "cirrus,ep9301-gpio";
+ chip-label = "B";
+ reg = <0x80840004 0x04>,
+ <0x80840014 0x04>,
+ <0x808400ac 0x1c>;
+ reg-names = "data", "dir", "intr";
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ interrupt-parent = <&vic1>;
+ interrupts = <27>;
+ };
+
+ gpio2: gpio@80840008 {
+ compatible = "cirrus,ep9301-gpio";
+ chip-label = "C";
+ reg = <0x80840008 0x04>,
+ <0x80840018 0x04>;
+ reg-names = "data", "dir";
+ gpio-controller;
+ #gpio-cells = <2>;
+ status = "disabled";
+ pinctrl-names = "default";
+ pinctrl-0 = <&gpio2_default_pins>;
+ };
+
+ gpio3: gpio@8084000c {
+ compatible = "cirrus,ep9301-gpio";
+ chip-label = "D";
+ reg = <0x8084000c 0x04>,
+ <0x8084001c 0x04>;
+ reg-names = "data", "dir";
+ gpio-controller;
+ #gpio-cells = <2>;
+ status = "disabled";
+ pinctrl-names = "default";
+ pinctrl-0 = <&gpio3_default_pins>;
+ };
+
+ gpio4: gpio@80840020 {
+ compatible = "cirrus,ep9301-gpio";
+ chip-label = "E";
+ reg = <0x80840020 0x04>,
+ <0x80840024 0x04>;
+ reg-names = "data", "dir";
+ gpio-controller;
+ #gpio-cells = <2>;
+ status = "disabled";
+ pinctrl-names = "default";
+ pinctrl-0 = <&gpio4_default_pins>;
+ };
+
+ gpio5: gpio@80840030 {
+ compatible = "cirrus,ep9301-gpio";
+ chip-label = "F";
+ reg = <0x80840030 0x04>,
+ <0x80840034 0x04>,
+ <0x8084004c 0x1c>;
+ reg-names = "data", "dir", "intr";
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ interrupts-extended = <&vic0 19>, <&vic0 20>,
+ <&vic0 21>, <&vic0 22>,
+ <&vic1 15>, <&vic1 16>,
+ <&vic1 17>, <&vic1 18>;
+ };
+
+ gpio6: gpio@80840038 {
+ compatible = "cirrus,ep9301-gpio";
+ chip-label = "G";
+ reg = <0x80840038 0x04>,
+ <0x8084003c 0x04>;
+ reg-names = "data", "dir";
+ gpio-controller;
+ #gpio-cells = <2>;
+ status = "disabled";
+ pinctrl-names = "default";
+ pinctrl-0 = <&gpio6_default_pins>;
+ };
+
+ gpio7: gpio@80840040 {
+ compatible = "cirrus,ep9301-gpio";
+ chip-label = "H";
+ reg = <0x80840040 0x04>,
+ <0x80840044 0x04>;
+ reg-names = "data", "dir";
+ gpio-controller;
+ #gpio-cells = <2>;
+ status = "disabled";
+ pinctrl-names = "default";
+ pinctrl-0 = <&gpio7_default_pins>;
+ };
+
+ ide: ide@800a0000 {
+ compatible = "cirrus,ep9312-pata";
+ reg = <0x800a0000 0x38>;
+ interrupt-parent = <&vic1>;
+ interrupts = <8>;
+ status = "disabled";
+ pinctrl-names = "default";
+ pinctrl-0 = <&ide_default_pins>;
+ };
+
+ uart0: uart@808c0000 {
+ compatible = "arm,primecell";
+ reg = <0x808c0000 0x1000>;
+ arm,primecell-periphid = <0x00041010>;
+ clocks = <&syscon EP93XX_CLK_UART1>, <&syscon EP93XX_CLK_UART>;
+ clock-names = "apb:uart1", "apb_pclk";
+ interrupt-parent = <&vic1>;
+ interrupts = <20>;
+ status = "disabled";
+ };
+
+ uart1: uart@808d0000 {
+ compatible = "arm,primecell";
+ reg = <0x808d0000 0x1000>;
+ arm,primecell-periphid = <0x00041010>;
+ clocks = <&syscon EP93XX_CLK_UART2>, <&syscon EP93XX_CLK_UART>;
+ clock-names = "apb:uart2", "apb_pclk";
+ interrupt-parent = <&vic1>;
+ interrupts = <22>;
+ status = "disabled";
+ };
+
+ uart2: uart@808b0000 {
+ compatible = "arm,primecell";
+ reg = <0x808b0000 0x1000>;
+ arm,primecell-periphid = <0x00041010>;
+ clocks = <&syscon EP93XX_CLK_UART3>, <&syscon EP93XX_CLK_UART>;
+ clock-names = "apb:uart3", "apb_pclk";
+ interrupt-parent = <&vic1>;
+ interrupts = <23>;
+ status = "disabled";
+ };
+
+ eth0: eth@80010000 {
+ compatible = "cirrus,ep9301-eth";
+ reg = <0x80010000 0x10000>;
+ interrupt-parent = <&vic1>;
+ interrupts = <7>;
+ };
+
+ rtc0: rtc@80920000 {
+ compatible = "cirrus,ep9301-rtc";
+ reg = <0x80920000 0x100>;
+ };
+
+ spi0: spi@808a0000 {
+ compatible = "cirrus,ep9301-spi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x808a0000 0x18>;
+ interrupt-parent = <&vic1>;
+ interrupts = <21>;
+ clocks = <&syscon EP93XX_CLK_SPI>;
+ clock-names = "ep93xx-spi.0";
+ cs-gpios = <&gpio5 2 0>;
+ use_dma;
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi_default_pins>;
+ status = "disabled";
+ };
+
+ watchdog0: watchdog@80940000 {
+ compatible = "cirrus,ep9301-wdt";
+ reg = <0x80940000 0x08>;
+ };
+
+ pwm0: pwm@80910000 {
+ compatible = "cirrus,ep9301-pwm";
+ reg = <0x80910000 0x10>;
+ clocks = <&syscon EP93XX_CLK_PWM>;
+ clock-names = "pwm_clk";
+ status = "disabled";
+ };
+
+ pwm1: pwm@80910020 {
+ compatible = "cirrus,ep9301-pwm";
+ reg = <0x80910020 0x10>;
+ clocks = <&syscon EP93XX_CLK_PWM>;
+ clock-names = "pwm_clk";
+ status = "disabled";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pwm1_default_pins>;
+ };
+
+ keypad: keypad@800f0000 {
+ compatible = "cirrus,ep9301-keypad";
+ reg = <0x800f0000 0x0c>;
+ interrupt-parent = <&vic0>;
+ interrupts = <29>;
+ clocks = <&syscon EP93XX_CLK_KEYPAD>;
+ clock-names = "ep93xx-keypad";
+ pinctrl-names = "default";
+ pinctrl-0 = <&keypad_default_pins>;
+ linux,keymap =
+ <KEY_UP>,
+ <KEY_DOWN>,
+ <KEY_VOLUMEDOWN>,
+ <KEY_HOME>,
+ <KEY_RIGHT>,
+ <KEY_LEFT>,
+ <KEY_ENTER>,
+ <KEY_VOLUMEUP>,
+ <KEY_F6>,
+ <KEY_F8>,
+ <KEY_F9>,
+ <KEY_F10>,
+ <KEY_F1>,
+ <KEY_F2>,
+ <KEY_F3>,
+ <KEY_POWER>;
+ };
+ };
+
+ i2c0: i2c0 {
+ compatible = "i2c-gpio";
+ sda-gpios = <&gpio6 1 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
+ scl-gpios = <&gpio6 0 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ led0 {
+ label = "grled";
+ gpios = <&gpio4 0 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "heartbeat";
+ function = LED_FUNCTION_HEARTBEAT;
+ };
+
+ led1 {
+ label = "rdled";
+ gpios = <&gpio4 1 GPIO_ACTIVE_HIGH>;
+ function = LED_FUNCTION_FAULT;
+ };
+ };
+};
--
2.39.2
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH 40/43] ARM: dts: ep93xx: Add ADC node
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (16 preceding siblings ...)
2023-04-24 12:34 ` [PATCH 34/43] ARM: dts: add device tree for ep93xx Soc Nikita Shubin
@ 2023-04-24 12:34 ` Nikita Shubin
2023-04-24 12:34 ` [PATCH 41/43] ARM: dts: ep93xx: Add I2S and AC97 nodes Nikita Shubin
` (22 subsequent siblings)
40 siblings, 0 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-04-24 12:34 UTC (permalink / raw)
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Rob Herring,
Krzysztof Kozlowski, devicetree, linux-kernel
From: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Add ADC node describing AD Converter present on EP9301 and EP9302 SoCs.
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
arch/arm/boot/dts/ep93xx.dtsi | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arch/arm/boot/dts/ep93xx.dtsi b/arch/arm/boot/dts/ep93xx.dtsi
index 67ecfde539af..d896bdcc6b10 100644
--- a/arch/arm/boot/dts/ep93xx.dtsi
+++ b/arch/arm/boot/dts/ep93xx.dtsi
@@ -354,6 +354,15 @@ spi0: spi@808a0000 {
status = "disabled";
};
+ adc: adc@80900000 {
+ compatible = "cirrus,ep9301-adc";
+ reg = <0x80900000 0x28>;
+ clocks = <&syscon EP93XX_CLK_ADC>;
+ interrupt-parent = <&vic0>;
+ interrupts = <30>;
+ status = "disabled";
+ };
+
watchdog0: watchdog@80940000 {
compatible = "cirrus,ep9301-wdt";
reg = <0x80940000 0x08>;
--
2.39.2
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH 41/43] ARM: dts: ep93xx: Add I2S and AC97 nodes
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (17 preceding siblings ...)
2023-04-24 12:34 ` [PATCH 40/43] ARM: dts: ep93xx: Add ADC node Nikita Shubin
@ 2023-04-24 12:34 ` Nikita Shubin
2023-04-24 12:34 ` [PATCH 42/43] ARM: dts: ep93xx: Add EDB9302 DT Nikita Shubin
` (21 subsequent siblings)
40 siblings, 0 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-04-24 12:34 UTC (permalink / raw)
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Rob Herring,
Krzysztof Kozlowski, devicetree, linux-kernel
From: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Add the audio interfaces present in EP93xx SoCs.
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
arch/arm/boot/dts/ep93xx.dtsi | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/arch/arm/boot/dts/ep93xx.dtsi b/arch/arm/boot/dts/ep93xx.dtsi
index d896bdcc6b10..bba5fa753176 100644
--- a/arch/arm/boot/dts/ep93xx.dtsi
+++ b/arch/arm/boot/dts/ep93xx.dtsi
@@ -174,6 +174,19 @@ dma1: dma-controller@80000100 {
interrupts = <17>, <18>;
};
+ i2s: i2s@80820000 {
+ compatible = "cirrus,ep9301-i2s";
+ #sound-dai-cells = <0>;
+ reg = <0x80820000 0x100>;
+ interrupt-parent = <&vic1>;
+ interrupts = <28>;
+ clocks = <&syscon EP93XX_CLK_I2S_MCLK
+ &syscon EP93XX_CLK_I2S_SCLK
+ &syscon EP93XX_CLK_I2S_LRCLK>;
+ clock-names = "mclk", "sclk", "lrclk";
+ status = "disabled";
+ };
+
gpio0: gpio@80840000 {
compatible = "cirrus,ep9301-gpio";
chip-label = "A";
@@ -293,6 +306,17 @@ ide: ide@800a0000 {
pinctrl-0 = <&ide_default_pins>;
};
+ ac97: ac97@80880000 {
+ compatible = "cirrus,ep9301-ac97";
+ #sound-dai-cells = <0>;
+ reg = <0x80880000 0xac>;
+ interrupt-parent = <&vic0>;
+ interrupts = <6>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&ac97_default_pins>;
+ status = "disabled";
+ };
+
uart0: uart@808c0000 {
compatible = "arm,primecell";
reg = <0x808c0000 0x1000>;
--
2.39.2
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH 42/43] ARM: dts: ep93xx: Add EDB9302 DT
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (18 preceding siblings ...)
2023-04-24 12:34 ` [PATCH 41/43] ARM: dts: ep93xx: Add I2S and AC97 nodes Nikita Shubin
@ 2023-04-24 12:34 ` Nikita Shubin
2023-04-26 20:56 ` [PATCH 00/43] ep93xx device tree conversion Linus Walleij
` (20 subsequent siblings)
40 siblings, 0 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-04-24 12:34 UTC (permalink / raw)
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Rob Herring,
Krzysztof Kozlowski, devicetree, linux-kernel
From: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Missing parts:
- USB
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
arch/arm/boot/dts/ep93xx-edb9302.dts | 150 +++++++++++++++++++++++++++
1 file changed, 150 insertions(+)
create mode 100644 arch/arm/boot/dts/ep93xx-edb9302.dts
diff --git a/arch/arm/boot/dts/ep93xx-edb9302.dts b/arch/arm/boot/dts/ep93xx-edb9302.dts
new file mode 100644
index 000000000000..4ca915384ba9
--- /dev/null
+++ b/arch/arm/boot/dts/ep93xx-edb9302.dts
@@ -0,0 +1,150 @@
+// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+/*
+ * Device Tree file for Cirrus Logic EDB9302 board based on EP9302 SoC
+ */
+/dts-v1/;
+#include "ep93xx.dtsi"
+
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "cirrus,edb9302", "cirrus,ep9301";
+ model = "cirrus,edb9302";
+
+ chosen {
+ };
+
+ memory {
+ device_type = "memory";
+ };
+
+ soc {
+ flash@60000000 {
+ compatible = "cfi-flash";
+ reg = <0x60000000 0x1000000>;
+ bank-width = <2>;
+ };
+ };
+
+ sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,name = "EDB93XX";
+ simple-audio-card,format = "i2s";
+ simple-audio-card,mclk-fs = <256>;
+ simple-audio-card,convert-channels = <2>;
+ simple-audio-card,convert-sample-format = "s32_le";
+
+ simple-audio-card,cpu {
+ sound-dai = <&i2s>;
+ system-clock-direction-out;
+ frame-master;
+ bitclock-master;
+ dai-sample-format = "s32_le";
+ dai-channels = <2>;
+ };
+
+ simple-audio-card,codec {
+ sound-dai = <&codec>;
+ };
+ };
+};
+
+&pinctrl {
+ compatible = "cirrus,ep9301-pinctrl";
+};
+
+&gpio0 {
+ gpio-ranges = <&pinctrl 0 153 1>,
+ <&pinctrl 1 152 1>,
+ <&pinctrl 2 151 1>,
+ <&pinctrl 3 148 1>,
+ <&pinctrl 4 147 1>,
+ <&pinctrl 5 146 1>,
+ <&pinctrl 6 145 1>,
+ <&pinctrl 7 144 1>;
+};
+
+&gpio1 {
+ gpio-ranges = <&pinctrl 0 143 1>,
+ <&pinctrl 1 142 1>,
+ <&pinctrl 2 141 1>,
+ <&pinctrl 3 140 1>,
+ <&pinctrl 4 165 1>,
+ <&pinctrl 5 164 1>,
+ <&pinctrl 6 163 1>,
+ <&pinctrl 7 160 1>;
+};
+
+&gpio2 {
+ gpio-ranges = <&pinctrl 0 115 1>;
+ /delete-property/ status;
+ /delete-property/ pinctrl-0;
+ /delete-property/ pinctrl-names;
+};
+
+&gpio4 {
+ gpio-ranges = <&pinctrl 0 97 2>;
+ /delete-property/ status;
+};
+
+&gpio5 {
+ gpio-ranges = <&pinctrl 1 170 1>,
+ <&pinctrl 2 169 1>,
+ <&pinctrl 3 168 1>;
+};
+
+&gpio6 {
+ gpio-ranges = <&pinctrl 0 87 2>;
+ /delete-property/ status;
+};
+
+&gpio7 {
+ gpio-ranges = <&pinctrl 2 199 4>;
+ /delete-property/ status;
+};
+
+&spi0 {
+ cs-gpios = <&gpio0 6 GPIO_ACTIVE_LOW
+ &gpio0 7 GPIO_ACTIVE_LOW>;
+ use_dma;
+ /delete-property/ status;
+
+ codec: cs4271@0 {
+ compatible = "cirrus,cs4271";
+ #sound-dai-cells = <0>;
+ reg = <0>;
+ spi-max-frequency = <6000000>;
+ spi-cpol;
+ spi-cpha;
+ reset-gpio = <&gpio0 1 GPIO_ACTIVE_HIGH>;
+ };
+
+ eeprom: at25f1024@1 {
+ compatible = "atmel,at25";
+ reg = <1>;
+ spi-max-frequency = <20000000>;
+ };
+};
+
+&adc {
+ /delete-property/ status;
+};
+
+ð0 {
+ copy_addr;
+ phy_id = <1>;
+};
+
+&uart0 {
+ /delete-property/ status;
+};
+
+&uart1 {
+ /delete-property/ status;
+};
+
+&i2s {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2s_on_ac97_pins>;
+ /delete-property/ status;
+};
--
2.39.2
^ permalink raw reply related [flat|nested] 118+ messages in thread
* Re: [PATCH 24/43] dt-bindings: ata: Add DT bindings ep93xx pata
2023-04-24 12:34 ` [PATCH 24/43] dt-bindings: ata: Add DT bindings ep93xx pata Nikita Shubin
@ 2023-04-24 13:16 ` Damien Le Moal
0 siblings, 0 replies; 118+ messages in thread
From: Damien Le Moal @ 2023-04-24 13:16 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Rob Herring,
Krzysztof Kozlowski, linux-ide, devicetree, linux-kernel
On 4/24/23 21:34, Nikita Shubin wrote:
> Add YAML bindings ep93xx SoC.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
> .../bindings/ata/cirrus,ep93xx-pata.yaml | 40 +++++++++++++++++++
> 1 file changed, 40 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/ata/cirrus,ep93xx-pata.yaml
>
> diff --git a/Documentation/devicetree/bindings/ata/cirrus,ep93xx-pata.yaml b/Documentation/devicetree/bindings/ata/cirrus,ep93xx-pata.yaml
> new file mode 100644
> index 000000000000..24ed64cfa6d1
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/ata/cirrus,ep93xx-pata.yaml
> @@ -0,0 +1,40 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/ata/cirrus,ep93xx-pata.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: EP9312 PATA controller driver
> +
> +maintainers:
> + - Damien Le Moal <damien.lemoal@opensource.wdc.com>
Wrong email address. Please use dlemoal@kernel.org as mentioned in the
MAINTAINERS file.
(other schema files need to be changed as well. Will send a patch for that)
> +
> +properties:
> + compatible:
> + const: cirrus,ep9312-pata
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + ide: ide@800a0000 {
> + compatible = "cirrus,ep9312-pata";
> + reg = <0x800a0000 0x38>;
> + interrupt-parent = <&vic1>;
> + interrupts = <8>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&ide_default_pins>;
> + };
> +
> +...
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 03/43] dt-bindings: pinctrl: Add DT bindings ep93xx pinctrl
2023-04-24 12:34 ` [PATCH 03/43] dt-bindings: pinctrl: Add DT bindings ep93xx pinctrl Nikita Shubin
@ 2023-04-24 13:28 ` Rob Herring
2023-04-25 9:24 ` Krzysztof Kozlowski
1 sibling, 0 replies; 118+ messages in thread
From: Rob Herring @ 2023-04-24 13:28 UTC (permalink / raw)
To: Nikita Shubin
Cc: Linus Walleij, Arnd Bergmann, Rob Herring, Krzysztof Kozlowski,
Linus Walleij, devicetree, linux-gpio, Alexander Sverdlin,
linux-kernel
On Mon, 24 Apr 2023 15:34:19 +0300, Nikita Shubin wrote:
> Add YAML bindings ep93xx SoC.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
> ---
>
> Notes:
> rfc->v0:
> - dropped separate bindings description, left only one with all groups,
> functions and etc...
> - added Alexander Sverdlin to maintainers
> - added Linus Reviwed-by tags, through i shoudn't =) too many changes
> - fixed warning and added seq_file header
>
> .../pinctrl/cirrus,ep93xx-pinctrl.yaml | 66 +++++++++++++++++++
> 1 file changed, 66 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/pinctrl/cirrus,ep93xx-pinctrl.yaml
>
My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):
yamllint warnings/errors:
dtschema/dtc warnings/errors:
Documentation/devicetree/bindings/pinctrl/cirrus,ep93xx-pinctrl.example.dtb: /example-0/syscon@80930000: failed to match any schema with compatible: ['cirrus,ep9301-syscon', 'syscon', 'simple-mfd']
doc reference errors (make refcheckdocs):
See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230424123522.18302-4-nikita.shubin@maquefel.me
The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 11/43] dt-bindings: clock: add DT bindings for Cirrus EP93xx
2023-04-24 12:34 ` [PATCH 11/43] dt-bindings: clock: add DT bindings for Cirrus EP93xx Nikita Shubin
@ 2023-04-24 13:28 ` Rob Herring
2023-04-28 23:15 ` Stephen Boyd
1 sibling, 0 replies; 118+ messages in thread
From: Rob Herring @ 2023-04-24 13:28 UTC (permalink / raw)
To: Nikita Shubin
Cc: linux-kernel, linux-clk, devicetree, Hartley Sweeten,
Linus Walleij, Stephen Boyd, Michael Turquette, Arnd Bergmann,
Krzysztof Kozlowski, Rob Herring, Alexander Sverdlin
On Mon, 24 Apr 2023 15:34:27 +0300, Nikita Shubin wrote:
> This adds device tree bindings for the Cirrus Logic EP93xx
> clock block used in these SoCs.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
> .../devicetree/bindings/arm/ep93xx.yaml | 102 ++++++++++++++++++
> .../dt-bindings/clock/cirrus,ep93xx-clock.h | 53 +++++++++
> 2 files changed, 155 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/arm/ep93xx.yaml
> create mode 100644 include/dt-bindings/clock/cirrus,ep93xx-clock.h
>
My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):
yamllint warnings/errors:
dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/arm/ep93xx.example.dtb: /: compatible: 'oneOf' conditional failed, one must be fixed:
['technologic,ts7250', 'cirrus,ep9301'] is too short
'liebherr,bk3' was expected
From schema: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/arm/ep93xx.yaml
doc reference errors (make refcheckdocs):
See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230424123522.18302-12-nikita.shubin@maquefel.me
The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 09/43] dt-bindings: watchdog: add DT bindings for Cirrus EP93x
2023-04-24 12:34 ` [PATCH 09/43] dt-bindings: watchdog: add DT bindings for Cirrus EP93x Nikita Shubin
@ 2023-04-24 14:16 ` Guenter Roeck
2023-04-24 14:18 ` Guenter Roeck
2023-04-25 9:31 ` Krzysztof Kozlowski
1 sibling, 1 reply; 118+ messages in thread
From: Guenter Roeck @ 2023-04-24 14:16 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
Wim Van Sebroeck, Rob Herring, Krzysztof Kozlowski,
linux-watchdog, devicetree, linux-kernel
On Mon, Apr 24, 2023 at 03:34:25PM +0300, Nikita Shubin wrote:
> This adds device tree bindings for the Cirrus Logic EP93xx
> watchdog block used in these SoCs.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
> .../bindings/watchdog/cirrus,ep93xx-wdt.yaml | 38 +++++++++++++++++++
> 1 file changed, 38 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml
>
> diff --git a/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml b/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml
> new file mode 100644
> index 000000000000..f39d6b14062d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml
> @@ -0,0 +1,38 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/watchdog/cirrus,ep93xx-wdt.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Cirrus Logic EP93xx Watchdog Timer
> +
> +maintainers:
> + - Wim Van Sebroeck <wim@linux-watchdog.org>
> +
> +description:
> + Watchdog driver for Cirrus Logic EP93xx family of devices.
> +
> +allOf:
> + - $ref: "watchdog.yaml#"
> +
> +properties:
> + compatible:
> + enum:
> + - cirrus,ep9301-wdt
> +
> + reg:
> + maxItems: 1
> +
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties: false
The driver does support reading the timeout from devicetree.
It might make sense to mention that here.
> +
> +examples:
> + - |
> + wdt0: watchdog@80940000 {
> + compatible = "cirrus,ep9301-wdt";
> + reg = <0x80940000 0x08>;
> + };
> +
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 09/43] dt-bindings: watchdog: add DT bindings for Cirrus EP93x
2023-04-24 14:16 ` Guenter Roeck
@ 2023-04-24 14:18 ` Guenter Roeck
2023-04-24 15:59 ` Rob Herring
0 siblings, 1 reply; 118+ messages in thread
From: Guenter Roeck @ 2023-04-24 14:18 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
Wim Van Sebroeck, Rob Herring, Krzysztof Kozlowski,
linux-watchdog, devicetree, linux-kernel
On Mon, Apr 24, 2023 at 07:16:16AM -0700, Guenter Roeck wrote:
> On Mon, Apr 24, 2023 at 03:34:25PM +0300, Nikita Shubin wrote:
> > This adds device tree bindings for the Cirrus Logic EP93xx
> > watchdog block used in these SoCs.
> >
> > Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> > ---
> > .../bindings/watchdog/cirrus,ep93xx-wdt.yaml | 38 +++++++++++++++++++
> > 1 file changed, 38 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml b/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml
> > new file mode 100644
> > index 000000000000..f39d6b14062d
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml
> > @@ -0,0 +1,38 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/watchdog/cirrus,ep93xx-wdt.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Cirrus Logic EP93xx Watchdog Timer
> > +
> > +maintainers:
> > + - Wim Van Sebroeck <wim@linux-watchdog.org>
> > +
> > +description:
> > + Watchdog driver for Cirrus Logic EP93xx family of devices.
> > +
> > +allOf:
> > + - $ref: "watchdog.yaml#"
> > +
> > +properties:
> > + compatible:
> > + enum:
> > + - cirrus,ep9301-wdt
> > +
> > + reg:
> > + maxItems: 1
> > +
> > +required:
> > + - compatible
> > + - reg
> > +
> > +additionalProperties: false
>
> The driver does support reading the timeout from devicetree.
> It might make sense to mention that here.
>
Never mind - I guess that is includeds in watchdog.yaml.
Sorry for the noise.
> > +
> > +examples:
> > + - |
> > + wdt0: watchdog@80940000 {
> > + compatible = "cirrus,ep9301-wdt";
> > + reg = <0x80940000 0x08>;
> > + };
> > +
> > --
> > 2.39.2
> >
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 16/43] dt-bindings: spi: Add DT bindings ep93xx spi
2023-04-24 12:34 ` [PATCH 16/43] dt-bindings: spi: Add DT bindings ep93xx spi Nikita Shubin
@ 2023-04-24 15:54 ` Mark Brown
2023-04-24 16:08 ` Rob Herring
1 sibling, 0 replies; 118+ messages in thread
From: Mark Brown @ 2023-04-24 15:54 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Rob Herring,
Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 471 bytes --]
On Mon, Apr 24, 2023 at 03:34:32PM +0300, Nikita Shubin wrote:
> +maintainers:
> + - Mark Brown <broonie@kernel.org>
This needs to be someone who actually knows about and works on the
device.
> + use_dma:
> + type: boolean
> + items:
> + - description: Flag indicating that the SPI should use dma
There don't seem to be any DMA properties here, and why would this not
just be done by making them optional rather than having a separate
specific property?
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 09/43] dt-bindings: watchdog: add DT bindings for Cirrus EP93x
2023-04-24 14:18 ` Guenter Roeck
@ 2023-04-24 15:59 ` Rob Herring
0 siblings, 0 replies; 118+ messages in thread
From: Rob Herring @ 2023-04-24 15:59 UTC (permalink / raw)
To: Guenter Roeck, Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
Wim Van Sebroeck, Krzysztof Kozlowski, linux-watchdog, devicetree,
linux-kernel
On Mon, Apr 24, 2023 at 07:18:06AM -0700, Guenter Roeck wrote:
> On Mon, Apr 24, 2023 at 07:16:16AM -0700, Guenter Roeck wrote:
> > On Mon, Apr 24, 2023 at 03:34:25PM +0300, Nikita Shubin wrote:
> > > This adds device tree bindings for the Cirrus Logic EP93xx
> > > watchdog block used in these SoCs.
> > >
> > > Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> > > ---
> > > .../bindings/watchdog/cirrus,ep93xx-wdt.yaml | 38 +++++++++++++++++++
> > > 1 file changed, 38 insertions(+)
> > > create mode 100644 Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml
> > >
> > > diff --git a/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml b/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml
> > > new file mode 100644
> > > index 000000000000..f39d6b14062d
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml
> > > @@ -0,0 +1,38 @@
> > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/watchdog/cirrus,ep93xx-wdt.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: Cirrus Logic EP93xx Watchdog Timer
> > > +
> > > +maintainers:
> > > + - Wim Van Sebroeck <wim@linux-watchdog.org>
> > > +
> > > +description:
> > > + Watchdog driver for Cirrus Logic EP93xx family of devices.
> > > +
> > > +allOf:
> > > + - $ref: "watchdog.yaml#"
> > > +
> > > +properties:
> > > + compatible:
> > > + enum:
> > > + - cirrus,ep9301-wdt
> > > +
> > > + reg:
> > > + maxItems: 1
> > > +
> > > +required:
> > > + - compatible
> > > + - reg
> > > +
> > > +additionalProperties: false
> >
> > The driver does support reading the timeout from devicetree.
> > It might make sense to mention that here.
> >
> Never mind - I guess that is includeds in watchdog.yaml.
> Sorry for the noise.
Except that it needs to be 'unevaluatedProperties: false' instead if
timeout property is supported.
>
> > > +
> > > +examples:
> > > + - |
> > > + wdt0: watchdog@80940000 {
> > > + compatible = "cirrus,ep9301-wdt";
> > > + reg = <0x80940000 0x08>;
> > > + };
> > > +
> > > --
> > > 2.39.2
> > >
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 14/43] dt-bindings: pwm: Add DT bindings ep93xx PWM
2023-04-24 12:34 ` [PATCH 14/43] dt-bindings: pwm: Add DT bindings ep93xx PWM Nikita Shubin
@ 2023-04-24 16:02 ` Rob Herring
0 siblings, 0 replies; 118+ messages in thread
From: Rob Herring @ 2023-04-24 16:02 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Thierry Reding,
Uwe Kleine-König, Krzysztof Kozlowski, linux-pwm, devicetree,
linux-kernel
On Mon, Apr 24, 2023 at 03:34:30PM +0300, Nikita Shubin wrote:
> Add YAML bindings for ep93xx SoC.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
> .../bindings/pwm/cirrus,ep93xx-pwm.yaml | 45 +++++++++++++++++++
> 1 file changed, 45 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/pwm/cirrus,ep93xx-pwm.yaml
>
> diff --git a/Documentation/devicetree/bindings/pwm/cirrus,ep93xx-pwm.yaml b/Documentation/devicetree/bindings/pwm/cirrus,ep93xx-pwm.yaml
> new file mode 100644
> index 000000000000..8f67eb152f8b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pwm/cirrus,ep93xx-pwm.yaml
> @@ -0,0 +1,45 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pwm/cirrus,ep93xx-pwm.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Cirrus Logick ep93xx PWM controller
> +
> +maintainers:
> + - Thierry Reding <thierry.reding@gmail.com>
This is someone that cares about this platform/binding, not who applies
patches. Same thing elsewhere.
> +
> +properties:
> + compatible:
> + enum:
> + - cirrus,ep9301-pwm
> + reg:
> + maxItems: 1
> +
> + clocks:
> + items:
> + - description: SoC PWM clock
> +
> + clock-names:
> + items:
> + - const: pwm_clk
*-names is kind of pointless with only 1 entry. And 'pwm' is redundant
because names are local to the device. 'clk' is redundant because it's
all clocks.
> +
> +required:
> + - compatible
> + - reg
> + - clocks
> + - clock-names
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/cirrus,ep93xx-clock.h>
> + pwm0: pwm@80910000 {
> + compatible = "cirrus,ep9301-pwm";
> + reg = <0x80910000 0x10>;
> + clocks = <&syscon EP93XX_CLK_PWM>;
> + clock-names = "pwm_clk";
> + };
> +
> +...
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 16/43] dt-bindings: spi: Add DT bindings ep93xx spi
2023-04-24 12:34 ` [PATCH 16/43] dt-bindings: spi: Add DT bindings ep93xx spi Nikita Shubin
2023-04-24 15:54 ` Mark Brown
@ 2023-04-24 16:08 ` Rob Herring
1 sibling, 0 replies; 118+ messages in thread
From: Rob Herring @ 2023-04-24 16:08 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Mark Brown,
Krzysztof Kozlowski, linux-spi, devicetree, linux-kernel
On Mon, Apr 24, 2023 at 03:34:32PM +0300, Nikita Shubin wrote:
> Add YAML bindings for ep93xx SoC.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
> .../devicetree/bindings/spi/spi-ep93xx.yaml | 68 +++++++++++++++++++
> 1 file changed, 68 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/spi/spi-ep93xx.yaml
>
> diff --git a/Documentation/devicetree/bindings/spi/spi-ep93xx.yaml b/Documentation/devicetree/bindings/spi/spi-ep93xx.yaml
> new file mode 100644
> index 000000000000..e09ab50629fb
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/spi/spi-ep93xx.yaml
> @@ -0,0 +1,68 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/spi/spi-ep93xx.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: EP93xx SoC SPI controller
> +
> +maintainers:
> + - Mark Brown <broonie@kernel.org>
> +
> +allOf:
> + - $ref: "spi-controller.yaml#"
Drop quotes.
> +
> +properties:
> + "#address-cells": true
> + "#size-cells": true
> +
> + compatible:
> + items:
> + - const: cirrus,ep9301-spi
> +
> + reg:
> + items:
> + - description: SPI registers region
> +
> + interrupts:
> + maxItems: 1
> +
> + clocks:
> + items:
> + - description: SPI Controller reference clock source
> +
> + clock-names:
> + items:
> + - const: ep93xx-spi.0
Does not sound like a clock name... Just drop unless you expect to add
more clocks.
> +
> + cs-gpios: true
> +
> + use_dma:
Don't use '_' in property names. Custom properties need a vendor prefix.
However, this looks like a driver setting rather than h/w config. Why
not always use DMA or transfers above X size. IOW, let the driver figure
it out.
> + type: boolean
> + items:
'items' is for an array, but this is a boolean.
> + - description: Flag indicating that the SPI should use dma
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - clocks
> + - clock-names
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/cirrus,ep93xx-clock.h>
> + spi0: spi@808a0000 {
> + compatible = "cirrus,ep9301-spi";
> + reg = <0x808a0000 0x18>;
> + interrupt-parent = <&vic1>;
> + interrupts = <21>;
> + clocks = <&syscon EP93XX_CLK_SPI>;
> + clock-names = "ep93xx-spi.0";
> + cs-gpios = <&gpio5 2 0>;
> + use_dma;
> + };
> +
> +...
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 18/43] dt-bindings: net: Add DT bindings ep93xx eth
2023-04-24 12:34 ` [PATCH 18/43] dt-bindings: net: Add DT bindings ep93xx eth Nikita Shubin
@ 2023-04-24 16:11 ` Rob Herring
[not found] ` <7f05ecdc-cbbd-40b0-9a40-229e18aec721@lunn.ch>
1 sibling, 0 replies; 118+ messages in thread
From: Rob Herring @ 2023-04-24 16:11 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Krzysztof Kozlowski,
Hartley Sweeten, netdev, devicetree, linux-kernel
On Mon, Apr 24, 2023 at 03:34:34PM +0300, Nikita Shubin wrote:
> Add YAML bindings for ep93xx SoC.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
> .../bindings/net/cirrus,ep93xx_eth.yaml | 51 +++++++++++++++++++
> 1 file changed, 51 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/net/cirrus,ep93xx_eth.yaml
>
> diff --git a/Documentation/devicetree/bindings/net/cirrus,ep93xx_eth.yaml b/Documentation/devicetree/bindings/net/cirrus,ep93xx_eth.yaml
> new file mode 100644
> index 000000000000..7e73cf0ddde9
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/cirrus,ep93xx_eth.yaml
> @@ -0,0 +1,51 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/cirrus,ep93xx_eth.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: The ethernet hardware included in EP93xx CPUs module Device Tree Bindings
> +
> +maintainers:
> + - Hartley Sweeten <hsweeten@visionengravers.com>
Should be referencing ethernet-controller.yaml.
> +
> +properties:
> + compatible:
> + const: cirrus,ep9301-eth
> +
> + reg:
> + items:
> + - description: The physical base address and size of IO range
> +
> + interrupts:
> + items:
> + - description: Combined signal for various interrupt events
> +
> + copy_addr:
> + type: boolean
> + description:
> + Flag indicating that the MAC address should be copied
> + from the IndAd registers (as programmed by the bootloader)
The bootloader is supposed to fill in local-mac-address if it sets the
MAC address.
> +
> + phy_id:
> + description: MII phy_id to use
type?
There's standard properties for dealing with phy connections. Surely
they work for this.
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + eth0: eth@80010000 {
ethernet@...
> + compatible = "cirrus,ep9301-eth";
> + reg = <0x80010000 0x10000>;
> + interrupt-parent = <&vic1>;
> + interrupts = <7>;
> + copy_addr;
> + phy_id = < 1 >;
> + };
> +
> +...
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 20/43] dt-bindings: dma: Add DT bindings ep93xx dma
2023-04-24 12:34 ` [PATCH 20/43] dt-bindings: dma: Add DT bindings ep93xx dma Nikita Shubin
@ 2023-04-24 16:15 ` Rob Herring
0 siblings, 0 replies; 118+ messages in thread
From: Rob Herring @ 2023-04-24 16:15 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Vinod Koul,
Krzysztof Kozlowski, dmaengine, devicetree, linux-kernel
On Mon, Apr 24, 2023 at 03:34:36PM +0300, Nikita Shubin wrote:
> Add YAML bindings for ep93xx SoC.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
> .../bindings/dma/cirrus,ep93xx-dma-m2m.yaml | 66 ++++++++++++
> .../bindings/dma/cirrus,ep93xx-dma-m2p.yaml | 102 ++++++++++++++++++
> 2 files changed, 168 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/dma/cirrus,ep93xx-dma-m2m.yaml
> create mode 100644 Documentation/devicetree/bindings/dma/cirrus,ep93xx-dma-m2p.yaml
>
> diff --git a/Documentation/devicetree/bindings/dma/cirrus,ep93xx-dma-m2m.yaml b/Documentation/devicetree/bindings/dma/cirrus,ep93xx-dma-m2m.yaml
> new file mode 100644
> index 000000000000..9a53ee9052a0
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/dma/cirrus,ep93xx-dma-m2m.yaml
> @@ -0,0 +1,66 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/dma/cirrus,ep93xx-dma-m2m.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Cirrus Logick ep93xx SoC DMA controller Device Tree Bindings
> +
> +maintainers:
> + - Vinod Koul <vkoul@kernel.org>
Again, wrong person.
> +
> +properties:
> + compatible:
> + items:
> + - const: cirrus,ep9301-dma-m2m
'items' can be dropped.
> +
> + reg:
> + minItems: 2
> + maxItems: 2
Need to define what each entry is.
> +
> + clocks:
> + items:
> + - description: m2m0 channel gate clock
> + - description: m2m1 channel gate clock
> +
> + clock-names:
> + items:
> + - const: m2m0
> + - const: m2m1
> +
> + interrupts:
> + minItems: 2
> + maxItems: 2
Need to define what each entry is.
> +
> + dma-channels:
> + minimum: 2
> + maximum: 2
If the only possible number of channels is 2, why is this property
needed?
> +
> + '#dma-cells': false
> +
> +required:
> + - compatible
> + - reg
> + - clocks
> + - clock-names
> + - interrupts
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/cirrus,ep93xx-clock.h>
> + dma1: dma-controller@80000100 {
> + compatible = "cirrus,ep9301-dma-m2m";
> + reg = <0x80000100 0x0040>,
> + <0x80000140 0x0040>;
> + clocks = <&syscon EP93XX_CLK_M2M0>,
> + <&syscon EP93XX_CLK_M2M1>;
> + clock-names = "m2m0", "m2m1";
> + dma-channels = <2>;
> + interrupt-parent = <&vic0>;
> + interrupts = <17>, <18>;
> + };
> +
> +...
> +
> diff --git a/Documentation/devicetree/bindings/dma/cirrus,ep93xx-dma-m2p.yaml b/Documentation/devicetree/bindings/dma/cirrus,ep93xx-dma-m2p.yaml
> new file mode 100644
> index 000000000000..51fd72b4e843
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/dma/cirrus,ep93xx-dma-m2p.yaml
> @@ -0,0 +1,102 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/dma/cirrus,ep93xx-dma-m2p.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Cirrus Logick ep93xx SoC M2P DMA controller Device Tree Bindings
> +
> +maintainers:
> + - Vinod Koul <vkoul@kernel.org>
> +
> +properties:
> + compatible:
> + items:
> + - const: cirrus,ep9301-dma-m2p
> +
> + reg:
> + minItems: 10
> + maxItems: 10
Define each entry. Looks like it's just N entries for N channels. Just a
description with that is enough.
> +
> + clocks:
> + items:
> + - description: m2p0 channel gate clock
> + - description: m2p1 channel gate clock
> + - description: m2p2 channel gate clock
> + - description: m2p3 channel gate clock
> + - description: m2p4 channel gate clock
> + - description: m2p5 channel gate clock
> + - description: m2p6 channel gate clock
> + - description: m2p7 channel gate clock
> + - description: m2p8 channel gate clock
> + - description: m2p9 channel gate clock
> +
> + clock-names:
> + items:
> + - const: m2p0
> + - const: m2p1
> + - const: m2p2
> + - const: m2p3
> + - const: m2p4
> + - const: m2p5
> + - const: m2p6
> + - const: m2p7
> + - const: m2p8
> + - const: m2p9
> +
> + interrupts:
> + minItems: 10
> + maxItems: 10
> +
> + dma-channels:
> + minimum: 10
> + maximum: 10
> +
> + '#dma-cells': false
> +
> +required:
> + - compatible
> + - reg
> + - clocks
> + - clock-names
> + - interrupts
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/cirrus,ep93xx-clock.h>
> + dma0: dma-controller@80000000 {
> + compatible = "cirrus,ep9301-dma-m2p";
> + reg = <0x80000000 0x0040>,
> + <0x80000040 0x0040>,
> + <0x80000080 0x0040>,
> + <0x800000c0 0x0040>,
> + <0x80000240 0x0040>,
> + <0x80000200 0x0040>,
> + <0x800002c0 0x0040>,
> + <0x80000280 0x0040>,
> + <0x80000340 0x0040>,
> + <0x80000300 0x0040>;
> + clocks = <&syscon EP93XX_CLK_M2P0>,
> + <&syscon EP93XX_CLK_M2P1>,
> + <&syscon EP93XX_CLK_M2P2>,
> + <&syscon EP93XX_CLK_M2P3>,
> + <&syscon EP93XX_CLK_M2P4>,
> + <&syscon EP93XX_CLK_M2P5>,
> + <&syscon EP93XX_CLK_M2P6>,
> + <&syscon EP93XX_CLK_M2P7>,
> + <&syscon EP93XX_CLK_M2P8>,
> + <&syscon EP93XX_CLK_M2P9>;
> + clock-names = "m2p0", "m2p1",
> + "m2p2", "m2p3",
> + "m2p4", "m2p5",
> + "m2p6", "m2p7",
> + "m2p8", "m2p9";
> + dma-channels = <10>;
> + interrupt-parent = <&vic0>;
> + interrupts = <7>, <8>, <9>, <10>, <11>, <12>, <13>, <14>, <15>, <16>;
> + };
> +
> +...
> +
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 22/43] dt-bindings: mtd: add DT bindings for ts7250 nand
2023-04-24 12:34 ` [PATCH 22/43] dt-bindings: mtd: add DT bindings for ts7250 nand Nikita Shubin
@ 2023-04-24 16:17 ` Rob Herring
2023-05-02 9:48 ` Miquel Raynal
1 sibling, 0 replies; 118+ messages in thread
From: Rob Herring @ 2023-04-24 16:17 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Miquel Raynal,
Richard Weinberger, Vignesh Raghavendra, Krzysztof Kozlowski,
Lukasz Majewski, linux-mtd, devicetree, linux-kernel
On Mon, Apr 24, 2023 at 03:34:38PM +0300, Nikita Shubin wrote:
> Add YAML bindings for ts7250 NAND.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
> .../bindings/mtd/technologic,nand.yaml | 56 +++++++++++++++++++
> 1 file changed, 56 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/mtd/technologic,nand.yaml
>
> diff --git a/Documentation/devicetree/bindings/mtd/technologic,nand.yaml b/Documentation/devicetree/bindings/mtd/technologic,nand.yaml
> new file mode 100644
> index 000000000000..3234d93a1c21
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/technologic,nand.yaml
> @@ -0,0 +1,56 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mtd/technologic,nand.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Technologic Systems NAND controller
> +
> +maintainers:
> + - Lukasz Majewski <lukma@denx.de>
> +
> +properties:
> + compatible:
> + items:
> + - const: technologic,ts7200-nand
> + - const: gen_nand
Not a useful compatible.
> +
> + reg:
> + maxItems: 1
> +
> + '#address-cells': true
> + '#size-cells': true
> +
> +required:
> + - compatible
> + - reg
> +
> +unevaluatedProperties: true
No, 'true' is not allowed here.
> +
> +examples:
> + - |
> + nand-parts@0 {
> + compatible = "technologic,ts7200-nand", "gen_nand";
> + reg = <0x60000000 0x8000000>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + partition@0 {
> + label = "TS-BOOTROM";
> + reg = <0x00000000 0x00020000>;
> + read-only;
> + };
> +
> + partition@20000 {
> + label = "Linux";
> + reg = <0x00020000 0x07d00000>;
> + };
> +
> + partition@7d20000 {
> + label = "RedBoot";
> + reg = <0x07d20000 0x002e0000>;
> + read-only;
> + };
> + };
> +
> +...
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 26/43] dt-bindings: input: Add DT bindings ep93xx keypad
2023-04-24 12:34 ` [PATCH 26/43] dt-bindings: input: Add DT bindings ep93xx keypad Nikita Shubin
@ 2023-04-24 16:21 ` Rob Herring
0 siblings, 0 replies; 118+ messages in thread
From: Rob Herring @ 2023-04-24 16:21 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Dmitry Torokhov,
Krzysztof Kozlowski, linux-input, devicetree, linux-kernel
On Mon, Apr 24, 2023 at 03:34:42PM +0300, Nikita Shubin wrote:
> Add YAML bindings ep93xx SoC.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
>
> Notes:
> Linus Walleij:
> - replaced hex with proper <KEY_UP>, etc
>
> .../bindings/input/cirrus,ep93xx-keypad.yaml | 123 ++++++++++++++++++
> 1 file changed, 123 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/input/cirrus,ep93xx-keypad.yaml
>
> diff --git a/Documentation/devicetree/bindings/input/cirrus,ep93xx-keypad.yaml b/Documentation/devicetree/bindings/input/cirrus,ep93xx-keypad.yaml
> new file mode 100644
> index 000000000000..0310114de22e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/cirrus,ep93xx-keypad.yaml
> @@ -0,0 +1,123 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/input/cirrus,ep93xx-keypad.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Cirrus ep93xx keypad
> +
> +maintainers:
> + - Dmitry Torokhov <dmitry.torokhov@gmail.com>
> + - Alexander Sverdlin <alexander.sverdlin@gmail.com>
> +
> +allOf:
> + - $ref: "/schemas/input/matrix-keymap.yaml#"
Drop quotes.
> +
> +description: |
> + The KPP is designed to interface with a keypad matrix with 2-point contact
> + or 3-point contact keys. The KPP is designed to simplify the software task
> + of scanning a keypad matrix. The KPP is capable of detecting, debouncing,
> + and decoding one or multiple keys pressed simultaneously on a keypad.
> +
> +properties:
> + compatible:
> + enum:
> + - cirrus,ep9301-keypad
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 1
> +
> + clock-names:
> + enum:
> + - ep93xx-keypad
> +
> + debounce:
I think we have a common property for this.
> + description: |
> + Time in microseconds that key must be pressed or
> + released for state change interrupt to trigger.
> + $ref: /schemas/types.yaml#/definitions/uint32
> +
> + prescale:
> + description: row/column counter pre-scaler load value
> + $ref: /schemas/types.yaml#/definitions/uint32
constraints? Or 0-2^32 is valid?
> +
> + clk-rate:
No, have standard bindings for this.
> + description: clock rate setting
> + $ref: /schemas/types.yaml#/definitions/uint32
> +
> + disable-3-key:
Needs a vendor prefix.
> + type: boolean
> + description:
> + Disable 3 Key reset. Setting this disables the three key reset
> + output to the watchdog reset block.
> +
> + diag-mode:
Why do we need this in DT. Shouldn't this be a runtime setting.
> + type: boolean
> + description:
> + Key scan diagnostic mode. Setting this allows key scanning to be
> + directly controlled through the key register by writes from the
> + ARM Core.
> +
> + back-drive:
Needs a vendor prefix.
> + type: boolean
> + description:
> + Key scan back driving enable. Setting this enables the key
> + scanning logic to back drive the row and column pins of the
> + chip high during the first two column counts in the
> + row/column counter.
> +
> + test-mode:
Why do we need this in DT. Shouldn't this be a runtime setting.
> + type: boolean
> + description:
> + Test mode. When this is set, the counter RC_COUNT is advanced
> + by 8 counts when EN is active. The effect is that only column 0
> + is checked in each row. This test mode allows a faster test
> + of the ROW pins.
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - clocks
> + - clock-names
> + - linux,keymap
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/cirrus,ep93xx-clock.h>
> + #include <dt-bindings/input/input.h>
> + keypad@800f0000 {
> + compatible = "cirrus,ep9301-keypad";
> + reg = <0x800f0000 0x0c>;
> + interrupt-parent = <&vic0>;
> + interrupts = <29>;
> + clocks = <&syscon EP93XX_CLK_KEYPAD>;
> + clock-names = "ep93xx-keypad";
> + pinctrl-names = "default";
> + pinctrl-0 = <&keypad_default_pins>;
> + linux,keymap = <KEY_UP>,
> + <KEY_DOWN>,
> + <KEY_VOLUMEDOWN>,
> + <KEY_HOME>,
> + <KEY_RIGHT>,
> + <KEY_LEFT>,
> + <KEY_ENTER>,
> + <KEY_VOLUMEUP>,
> + <KEY_F6>,
> + <KEY_F8>,
> + <KEY_F9>,
> + <KEY_F10>,
> + <KEY_F1>,
> + <KEY_F2>,
> + <KEY_F3>,
> + <KEY_POWER>;
> + };
> +
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 28/43] dt-bindings: rtc: Add DT binding m48t86 rtc
2023-04-24 12:34 ` [PATCH 28/43] dt-bindings: rtc: Add DT binding m48t86 rtc Nikita Shubin
@ 2023-04-24 16:25 ` Rob Herring
2023-04-24 16:40 ` Alexandre Belloni
0 siblings, 1 reply; 118+ messages in thread
From: Rob Herring @ 2023-04-24 16:25 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
Alessandro Zummo, Alexandre Belloni, Krzysztof Kozlowski,
linux-rtc, devicetree, linux-kernel
On Mon, Apr 24, 2023 at 03:34:44PM +0300, Nikita Shubin wrote:
> Add YAML bindings for ST M48T86 / Dallas DS12887 RTC.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
> .../bindings/rtc/dallas,rtc-m48t86.yaml | 33 +++++++++++++++++++
> 1 file changed, 33 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/rtc/dallas,rtc-m48t86.yaml
>
> diff --git a/Documentation/devicetree/bindings/rtc/dallas,rtc-m48t86.yaml b/Documentation/devicetree/bindings/rtc/dallas,rtc-m48t86.yaml
> new file mode 100644
> index 000000000000..51f98bdbc385
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/rtc/dallas,rtc-m48t86.yaml
> @@ -0,0 +1,33 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/rtc/dallas,rtc-m48t86.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: ST M48T86 / Dallas DS12887 RTC bindings
> +
> +maintainers:
> + - Alessandro Zummo <a.zummo@towertech.it>
> +
> +properties:
> + compatible:
> + const: dallas,rtc-m48t86
'rtc-' is redundant. And haven't you mixed up the vendor and part
number? It should be dallas,ds12887 and/or st,m48t86?
This can probably go in the trivial rtc binding.
> +
> + reg:
> + maxItems: 2
> +
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + rtc1: rtc@10800000 {
Drop unused labels.
> + compatible = "dallas,rtc-m48t86";
> + reg = <0x10800000 0x1>, <0x11700000 0x1>;
> + };
> +
> +...
> +
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 30/43] dt-bindings: wdt: Add DT binding ts72xx wdt
2023-04-24 12:34 ` [PATCH 30/43] dt-bindings: wdt: Add DT binding ts72xx wdt Nikita Shubin
@ 2023-04-24 16:26 ` Rob Herring
0 siblings, 0 replies; 118+ messages in thread
From: Rob Herring @ 2023-04-24 16:26 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
Wim Van Sebroeck, Guenter Roeck, Krzysztof Kozlowski,
linux-watchdog, devicetree, linux-kernel
On Mon, Apr 24, 2023 at 03:34:46PM +0300, Nikita Shubin wrote:
> Add DT binding for Technologic Systems TS-72xx watchdog.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
> .../watchdog/technologic,ts72xx-wdt.yaml | 39 +++++++++++++++++++
> 1 file changed, 39 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/watchdog/technologic,ts72xx-wdt.yaml
>
> diff --git a/Documentation/devicetree/bindings/watchdog/technologic,ts72xx-wdt.yaml b/Documentation/devicetree/bindings/watchdog/technologic,ts72xx-wdt.yaml
> new file mode 100644
> index 000000000000..0e06dbaec85f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/watchdog/technologic,ts72xx-wdt.yaml
> @@ -0,0 +1,39 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/watchdog/technologic,ts72xx-wdt.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Technologic Systems TS-72xx based SBCs watchdog bindings
> +
> +maintainers:
> + - Wim Van Sebroeck <wim@linux-watchdog.org>
> + - Guenter Roeck <linux@roeck-us.net>
> +
> +allOf:
> + - $ref: "watchdog.yaml#"
Drop quotes
> +
> +properties:
> + compatible:
> + enum:
> + - technologic,ts7200-wdt
> +
> + reg:
> + maxItems: 2
Need to define each entry.
> +
> +required:
> + - compatible
> + - reg
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + watchdog0: watchdog@5a002000 {
> + compatible = "technologic,ts7200-wdt";
> + reg = <0x23800000 0x01>, <0x23c00000 0x01>;
> + timeout-sec = <30>;
> + };
> +
> +...
> +
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 32/43] dt-bindings: gpio: Add DT bindings ep93xx gpio
2023-04-24 12:34 ` [PATCH 32/43] dt-bindings: gpio: Add DT bindings ep93xx gpio Nikita Shubin
@ 2023-04-24 16:32 ` Rob Herring
2023-04-26 20:48 ` Linus Walleij
0 siblings, 1 reply; 118+ messages in thread
From: Rob Herring @ 2023-04-24 16:32 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Linus Walleij,
Bartosz Golaszewski, Krzysztof Kozlowski, linux-gpio, devicetree,
linux-kernel
On Mon, Apr 24, 2023 at 03:34:48PM +0300, Nikita Shubin wrote:
> Add YAML bindings for ep93xx SoC.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
> .../devicetree/bindings/gpio/gpio-ep93xx.yaml | 161 ++++++++++++++++++
> 1 file changed, 161 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/gpio/gpio-ep93xx.yaml
>
> diff --git a/Documentation/devicetree/bindings/gpio/gpio-ep93xx.yaml b/Documentation/devicetree/bindings/gpio/gpio-ep93xx.yaml
> new file mode 100644
> index 000000000000..4cf03c325d39
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/gpio/gpio-ep93xx.yaml
> @@ -0,0 +1,161 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/gpio/gpio-ep93xx.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: EP93xx GPIO controller
> +
> +maintainers:
> + - Linus Walleij <linus.walleij@linaro.org>
> + - Bartosz Golaszewski <brgl@bgdev.pl>
> + - Nikita Shubin <nikita.shubin@maquefel.me>
> +
> +properties:
> + compatible:
> + const: cirrus,ep9301-gpio
> +
> + chip-label:
> + maxItems: 1
> + description: human readable name.
Why do you need this? It's not standard and I don't see other GPIO
controllers needing it.
> +
> + reg:
> + minItems: 2
> + items:
> + - description: data register
> + - description: direction register
> + - description: interrupt registers base
> +
> + reg-names:
> + minItems: 2
> + items:
> + - const: data
> + - const: dir
> + - const: intr
> +
> + gpio-controller: true
> +
> + gpio-ranges: true
> +
> + "#gpio-cells":
> + const: 2
> +
> + interrupt-controller: true
> +
> + "#interrupt-cells":
> + const: 2
> +
> + interrupts:
> + items:
> + - const: 27
The value of the interrupt cells depends on the parent which is outside
the scope of this binding. Just 'maxItems: 1' is sufficient.
> +
> + interrupts-extended:
'interrupts' covers interrupts-extended. So 'interrupts' should be:
interrupts:
oneOf:
- maxItems: 1
- description: port F has dedicated irq line for each gpio line
maxItems: 8
> + minItems: 8
> + maxItems: 8
> + description: port F has dedicated irq line for each gpio line.
> +
> +required:
> + - compatible
> + - reg
> + - gpio-controller
> + - "#gpio-cells"
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + gpio0: gpio@80840000 {
> + compatible = "cirrus,ep9301-gpio";
> + chip-label = "A";
> + reg = <0x80840000 0x04>,
> + <0x80840010 0x04>,
> + <0x80840090 0x1c>;
> + reg-names = "data", "dir", "intr";
> + gpio-controller;
> + #gpio-cells = <2>;
> + interrupt-controller;
> + interrupt-parent = <&vic1>;
> + interrupts = <27>;
> + };
> +
> + gpio1: gpio@80840004 {
> + compatible = "cirrus,ep9301-gpio";
> + chip-label = "B";
> + reg = <0x80840004 0x04>,
> + <0x80840014 0x04>,
> + <0x808400ac 0x1c>;
> + reg-names = "data", "dir", "intr";
> + gpio-controller;
> + #gpio-cells = <2>;
> + interrupt-controller;
> + interrupt-parent = <&vic1>;
> + interrupts = <27>;
> + };
> +
> + gpio2: gpio@80840008 {
> + compatible = "cirrus,ep9301-gpio";
> + chip-label = "C";
> + reg = <0x80840008 0x04>,
> + <0x80840018 0x04>;
> + reg-names = "data", "dir";
> + gpio-controller;
> + #gpio-cells = <2>;
> + };
> +
> + gpio3: gpio@8084000c {
> + compatible = "cirrus,ep9301-gpio";
> + chip-label = "D";
> + reg = <0x8084000c 0x04>,
> + <0x8084001c 0x04>;
> + reg-names = "data", "dir";
> + gpio-controller;
> + #gpio-cells = <2>;
> + };
> +
> + gpio4: gpio@80840020 {
> + compatible = "cirrus,ep9301-gpio";
> + chip-label = "E";
> + reg = <0x80840020 0x04>,
> + <0x80840024 0x04>;
> + reg-names = "data", "dir";
> + gpio-controller;
> + #gpio-cells = <2>;
> + };
> +
> + gpio5: gpio@80840030 {
> + compatible = "cirrus,ep9301-gpio";
> + chip-label = "F";
> + reg = <0x80840030 0x04>,
> + <0x80840034 0x04>,
> + <0x8084004c 0x1c>;
> + reg-names = "data", "dir", "intr";
> + gpio-controller;
> + #gpio-cells = <2>;
> + interrupt-controller;
> + interrupts-extended = <&vic0 19>, <&vic0 20>,
> + <&vic0 21>, <&vic0 22>,
> + <&vic1 15>, <&vic1 16>,
> + <&vic1 17>, <&vic1 18>;
> + };
> +
> + gpio6: gpio@80840038 {
> + compatible = "cirrus,ep9301-gpio";
> + chip-label = "G";
> + reg = <0x80840038 0x04>,
> + <0x8084003c 0x04>;
> + reg-names = "data", "dir";
> + gpio-controller;
> + #gpio-cells = <2>;
> + };
> +
> + gpio7: gpio@80840040 {
> + compatible = "cirrus,ep9301-gpio";
> + chip-label = "H";
> + reg = <0x80840040 0x04>,
> + <0x80840044 0x04>;
> + reg-names = "data", "dir";
> + gpio-controller;
> + #gpio-cells = <2>;
> + };
> +
> +...
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 28/43] dt-bindings: rtc: Add DT binding m48t86 rtc
2023-04-24 16:25 ` Rob Herring
@ 2023-04-24 16:40 ` Alexandre Belloni
0 siblings, 0 replies; 118+ messages in thread
From: Alexandre Belloni @ 2023-04-24 16:40 UTC (permalink / raw)
To: Rob Herring
Cc: Nikita Shubin, Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
Alessandro Zummo, Krzysztof Kozlowski, linux-rtc, devicetree,
linux-kernel
On 24/04/2023 11:25:48-0500, Rob Herring wrote:
> On Mon, Apr 24, 2023 at 03:34:44PM +0300, Nikita Shubin wrote:
> > Add YAML bindings for ST M48T86 / Dallas DS12887 RTC.
> >
> > Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> > ---
> > .../bindings/rtc/dallas,rtc-m48t86.yaml | 33 +++++++++++++++++++
> > 1 file changed, 33 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/rtc/dallas,rtc-m48t86.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/rtc/dallas,rtc-m48t86.yaml b/Documentation/devicetree/bindings/rtc/dallas,rtc-m48t86.yaml
> > new file mode 100644
> > index 000000000000..51f98bdbc385
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/rtc/dallas,rtc-m48t86.yaml
> > @@ -0,0 +1,33 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/rtc/dallas,rtc-m48t86.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: ST M48T86 / Dallas DS12887 RTC bindings
> > +
> > +maintainers:
> > + - Alessandro Zummo <a.zummo@towertech.it>
> > +
> > +properties:
> > + compatible:
> > + const: dallas,rtc-m48t86
>
> 'rtc-' is redundant. And haven't you mixed up the vendor and part
> number? It should be dallas,ds12887 and/or st,m48t86?
>
> This can probably go in the trivial rtc binding.
>
I was wonderign, is this trivial, even with two regs?
> > +
> > + reg:
> > + maxItems: 2
> > +
> > +required:
> > + - compatible
> > + - reg
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > + - |
> > + rtc1: rtc@10800000 {
>
> Drop unused labels.
>
> > + compatible = "dallas,rtc-m48t86";
> > + reg = <0x10800000 0x1>, <0x11700000 0x1>;
> > + };
> > +
> > +...
> > +
> > --
> > 2.39.2
> >
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 00/43] ep93xx device tree conversion
[not found] ` <20230424152933.48b2ede1@kernel.org>
@ 2023-04-25 9:20 ` Krzysztof Kozlowski
2023-04-25 13:27 ` Arnd Bergmann
0 siblings, 1 reply; 118+ messages in thread
From: Krzysztof Kozlowski @ 2023-04-25 9:20 UTC (permalink / raw)
To: Jakub Kicinski, Arnd Bergmann
Cc: Nikita Shubin, Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
David S . Miller, Jonathan Neuschäfer, Russell King,
Uwe Kleine-König, Alessandro Zummo, Alexander Gordeev,
Alexandre Belloni, Andy Shevchenko, Bartosz Golaszewski,
Brian Norris, Chuanhong Guo, Conor.Dooley, Damien Le Moal,
Daniel Lezcano, Dmitry Torokhov, Emil Renner Berthing,
Eric Dumazet, Florian Fainelli, Guenter Roeck, Hartley Sweeten,
Heiko Stübner, Hitomi Hasegawa, Jaroslav Kysela,
Jean Delvare, Joel Stanley, Jonathan Cameron, Krzysztof Kozlowski,
Damien Le Moal, Liam Girdwood, Liang Yang, Linus Walleij,
Lukasz Majewski, Lv Ruyi, Mark Brown, Masahiro Yamada,
Michael Turquette, Miquel Raynal, Nathan Chancellor,
Nick Desaulniers, Nicolas Saenz Julienne, Olof Johansson,
Paolo Abeni, Qin Jian, Richard Weinberger, Rob Herring,
Robert Jarzmik, Russell King, Sebastian Reichel, Sergey Shtylyov,
Stephen Boyd, Sumanth Korikkar, Sven Peter, Takashi Iwai,
Thierry Reding, Thomas Gleixner, Ulf Hansson, Vasily Gorbik,
Vignesh Raghavendra, Vinod Koul, Walker Chen, Wim Van Sebroeck,
Yinbo Zhu, alsa-devel, devicetree, dmaengine, linux-arm-kernel,
linux-clk, open list:GPIO SUBSYSTEM, linux-ide, linux-input,
linux-kernel, linux-mtd, linux-pm, linux-pwm, linux-rtc,
linux-spi, linux-watchdog, Netdev, soc
On 25/04/2023 00:29, Jakub Kicinski wrote:
> On Mon, 24 Apr 2023 13:31:25 +0200 Arnd Bergmann wrote:
>> Thanks a lot for your continued work. I can't merge any of this at
>> the moment since the upstream merge window just opened, but I'm
>> happy to take this all through the soc tree for 6.5, provided we
>> get the sufficient Acks from the subsystem maintainers. Merging
>> it through each individual tree would take a lot longer, so I
>> hope we can avoid that.
>
> Is there a dependency between the patches?
I didn't get entire patchset and cover letter does not mention
dependencies, but usually there shouldn't be such. Maybe for the next
versions this should be split per subsystem?
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 03/43] dt-bindings: pinctrl: Add DT bindings ep93xx pinctrl
2023-04-24 12:34 ` [PATCH 03/43] dt-bindings: pinctrl: Add DT bindings ep93xx pinctrl Nikita Shubin
2023-04-24 13:28 ` Rob Herring
@ 2023-04-25 9:24 ` Krzysztof Kozlowski
1 sibling, 0 replies; 118+ messages in thread
From: Krzysztof Kozlowski @ 2023-04-25 9:24 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Linus Walleij,
Rob Herring, Krzysztof Kozlowski, linux-gpio, devicetree,
linux-kernel
On 24/04/2023 14:34, Nikita Shubin wrote:
> Add YAML bindings ep93xx SoC.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
> ---
>
> Notes:
> rfc->v0:
> - dropped separate bindings description, left only one with all groups,
> functions and etc...
> - added Alexander Sverdlin to maintainers
> - added Linus Reviwed-by tags, through i shoudn't =) too many changes
> - fixed warning and added seq_file header
>
> .../pinctrl/cirrus,ep93xx-pinctrl.yaml | 66 +++++++++++++++++++
> 1 file changed, 66 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/pinctrl/cirrus,ep93xx-pinctrl.yaml
>
> diff --git a/Documentation/devicetree/bindings/pinctrl/cirrus,ep93xx-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/cirrus,ep93xx-pinctrl.yaml
> new file mode 100644
> index 000000000000..cba4be7c5994
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pinctrl/cirrus,ep93xx-pinctrl.yaml
> @@ -0,0 +1,66 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pinctrl/cirrus,ep93xx-pinctrl.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Cirrus ep93xx pins mux controller
> +
> +maintainers:
> + - Nikita Shubin <nikita.shubin@maquefel.me>
> + - Alexander Sverdlin <alexander.sverdlin@gmail.com>
> +
> +properties:
> + compatible:
> + enum:
> + - cirrus,ep9301-pinctrl
> + - cirrus,ep9307-pinctrl
> + - cirrus,ep9312-pinctrl
Blank line
> + regmap:
> + description: phandle to syscon
This should be specific - vendor prefix, property name, explanation what
do you need here in description. "phandle to syscon" is redundant.
You also miss type.
Anyway, your example contradicts this. You do not have regmap.
> +
> +patternProperties:
> + '^pinctrl-':
'^pins-' instead, because pinctrl is the entire device.
> + type: object
> + description: pin node
> + $ref: pinmux-node.yaml#
> +
> + properties:
> + function:
> + enum: [ spi, ac97, i2s, pwm, keypad, pata, lcd, gpio1, gpio2, gpio3,
> + gpio4, gpio6, gpio7 ]
Why gpio has different versions? gpio should be one function.
> + groups:
> + minItems: 1
> + maxItems: 2
> + items:
> + enum: [ ssp, ac97, i2s_on_ssp, i2s_on_ac97, pwm1, gpio1agrp,
> + gpio2agrp, gpio3agrp, gpio4agrp, gpio6agrp, gpio7agrp,
> + rasteronsdram0grp, rasteronsdram3grp, keypadgrp, idegrp]
> +
> + required:
> + - function
> + - groups
> +
> +required:
> + - compatible
> + - regmap
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + syscon: syscon@80930000 {
> + compatible = "cirrus,ep9301-syscon",
> + "syscon", "simple-mfd";
You created now dependency on this binding. Drop the parent node. If
this is supposed to be always part of syscon, then example could be in
parent's node... but I have doubts that is a part of syscon in the first
place.
> + reg = <0x80930000 0x1000>;
> + #clock-cells = <1>;
> + #reset-cells = <1>;
> + pinctrl: pinctrl {
> + compatible = "cirrus,ep9312-pinctrl";
Mixed indentation. Actually before also looks odd...
Use 4 spaces for example indentation.
> + regmap = <&syscon>;
> + spi_default_pins: pinctrl-spi {
> + function = "spi";
> + groups = "ssp";
> + };
> + };
> + };
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 05/43] dt-bindings: timers: add DT bindings for Cirrus EP93xx
2023-04-24 12:34 ` [PATCH 05/43] dt-bindings: timers: add DT bindings for Cirrus EP93xx Nikita Shubin
@ 2023-04-25 9:26 ` Krzysztof Kozlowski
2023-04-25 9:29 ` Krzysztof Kozlowski
1 sibling, 0 replies; 118+ messages in thread
From: Krzysztof Kozlowski @ 2023-04-25 9:26 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Daniel Lezcano,
Thomas Gleixner, Rob Herring, Krzysztof Kozlowski,
Hartley Sweeten, linux-kernel, devicetree
On 24/04/2023 14:34, Nikita Shubin wrote:
> This adds device tree bindings for the Cirrus Logic EP93xx
> timer block used in these SoCs.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
Subject: drop second/last, redundant "DT bindings for". The
"dt-bindings" prefix is already stating that these are bindings. In all
patches.
> ---
>
> Notes:
> Arnd Bergmann:
> - replaced ep93xx wildcard with ep9301
>
> .../bindings/timer/cirrus,ep93xx-timer.yaml | 41 +++++++++++++++++++
> 1 file changed, 41 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/timer/cirrus,ep93xx-timer.yaml
>
> diff --git a/Documentation/devicetree/bindings/timer/cirrus,ep93xx-timer.yaml b/Documentation/devicetree/bindings/timer/cirrus,ep93xx-timer.yaml
> new file mode 100644
> index 000000000000..ce8b8a5cb90a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/timer/cirrus,ep93xx-timer.yaml
> @@ -0,0 +1,41 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/timer/cirrus,ep93xx-timer.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Cirrus Logic EP93xx timers bindings
Drop "bindings". In all patches.
> +
> +maintainers:
> + - Hartley Sweeten <hsweeten@visionengravers.com>
> + - Alexander Sverdlin <alexander.sverdlin@gmail.com>
> +
> +properties:
> + compatible:
> + const: cirrus,ep9301-timer
> +
With two fixes above:
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
This is an automated instruction, just in case, because many review tags
are being ignored. If you do not know the process, here is a short
explanation:
Please add Acked-by/Reviewed-by/Tested-by tags when posting new
versions, under or above your Signed-off-by tag. Tools like b4 can help
here. However, there's no need to repost patches *only* to add the tags.
The upstream maintainer will do that for acks received on the version
they apply.
https://elixir.bootlin.com/linux/v5.17/source/Documentation/process/submitting-patches.rst#L540
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 07/43] dt-bindings: rtc: add DT bindings for Cirrus EP93xx
2023-04-24 12:34 ` [PATCH 07/43] dt-bindings: rtc: " Nikita Shubin
2023-04-24 10:08 ` Alexandre Belloni
@ 2023-04-25 9:28 ` Krzysztof Kozlowski
2023-04-28 14:35 ` Nikita Shubin
1 sibling, 1 reply; 118+ messages in thread
From: Krzysztof Kozlowski @ 2023-04-25 9:28 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
Alessandro Zummo, Alexandre Belloni, Rob Herring,
Krzysztof Kozlowski, Hartley Sweeten, linux-rtc, devicetree,
linux-kernel
On 24/04/2023 14:34, Nikita Shubin wrote:
> This adds device tree bindings for the Cirrus Logic EP93xx
> RTC block used in these SoCs.
Thank you for your patch. There is something to discuss/improve.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
> .../bindings/rtc/cirrus,ep93xx-rtc.yaml | 32 +++++++++++++++++++
> 1 file changed, 32 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/rtc/cirrus,ep93xx-rtc.yaml
>
> diff --git a/Documentation/devicetree/bindings/rtc/cirrus,ep93xx-rtc.yaml b/Documentation/devicetree/bindings/rtc/cirrus,ep93xx-rtc.yaml
> new file mode 100644
> index 000000000000..d4774e984e7b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/rtc/cirrus,ep93xx-rtc.yaml
> @@ -0,0 +1,32 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/rtc/cirrus,ep93xx-rtc.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Cirrus EP93xx Real Time Clock controller
> +
> +maintainers:
> + - Hartley Sweeten <hsweeten@visionengravers.com>
> + - Alexander Sverdlin <alexander.sverdlin@gmail.com>
> +
> +properties:
> + compatible:
> + const: cirrus,ep9301-rtc
Why only one compatible? What about ep9307 and ep9312? The same question
for your previous patch - timer.
Anyway, if you want to keep it like that, then filename should match
compatible. Or merge it into trivial-rtc like Alexandre suggested.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 05/43] dt-bindings: timers: add DT bindings for Cirrus EP93xx
2023-04-24 12:34 ` [PATCH 05/43] dt-bindings: timers: add DT bindings for Cirrus EP93xx Nikita Shubin
2023-04-25 9:26 ` Krzysztof Kozlowski
@ 2023-04-25 9:29 ` Krzysztof Kozlowski
2023-04-28 14:34 ` Nikita Shubin
1 sibling, 1 reply; 118+ messages in thread
From: Krzysztof Kozlowski @ 2023-04-25 9:29 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Daniel Lezcano,
Thomas Gleixner, Rob Herring, Krzysztof Kozlowski,
Hartley Sweeten, linux-kernel, devicetree
On 24/04/2023 14:34, Nikita Shubin wrote:
> This adds device tree bindings for the Cirrus Logic EP93xx
> timer block used in these SoCs.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
>
> Notes:
> Arnd Bergmann:
> - replaced ep93xx wildcard with ep9301
>
> .../bindings/timer/cirrus,ep93xx-timer.yaml | 41 +++++++++++++++++++
> 1 file changed, 41 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/timer/cirrus,ep93xx-timer.yaml
>
> diff --git a/Documentation/devicetree/bindings/timer/cirrus,ep93xx-timer.yaml b/Documentation/devicetree/bindings/timer/cirrus,ep93xx-timer.yaml
> new file mode 100644
> index 000000000000..ce8b8a5cb90a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/timer/cirrus,ep93xx-timer.yaml
> @@ -0,0 +1,41 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/timer/cirrus,ep93xx-timer.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Cirrus Logic EP93xx timers bindings
> +
> +maintainers:
> + - Hartley Sweeten <hsweeten@visionengravers.com>
> + - Alexander Sverdlin <alexander.sverdlin@gmail.com>
> +
> +properties:
> + compatible:
> + const: cirrus,ep9301-timer
1. Why only one compatible?
2. If this is kept, then filename matching compatible.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 09/43] dt-bindings: watchdog: add DT bindings for Cirrus EP93x
2023-04-24 12:34 ` [PATCH 09/43] dt-bindings: watchdog: add DT bindings for Cirrus EP93x Nikita Shubin
2023-04-24 14:16 ` Guenter Roeck
@ 2023-04-25 9:31 ` Krzysztof Kozlowski
2023-04-28 14:33 ` Nikita Shubin
1 sibling, 1 reply; 118+ messages in thread
From: Krzysztof Kozlowski @ 2023-04-25 9:31 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
Wim Van Sebroeck, Guenter Roeck, Rob Herring, Krzysztof Kozlowski,
linux-watchdog, devicetree, linux-kernel
On 24/04/2023 14:34, Nikita Shubin wrote:
> This adds device tree bindings for the Cirrus Logic EP93xx
> watchdog block used in these SoCs.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
> .../bindings/watchdog/cirrus,ep93xx-wdt.yaml | 38 +++++++++++++++++++
> 1 file changed, 38 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml
>
> diff --git a/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml b/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml
> new file mode 100644
> index 000000000000..f39d6b14062d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml
> @@ -0,0 +1,38 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/watchdog/cirrus,ep93xx-wdt.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Cirrus Logic EP93xx Watchdog Timer
EP93xx is no EP9301. This does not match your compatible list. You
should probably list all of your devices. With or without compatibility
between them (so with a generic fallback for example).
> +
> +maintainers:
> + - Wim Van Sebroeck <wim@linux-watchdog.org>
> +
> +description:
> + Watchdog driver for Cirrus Logic EP93xx family of devices.
Drop "driver for" and instead describe the hardware.
> +
> +allOf:
> + - $ref: "watchdog.yaml#"
Drop quotes.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 00/43] ep93xx device tree conversion
2023-04-25 9:20 ` Krzysztof Kozlowski
@ 2023-04-25 13:27 ` Arnd Bergmann
0 siblings, 0 replies; 118+ messages in thread
From: Arnd Bergmann @ 2023-04-25 13:27 UTC (permalink / raw)
To: Krzysztof Kozlowski, Jakub Kicinski
Cc: Nikita Shubin, Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
David S . Miller, Jonathan Neuschäfer, Russell King,
Uwe Kleine-König, Alessandro Zummo, Alexander Gordeev,
Alexandre Belloni, Andy Shevchenko, Bartosz Golaszewski,
Brian Norris, Chuanhong Guo, Conor.Dooley, Damien Le Moal,
Daniel Lezcano, Dmitry Torokhov, Emil Renner Berthing,
Eric Dumazet, Florian Fainelli, Guenter Roeck, Hartley Sweeten,
Heiko Stübner, Hitomi Hasegawa, Jaroslav Kysela,
Jean Delvare, Joel Stanley, Jonathan Cameron, Krzysztof Kozlowski,
Damien Le Moal, Liam Girdwood, Liang Yang, Linus Walleij,
Lukasz Majewski, Lv Ruyi, Mark Brown, Masahiro Yamada,
Michael Turquette, Miquel Raynal, Nathan Chancellor,
Nick Desaulniers, Nicolas Saenz Julienne, Olof Johansson,
Paolo Abeni, Qin Jian, Richard Weinberger, Rob Herring,
Robert Jarzmik, Russell King, Sebastian Reichel, Sergey Shtylyov,
Stephen Boyd, Sumanth Korikkar, Sven Peter, Takashi Iwai,
Thierry Reding, Thomas Gleixner, Ulf Hansson, Vasily Gorbik,
Vignesh Raghavendra, Vinod Koul, Walker Chen, Wim Van Sebroeck,
Yinbo Zhu, alsa-devel, devicetree, dmaengine, linux-arm-kernel,
linux-clk, open list:GPIO SUBSYSTEM, linux-ide, linux-input,
linux-kernel, linux-mtd, linux-pm, linux-pwm, linux-rtc,
linux-spi, linux-watchdog, Netdev, soc
On Tue, Apr 25, 2023, at 10:20, Krzysztof Kozlowski wrote:
> On 25/04/2023 00:29, Jakub Kicinski wrote:
>> On Mon, 24 Apr 2023 13:31:25 +0200 Arnd Bergmann wrote:
>>> Thanks a lot for your continued work. I can't merge any of this at
>>> the moment since the upstream merge window just opened, but I'm
>>> happy to take this all through the soc tree for 6.5, provided we
>>> get the sufficient Acks from the subsystem maintainers. Merging
>>> it through each individual tree would take a lot longer, so I
>>> hope we can avoid that.
>>
>> Is there a dependency between the patches?
>
> I didn't get entire patchset and cover letter does not mention
> dependencies, but usually there shouldn't be such. Maybe for the next
> versions this should be split per subsystem?
Clearly the last patch that removes the board files depends on
all the previous patches, but I assume that the other ones
are all independent.
We don't do complete conversions from boardfiles to DT that often
any more, but in the past we tended to do this through a cross-
subsystem branch in the soc tree, which helps do it more quickly
and is less work for Nikita. In this case, I would make it a
separate top-level branch in the soc tree.
If anyone strongly feels that the patches should go through
the subsystem trees here, we'll take the longer path and
do the changes separately, with the boardfile removal
coming a release later.
Arnd
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 32/43] dt-bindings: gpio: Add DT bindings ep93xx gpio
2023-04-24 16:32 ` Rob Herring
@ 2023-04-26 20:48 ` Linus Walleij
2023-04-28 14:44 ` Nikita Shubin
0 siblings, 1 reply; 118+ messages in thread
From: Linus Walleij @ 2023-04-26 20:48 UTC (permalink / raw)
To: Rob Herring
Cc: Nikita Shubin, Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
Bartosz Golaszewski, Krzysztof Kozlowski, linux-gpio, devicetree,
linux-kernel
On Mon, Apr 24, 2023 at 6:32 PM Rob Herring <robh@kernel.org> wrote:
> On Mon, Apr 24, 2023 at 03:34:48PM +0300, Nikita Shubin wrote:
> > Add YAML bindings for ep93xx SoC.
> >
> > Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
(...)
> > + chip-label:
> > + maxItems: 1
> > + description: human readable name.
>
> Why do you need this? It's not standard and I don't see other GPIO
> controllers needing it.
Caught my eye too, Nikita can you live without this and just use dev_name()
or something to name the chip in Linux?
If it is to conform to EP93xx documentation naming I guess it should be
cirrus,ep93xx-gpio-chip-name = "..."; ?
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 00/43] ep93xx device tree conversion
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (19 preceding siblings ...)
2023-04-24 12:34 ` [PATCH 42/43] ARM: dts: ep93xx: Add EDB9302 DT Nikita Shubin
@ 2023-04-26 20:56 ` Linus Walleij
[not found] ` <b5396ef5-3fed-4e98-8f37-a9cd4473bddc@sirena.org.uk>
2023-05-16 3:47 ` Florian Fainelli
` (19 subsequent siblings)
40 siblings, 1 reply; 118+ messages in thread
From: Linus Walleij @ 2023-04-26 20:56 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, David S. Miller,
Jonathan Neuschäfer, Russell King (Oracle),
Uwe Kleine-König, Alessandro Zummo, Alexander Gordeev,
Alexandre Belloni, Andy Shevchenko, Arnd Bergmann,
Bartosz Golaszewski, Brian Norris, Chuanhong Guo, Conor Dooley,
Damien Le Moal, Daniel Lezcano, Dmitry Torokhov,
Emil Renner Berthing, Eric Dumazet, Florian Fainelli,
Guenter Roeck, Hartley Sweeten, Heiko Stuebner, Hitomi Hasegawa,
Jakub Kicinski, Jaroslav Kysela, Jean Delvare, Joel Stanley,
Jonathan Cameron, Krzysztof Kozlowski, Le Moal, Liam Girdwood,
Liang Yang, Lukasz Majewski, Lv Ruyi, Mark Brown, Masahiro Yamada,
Michael Turquette, Miquel Raynal, Nathan Chancellor,
Nick Desaulniers, Nicolas Saenz Julienne, Olof Johansson,
Paolo Abeni, Qin Jian, Richard Weinberger, Rob Herring,
Robert Jarzmik, Russell King, Sebastian Reichel, Sergey Shtylyov,
Stephen Boyd, Sumanth Korikkar, Sven Peter, Takashi Iwai,
Thierry Reding, Thomas Gleixner, Ulf Hansson, Vasily Gorbik,
Vignesh Raghavendra, Vinod Koul, Walker Chen, Wim Van Sebroeck,
Yinbo Zhu, 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, soc
On Mon, Apr 24, 2023 at 11:35 AM Nikita Shubin
<nikita.shubin@maquefel.me> wrote:
> This series aims to convert ep93xx from platform to full device tree support.
>
> Tested on ts7250 64 RAM/128 MiB Nand flash, edb9302.
Neat, I'd say let's merge this for 6.5 once the final rough edges are
off. The DT bindings should be easy to fix.
This is a big patch set and the improvement to the ARM kernel it
brings is great, so I am a bit worried about over-review stalling the
merged. If there start to be nitpicky comments I would prefer that
we merge it and let minor comments and "nice-to-haves" be
addressed in-tree during the development cycle.
I encourage you to use b4 to manage the patch series if you
have time to learn it, it could help you:
https://people.kernel.org/monsieuricon/sending-a-kernel-patch-with-b4-part-1
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 00/43] ep93xx device tree conversion
[not found] ` <b5396ef5-3fed-4e98-8f37-a9cd4473bddc@sirena.org.uk>
@ 2023-04-26 21:06 ` Linus Walleij
0 siblings, 0 replies; 118+ messages in thread
From: Linus Walleij @ 2023-04-26 21:06 UTC (permalink / raw)
To: Mark Brown
Cc: Nikita Shubin, Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
David S. Miller, Jonathan Neuschäfer, Russell King (Oracle),
Uwe Kleine-König, Alessandro Zummo, Alexander Gordeev,
Alexandre Belloni, Andy Shevchenko, Arnd Bergmann,
Bartosz Golaszewski, Brian Norris, Chuanhong Guo, Conor Dooley,
Damien Le Moal, Daniel Lezcano, Dmitry Torokhov,
Emil Renner Berthing, Eric Dumazet, Florian Fainelli,
Guenter Roeck, Hartley Sweeten, Heiko Stuebner, Hitomi Hasegawa,
Jakub Kicinski, Jaroslav Kysela, Jean Delvare, Joel Stanley,
Jonathan Cameron, Krzysztof Kozlowski, Le Moal, Liam Girdwood,
Liang Yang, Lukasz Majewski, Lv Ruyi, Masahiro Yamada,
Michael Turquette, Miquel Raynal, Nathan Chancellor,
Nick Desaulniers, Nicolas Saenz Julienne, Olof Johansson,
Paolo Abeni, Qin Jian, Richard Weinberger, Rob Herring,
Robert Jarzmik, Russell King, Sebastian Reichel, Sergey Shtylyov,
Stephen Boyd, Sumanth Korikkar, Sven Peter, Takashi Iwai,
Thierry Reding, Thomas Gleixner, Ulf Hansson, Vasily Gorbik,
Vignesh Raghavendra, Vinod Koul, Walker Chen, Wim Van Sebroeck,
Yinbo Zhu, 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, soc
On Wed, Apr 26, 2023 at 11:02 PM Mark Brown <broonie@kernel.org> wrote:
> On Wed, Apr 26, 2023 at 10:56:53PM +0200, Linus Walleij wrote:
>
> > This is a big patch set and the improvement to the ARM kernel it
> > brings is great, so I am a bit worried about over-review stalling the
> > merged. If there start to be nitpicky comments I would prefer that
> > we merge it and let minor comments and "nice-to-haves" be
> > addressed in-tree during the development cycle.
>
> I'm really not enthusiastic about the SPI bindings being merged as-is.
Agree, the bindings are more important than the code IMO,
they tend to get written in stone.
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 05/43] dt-bindings: timers: add DT bindings for Cirrus EP93xx
2023-04-28 14:34 ` Nikita Shubin
@ 2023-04-28 12:18 ` Krzysztof Kozlowski
0 siblings, 0 replies; 118+ messages in thread
From: Krzysztof Kozlowski @ 2023-04-28 12:18 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Daniel Lezcano,
Thomas Gleixner, Rob Herring, Hartley Sweeten, linux-kernel,
devicetree
On 28/04/2023 16:34, Nikita Shubin wrote:
> On Tue, 2023-04-25 at 11:29 +0200, Krzysztof Kozlowski wrote:
>> On 24/04/2023 14:34, Nikita Shubin wrote:
>>> This adds device tree bindings for the Cirrus Logic EP93xx
>>> timer block used in these SoCs.
>>>
>>> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
>>> ---
>>>
>>> Notes:
>>> Arnd Bergmann:
>>> - replaced ep93xx wildcard with ep9301
>>>
>>> .../bindings/timer/cirrus,ep93xx-timer.yaml | 41
>>> +++++++++++++++++++
>>> 1 file changed, 41 insertions(+)
>>> create mode 100644
>>> Documentation/devicetree/bindings/timer/cirrus,ep93xx-timer.yaml
>>>
>>> diff --git a/Documentation/devicetree/bindings/timer/cirrus,ep93xx-
>>> timer.yaml b/Documentation/devicetree/bindings/timer/cirrus,ep93xx-
>>> timer.yaml
>>> new file mode 100644
>>> index 000000000000..ce8b8a5cb90a
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/timer/cirrus,ep93xx-
>>> timer.yaml
>>> @@ -0,0 +1,41 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/timer/cirrus,ep93xx-timer.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Cirrus Logic EP93xx timers bindings
>>> +
>>> +maintainers:
>>> + - Hartley Sweeten <hsweeten@visionengravers.com>
>>> + - Alexander Sverdlin <alexander.sverdlin@gmail.com>
>>> +
>>> +properties:
>>> + compatible:
>>> + const: cirrus,ep9301-timer
>>
>> 1. Why only one compatible?
>> 2. If this is kept, then filename matching compatible.
>
> I should rename the file to cirrus,ep9301-timer.yaml
No, at least no yet. See point 1.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 09/43] dt-bindings: watchdog: add DT bindings for Cirrus EP93x
2023-04-28 14:33 ` Nikita Shubin
@ 2023-04-28 12:20 ` Krzysztof Kozlowski
2023-04-28 17:42 ` Nikita Shubin
0 siblings, 1 reply; 118+ messages in thread
From: Krzysztof Kozlowski @ 2023-04-28 12:20 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
Wim Van Sebroeck, Guenter Roeck, Rob Herring, linux-watchdog,
devicetree, linux-kernel
On 28/04/2023 16:33, Nikita Shubin wrote:
> Hello Krzysztof!
>
> On Tue, 2023-04-25 at 11:31 +0200, Krzysztof Kozlowski wrote:
>> On 24/04/2023 14:34, Nikita Shubin wrote:
>>> This adds device tree bindings for the Cirrus Logic EP93xx
>>> watchdog block used in these SoCs.
>>>
>>> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
>>> ---
>>> .../bindings/watchdog/cirrus,ep93xx-wdt.yaml | 38
>>> +++++++++++++++++++
>>> 1 file changed, 38 insertions(+)
>>> create mode 100644
>>> Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml
>>>
>>> diff --git
>>> a/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml
>>> b/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml
>>> new file mode 100644
>>> index 000000000000..f39d6b14062d
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-
>>> wdt.yaml
>>> @@ -0,0 +1,38 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id:
>>> http://devicetree.org/schemas/watchdog/cirrus,ep93xx-wdt.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Cirrus Logic EP93xx Watchdog Timer
>>
>> EP93xx is no EP9301. This does not match your compatible list. You
>> should probably list all of your devices. With or without
>> compatibility
>> between them (so with a generic fallback for example).
>
> I will rename file to cirrus,ep9301-wdt.yaml, all ep93xx SoC family has
> the same watchdog, so there is now reason for other compatible i think.
You should always have dedicated compatibles, even if using one fallback.
https://elixir.bootlin.com/linux/v6.1-rc1/source/Documentation/devicetree/bindings/writing-bindings.rst#L42
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 07/43] dt-bindings: rtc: add DT bindings for Cirrus EP93xx
2023-04-28 14:35 ` Nikita Shubin
@ 2023-04-28 12:21 ` Krzysztof Kozlowski
0 siblings, 0 replies; 118+ messages in thread
From: Krzysztof Kozlowski @ 2023-04-28 12:21 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
Alessandro Zummo, Alexandre Belloni, Rob Herring, Hartley Sweeten,
linux-rtc, devicetree, linux-kernel
On 28/04/2023 16:35, Nikita Shubin wrote:
> On Tue, 2023-04-25 at 11:28 +0200, Krzysztof Kozlowski wrote:
>> On 24/04/2023 14:34, Nikita Shubin wrote:
>>> This adds device tree bindings for the Cirrus Logic EP93xx
>>> RTC block used in these SoCs.
>>
>> Thank you for your patch. There is something to discuss/improve.
>>
>>>
>>> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
>>> ---
>>> .../bindings/rtc/cirrus,ep93xx-rtc.yaml | 32
>>> +++++++++++++++++++
>>> 1 file changed, 32 insertions(+)
>>> create mode 100644
>>> Documentation/devicetree/bindings/rtc/cirrus,ep93xx-rtc.yaml
>>>
>>> diff --git a/Documentation/devicetree/bindings/rtc/cirrus,ep93xx-
>>> rtc.yaml b/Documentation/devicetree/bindings/rtc/cirrus,ep93xx-
>>> rtc.yaml
>>> new file mode 100644
>>> index 000000000000..d4774e984e7b
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/rtc/cirrus,ep93xx-rtc.yaml
>>> @@ -0,0 +1,32 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/rtc/cirrus,ep93xx-rtc.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Cirrus EP93xx Real Time Clock controller
>>> +
>>> +maintainers:
>>> + - Hartley Sweeten <hsweeten@visionengravers.com>
>>> + - Alexander Sverdlin <alexander.sverdlin@gmail.com>
>>> +
>>> +properties:
>>> + compatible:
>>> + const: cirrus,ep9301-rtc
>>
>> Why only one compatible? What about ep9307 and ep9312? The same
>> question
>> for your previous patch - timer.
>>
>> Anyway, if you want to keep it like that, then filename should match
>> compatible. Or merge it into trivial-rtc like Alexandre suggested.
>
> I think i should move it to trivial-rtc - there is no need for a
> separate file.
If you add missing compatibles, you won't be able to move it easily to
trivial-rtc.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 09/43] dt-bindings: watchdog: add DT bindings for Cirrus EP93x
2023-04-25 9:31 ` Krzysztof Kozlowski
@ 2023-04-28 14:33 ` Nikita Shubin
2023-04-28 12:20 ` Krzysztof Kozlowski
0 siblings, 1 reply; 118+ messages in thread
From: Nikita Shubin @ 2023-04-28 14:33 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
Wim Van Sebroeck, Guenter Roeck, Rob Herring, linux-watchdog,
devicetree, linux-kernel
Hello Krzysztof!
On Tue, 2023-04-25 at 11:31 +0200, Krzysztof Kozlowski wrote:
> On 24/04/2023 14:34, Nikita Shubin wrote:
> > This adds device tree bindings for the Cirrus Logic EP93xx
> > watchdog block used in these SoCs.
> >
> > Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> > ---
> > .../bindings/watchdog/cirrus,ep93xx-wdt.yaml | 38
> > +++++++++++++++++++
> > 1 file changed, 38 insertions(+)
> > create mode 100644
> > Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml
> >
> > diff --git
> > a/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml
> > b/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-wdt.yaml
> > new file mode 100644
> > index 000000000000..f39d6b14062d
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-
> > wdt.yaml
> > @@ -0,0 +1,38 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id:
> > http://devicetree.org/schemas/watchdog/cirrus,ep93xx-wdt.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Cirrus Logic EP93xx Watchdog Timer
>
> EP93xx is no EP9301. This does not match your compatible list. You
> should probably list all of your devices. With or without
> compatibility
> between them (so with a generic fallback for example).
I will rename file to cirrus,ep9301-wdt.yaml, all ep93xx SoC family has
the same watchdog, so there is now reason for other compatible i think.
>
> > +
> > +maintainers:
> > + - Wim Van Sebroeck <wim@linux-watchdog.org>
> > +
> > +description:
> > + Watchdog driver for Cirrus Logic EP93xx family of devices.
>
> Drop "driver for" and instead describe the hardware.
>
> > +
> > +allOf:
> > + - $ref: "watchdog.yaml#"
>
> Drop quotes.
> Best regards,
> Krzysztof
>
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 05/43] dt-bindings: timers: add DT bindings for Cirrus EP93xx
2023-04-25 9:29 ` Krzysztof Kozlowski
@ 2023-04-28 14:34 ` Nikita Shubin
2023-04-28 12:18 ` Krzysztof Kozlowski
0 siblings, 1 reply; 118+ messages in thread
From: Nikita Shubin @ 2023-04-28 14:34 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Daniel Lezcano,
Thomas Gleixner, Rob Herring, Hartley Sweeten, linux-kernel,
devicetree
On Tue, 2023-04-25 at 11:29 +0200, Krzysztof Kozlowski wrote:
> On 24/04/2023 14:34, Nikita Shubin wrote:
> > This adds device tree bindings for the Cirrus Logic EP93xx
> > timer block used in these SoCs.
> >
> > Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> > ---
> >
> > Notes:
> > Arnd Bergmann:
> > - replaced ep93xx wildcard with ep9301
> >
> > .../bindings/timer/cirrus,ep93xx-timer.yaml | 41
> > +++++++++++++++++++
> > 1 file changed, 41 insertions(+)
> > create mode 100644
> > Documentation/devicetree/bindings/timer/cirrus,ep93xx-timer.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/timer/cirrus,ep93xx-
> > timer.yaml b/Documentation/devicetree/bindings/timer/cirrus,ep93xx-
> > timer.yaml
> > new file mode 100644
> > index 000000000000..ce8b8a5cb90a
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/timer/cirrus,ep93xx-
> > timer.yaml
> > @@ -0,0 +1,41 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/timer/cirrus,ep93xx-timer.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Cirrus Logic EP93xx timers bindings
> > +
> > +maintainers:
> > + - Hartley Sweeten <hsweeten@visionengravers.com>
> > + - Alexander Sverdlin <alexander.sverdlin@gmail.com>
> > +
> > +properties:
> > + compatible:
> > + const: cirrus,ep9301-timer
>
> 1. Why only one compatible?
> 2. If this is kept, then filename matching compatible.
I should rename the file to cirrus,ep9301-timer.yaml
>
> Best regards,
> Krzysztof
>
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 07/43] dt-bindings: rtc: add DT bindings for Cirrus EP93xx
2023-04-25 9:28 ` Krzysztof Kozlowski
@ 2023-04-28 14:35 ` Nikita Shubin
2023-04-28 12:21 ` Krzysztof Kozlowski
0 siblings, 1 reply; 118+ messages in thread
From: Nikita Shubin @ 2023-04-28 14:35 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
Alessandro Zummo, Alexandre Belloni, Rob Herring, Hartley Sweeten,
linux-rtc, devicetree, linux-kernel
On Tue, 2023-04-25 at 11:28 +0200, Krzysztof Kozlowski wrote:
> On 24/04/2023 14:34, Nikita Shubin wrote:
> > This adds device tree bindings for the Cirrus Logic EP93xx
> > RTC block used in these SoCs.
>
> Thank you for your patch. There is something to discuss/improve.
>
> >
> > Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> > ---
> > .../bindings/rtc/cirrus,ep93xx-rtc.yaml | 32
> > +++++++++++++++++++
> > 1 file changed, 32 insertions(+)
> > create mode 100644
> > Documentation/devicetree/bindings/rtc/cirrus,ep93xx-rtc.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/rtc/cirrus,ep93xx-
> > rtc.yaml b/Documentation/devicetree/bindings/rtc/cirrus,ep93xx-
> > rtc.yaml
> > new file mode 100644
> > index 000000000000..d4774e984e7b
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/rtc/cirrus,ep93xx-rtc.yaml
> > @@ -0,0 +1,32 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/rtc/cirrus,ep93xx-rtc.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Cirrus EP93xx Real Time Clock controller
> > +
> > +maintainers:
> > + - Hartley Sweeten <hsweeten@visionengravers.com>
> > + - Alexander Sverdlin <alexander.sverdlin@gmail.com>
> > +
> > +properties:
> > + compatible:
> > + const: cirrus,ep9301-rtc
>
> Why only one compatible? What about ep9307 and ep9312? The same
> question
> for your previous patch - timer.
>
> Anyway, if you want to keep it like that, then filename should match
> compatible. Or merge it into trivial-rtc like Alexandre suggested.
I think i should move it to trivial-rtc - there is no need for a
separate file.
>
> Best regards,
> Krzysztof
>
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 32/43] dt-bindings: gpio: Add DT bindings ep93xx gpio
2023-04-26 20:48 ` Linus Walleij
@ 2023-04-28 14:44 ` Nikita Shubin
0 siblings, 0 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-04-28 14:44 UTC (permalink / raw)
To: Linus Walleij, Rob Herring
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
Bartosz Golaszewski, Krzysztof Kozlowski, linux-gpio, devicetree,
linux-kernel
Hello Linus!
On Wed, 2023-04-26 at 22:48 +0200, Linus Walleij wrote:
> On Mon, Apr 24, 2023 at 6:32 PM Rob Herring <robh@kernel.org> wrote:
> > On Mon, Apr 24, 2023 at 03:34:48PM +0300, Nikita Shubin wrote:
>
> > > Add YAML bindings for ep93xx SoC.
> > >
> > > Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> (...)
> > > + chip-label:
> > > + maxItems: 1
> > > + description: human readable name.
> >
> > Why do you need this? It's not standard and I don't see other GPIO
> > controllers needing it.
>
> Caught my eye too, Nikita can you live without this and just use
> dev_name()
> or something to name the chip in Linux?
>
> If it is to conform to EP93xx documentation naming I guess it should
> be
> cirrus,ep93xx-gpio-chip-name = "..."; ?
Nah, i should drop it, it was a reverence to people which are sad about
gpio index reordering.
Through i like the idea of "cirrus,ep93xx-gpio-chip-name".
>
> Yours,
> Linus Walleij
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 34/43] ARM: dts: add device tree for ep93xx Soc
2023-04-24 11:28 ` Arnd Bergmann
@ 2023-04-28 15:13 ` Nikita Shubin
2023-04-28 21:56 ` Kris Bahnsen
1 sibling, 0 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-04-28 15:13 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Olof Johansson,
soc, Rob Herring, Krzysztof Kozlowski, linux-arm-kernel,
devicetree, linux-kernel, Lukasz Majewski, support
Hello Arnd!
On Mon, 2023-04-24 at 13:28 +0200, Arnd Bergmann wrote:
> On Mon, Apr 24, 2023, at 14:34, Nikita Shubin wrote:
> > This adds a divice for Cirrus ep93xx SoC amd ts7250 board that has
> > been
> > my testing target for ep93xx device support.
> >
> > Also inluded device tree for Liebherr BK3.1 board through it's not
> > a
> > complete support.
> >
> > Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
>
> Can you describe which parts are missing for BK3.1 in the
> changelog? I'm fairly sure that Liebherr is still supporting
> this board, but I don't have a contact to add to Cc here.
The current dt implementation is missing:
- I2S
- MMC on SPI
I will add those nodes so it will be a complete dt, however i have no
possibility to test it.
>
> I've added Lukasz Majewski to Cc here, as he originally worked
> on BK3.1 and likely either has the hardware or knows someone
> who does. Technologic Systems also lists the ts7250 as supported
> on their website, but the only contact I found for them is the
> generic support@embeddedTS.com. In case someone from Technologic
> is available for giving the series a spin, see [1] for the
> full set of patches.
>
> Arnd
>
> [1]
> https://lore.kernel.org/all/20230424123522.18302-1-nikita.shubin@maquefel.me/
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 09/43] dt-bindings: watchdog: add DT bindings for Cirrus EP93x
2023-04-28 12:20 ` Krzysztof Kozlowski
@ 2023-04-28 17:42 ` Nikita Shubin
2023-04-30 11:30 ` Krzysztof Kozlowski
0 siblings, 1 reply; 118+ messages in thread
From: Nikita Shubin @ 2023-04-28 17:42 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
Wim Van Sebroeck, Guenter Roeck, Rob Herring, linux-watchdog,
devicetree, linux-kernel
On Fri, 2023-04-28 at 14:20 +0200, Krzysztof Kozlowski wrote:
> On 28/04/2023 16:33, Nikita Shubin wrote:
> > Hello Krzysztof!
> >
> > On Tue, 2023-04-25 at 11:31 +0200, Krzysztof Kozlowski wrote:
> > > On 24/04/2023 14:34, Nikita Shubin wrote:
> > > > This adds device tree bindings for the Cirrus Logic EP93xx
> > > > watchdog block used in these SoCs.
> > > >
> > > > Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> > > > ---
> > > > .../bindings/watchdog/cirrus,ep93xx-wdt.yaml | 38
> > > > +++++++++++++++++++
> > > > 1 file changed, 38 insertions(+)
> > > > create mode 100644
> > > > Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-
> > > > wdt.yaml
> > > >
> > > > diff --git
> > > > a/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-
> > > > wdt.yaml
> > > > b/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-
> > > > wdt.yaml
> > > > new file mode 100644
> > > > index 000000000000..f39d6b14062d
> > > > --- /dev/null
> > > > +++ b/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-
> > > > wdt.yaml
> > > > @@ -0,0 +1,38 @@
> > > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > > +%YAML 1.2
> > > > +---
> > > > +$id:
> > > > http://devicetree.org/schemas/watchdog/cirrus,ep93xx-wdt.yaml#
> > > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > > +
> > > > +title: Cirrus Logic EP93xx Watchdog Timer
> > >
> > > EP93xx is no EP9301. This does not match your compatible list.
> > > You
> > > should probably list all of your devices. With or without
> > > compatibility
> > > between them (so with a generic fallback for example).
> >
> > I will rename file to cirrus,ep9301-wdt.yaml, all ep93xx SoC family
> > has
> > the same watchdog, so there is now reason for other compatible i
> > think.
>
> You should always have dedicated compatibles, even if using one
> fallback.
> https://elixir.bootlin.com/linux/v6.1-rc1/source/Documentation/devicetree/bindings/writing-bindings.rst#L42
Krzysztof, sorry to bother you - but i don't quite get, what we should
have in compatibles ?
Should i make an additional fallback compatible like "cirrus,ep-wdt"
and then "compatible" will look like:
properties:
compatible:
- items:
- enum:
- cirrus,ep9301-wdt
- const: cirrus,ep-wdt
Or should i describe every ep93xx SoC variant like:
properties:
compatible:
- items:
- enum:
- cirrus,ep9302-wdt
- cirrus,ep9307-wdt
- cirrus,ep9312-wdt
- cirrus,ep9315-wdt
- const: cirrus,ep9301-wdt
There are ep9301, ep9302, ep9307, ep9312 and ep9315 SoC variants - all
have the same watchdog and rtc implementation without any difference at
all.
If on of this is true does the same applies to ep9301-rtc and any other
variants where we do have a single compatible ?
>
> Best regards,
> Krzysztof
>
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 34/43] ARM: dts: add device tree for ep93xx Soc
2023-04-24 11:28 ` Arnd Bergmann
2023-04-28 15:13 ` Nikita Shubin
@ 2023-04-28 21:56 ` Kris Bahnsen
1 sibling, 0 replies; 118+ messages in thread
From: Kris Bahnsen @ 2023-04-28 21:56 UTC (permalink / raw)
To: Arnd Bergmann, Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Olof Johansson,
soc, Rob Herring, Krzysztof Kozlowski, linux-arm-kernel,
devicetree, linux-kernel, Lukasz Majewski, Michael Peters
On Mon, 2023-04-24 at 13:28 +0200, Arnd Bergmann wrote:
> On Mon, Apr 24, 2023, at 14:34, Nikita Shubin wrote:
> > This adds a divice for Cirrus ep93xx SoC amd ts7250 board that has been
> > my testing target for ep93xx device support.
> >
> > Also inluded device tree for Liebherr BK3.1 board through it's not a
> > complete support.
> >
> > Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
>
> Can you describe which parts are missing for BK3.1 in the
> changelog? I'm fairly sure that Liebherr is still supporting
> this board, but I don't have a contact to add to Cc here.
>
> I've added Lukasz Majewski to Cc here, as he originally worked
> on BK3.1 and likely either has the hardware or knows someone
> who does. Technologic Systems also lists the ts7250 as supported
> on their website, but the only contact I found for them is the
> generic support@embeddedTS.com. In case someone from Technologic
> is available for giving the series a spin, see [1] for the
> full set of patches.
>
> Arnd
>
> [1] https://lore.kernel.org/all/20230424123522.18302-1-nikita.shubin@maquefel.me/
Thanks Nikita for putting this together and getting us some
details/notes off-list to get us testing this quickly.
We ran a TS-7250 with this series applied through some of
our basic testing and everything is working as expected.
Tested-by: Michael Peters <mpeters@embeddedTS.com>
Reviewed-by: Kris Bahnsen <kris@embeddedTS.com>
-Kris
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 11/43] dt-bindings: clock: add DT bindings for Cirrus EP93xx
2023-04-24 12:34 ` [PATCH 11/43] dt-bindings: clock: add DT bindings for Cirrus EP93xx Nikita Shubin
2023-04-24 13:28 ` Rob Herring
@ 2023-04-28 23:15 ` Stephen Boyd
1 sibling, 0 replies; 118+ messages in thread
From: Stephen Boyd @ 2023-04-28 23:15 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, Rob Herring,
Krzysztof Kozlowski, Michael Turquette, Hartley Sweeten,
devicetree, linux-kernel, linux-clk
Quoting Nikita Shubin (2023-04-24 05:34:27)
> This adds device tree bindings for the Cirrus Logic EP93xx
> clock block used in these SoCs.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
> .../devicetree/bindings/arm/ep93xx.yaml | 102 ++++++++++++++++++
> .../dt-bindings/clock/cirrus,ep93xx-clock.h | 53 +++++++++
> 2 files changed, 155 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/arm/ep93xx.yaml
> create mode 100644 include/dt-bindings/clock/cirrus,ep93xx-clock.h
>
> diff --git a/Documentation/devicetree/bindings/arm/ep93xx.yaml b/Documentation/devicetree/bindings/arm/ep93xx.yaml
> new file mode 100644
> index 000000000000..de7020f4f356
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/ep93xx.yaml
Why is this in arm/ directory? Isn't it a clock controller?
> @@ -0,0 +1,102 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/arm/ep93xx.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Cirrus Logick EP93xx device tree bindings
> +
> +description: |+
> + The EP93xx SoC is a ARMv4T-based with 200 MHz ARM9 CPU.
> +
> +maintainers:
> + - Hartley Sweeten <hsweeten@visionengravers.com>
> + - Alexander Sverdlin <alexander.sverdlin@gmail.com>
> + - Nikita Shubin <nikita.shubin@maquefel.me>
> +
> +properties:
> + $nodename:
> + const: '/'
> + compatible:
> + oneOf:
> + - description: The TS-7250 is a compact, full-featured Single Board Computer (SBC)
> + based upon the Cirrus EP9302 ARM9 CPU.
> + items:
> + - const: technologic,ts7250
> + - const: liebherr,bk3
> + - const: cirrus,ep9301
> + - const: cirrus,edb9302
> +
> + soc:
> + type: object
> + patternProperties:
> + "^.*syscon@80930000$":
> + type: object
> + properties:
> + compatible:
> + items:
> + - const: cirrus,ep9301-syscon
> + - const: syscon
> + - const: simple-mfd
Is there a reason it needs to be a syscon? Or a simple-mfd?
> + ep9301-reboot:
> + type: object
> + properties:
> + compatible:
> + const: cirrus,ep9301-reboot
> + required:
> + - compatible
> + - reg
> + - '#clock-cells'
> + - ep9301-reboot
> +
> + "^.*timer@80810000$":
> + type: object
> + properties:
> + compatible:
> + const: cirrus,ep9301-timer
> +
> + required:
> + - syscon@80930000
> + - timer@80810000
> +
> +required:
> + - compatible
> + - soc
> +
> +additionalProperties: true
> +
> +examples:
> + - |
> + / {
> + compatible = "technologic,ts7250", "cirrus,ep9301";
> + model = "TS-7250 SBC";
> + #address-cells = <1>;
> + #size-cells = <1>;
> + soc {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges;
> + compatible = "simple-bus";
> +
> + syscon: syscon@80930000 {
> + compatible = "cirrus,ep9301-syscon",
> + "syscon", "simple-mfd";
> + reg = <0x80930000 0x1000>;
> + #clock-cells = <1>;
> + #reset-cells = <1>;
> +
> + ep9301-reboot {
> + compatible = "cirrus,ep9301-reboot";
> + };
> + };
The example should only be the clock controller node. No soc node, or
root node.
> +
> + timer: timer@80810000 {
> + compatible = "cirrus,ep9301-timer";
> + reg = <0x80810000 0x100>;
> + interrupt-parent = <&vic1>;
> + interrupts = <19>;
> + };
> + };
> + };
> +
> +...
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 09/43] dt-bindings: watchdog: add DT bindings for Cirrus EP93x
2023-04-28 17:42 ` Nikita Shubin
@ 2023-04-30 11:30 ` Krzysztof Kozlowski
0 siblings, 0 replies; 118+ messages in thread
From: Krzysztof Kozlowski @ 2023-04-30 11:30 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
Wim Van Sebroeck, Guenter Roeck, Rob Herring, linux-watchdog,
devicetree, linux-kernel
On 28/04/2023 19:42, Nikita Shubin wrote:
> On Fri, 2023-04-28 at 14:20 +0200, Krzysztof Kozlowski wrote:
>> On 28/04/2023 16:33, Nikita Shubin wrote:
>>> Hello Krzysztof!
>>>
>>> On Tue, 2023-04-25 at 11:31 +0200, Krzysztof Kozlowski wrote:
>>>> On 24/04/2023 14:34, Nikita Shubin wrote:
>>>>> This adds device tree bindings for the Cirrus Logic EP93xx
>>>>> watchdog block used in these SoCs.
>>>>>
>>>>> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
>>>>> ---
>>>>> .../bindings/watchdog/cirrus,ep93xx-wdt.yaml | 38
>>>>> +++++++++++++++++++
>>>>> 1 file changed, 38 insertions(+)
>>>>> create mode 100644
>>>>> Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-
>>>>> wdt.yaml
>>>>>
>>>>> diff --git
>>>>> a/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-
>>>>> wdt.yaml
>>>>> b/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-
>>>>> wdt.yaml
>>>>> new file mode 100644
>>>>> index 000000000000..f39d6b14062d
>>>>> --- /dev/null
>>>>> +++ b/Documentation/devicetree/bindings/watchdog/cirrus,ep93xx-
>>>>> wdt.yaml
>>>>> @@ -0,0 +1,38 @@
>>>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>>>> +%YAML 1.2
>>>>> +---
>>>>> +$id:
>>>>> http://devicetree.org/schemas/watchdog/cirrus,ep93xx-wdt.yaml#
>>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>>>> +
>>>>> +title: Cirrus Logic EP93xx Watchdog Timer
>>>>
>>>> EP93xx is no EP9301. This does not match your compatible list.
>>>> You
>>>> should probably list all of your devices. With or without
>>>> compatibility
>>>> between them (so with a generic fallback for example).
>>>
>>> I will rename file to cirrus,ep9301-wdt.yaml, all ep93xx SoC family
>>> has
>>> the same watchdog, so there is now reason for other compatible i
>>> think.
>>
>> You should always have dedicated compatibles, even if using one
>> fallback.
>> https://elixir.bootlin.com/linux/v6.1-rc1/source/Documentation/devicetree/bindings/writing-bindings.rst#L42
>
> Krzysztof, sorry to bother you - but i don't quite get, what we should
> have in compatibles ?
>
> Should i make an additional fallback compatible like "cirrus,ep-wdt"
> and then "compatible" will look like:
>
> properties:
> compatible:
> - items:
> - enum:
> - cirrus,ep9301-wdt
> - const: cirrus,ep-wdt
>
> Or should i describe every ep93xx SoC variant like:
>
> properties:
> compatible:
> - items:
> - enum:
> - cirrus,ep9302-wdt
> - cirrus,ep9307-wdt
> - cirrus,ep9312-wdt
> - cirrus,ep9315-wdt
> - const: cirrus,ep9301-wdt
This one is preferred. Just don't forget for an entry allowing 9301
alone (and everything within oneOf)
Syntax looks like:
https://elixir.bootlin.com/linux/v6.3-rc6/source/Documentation/devicetree/bindings/sound/nvidia,tegra210-ope.yaml#L31
>
> There are ep9301, ep9302, ep9307, ep9312 and ep9315 SoC variants - all
> have the same watchdog and rtc implementation without any difference at
> all.
We still prefer to have dedicated compatible, in case some
bugs/differences are found.
>
> If on of this is true does the same applies to ep9301-rtc and any other
> variants where we do have a single compatible ?
Yes, please.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 22/43] dt-bindings: mtd: add DT bindings for ts7250 nand
2023-04-24 12:34 ` [PATCH 22/43] dt-bindings: mtd: add DT bindings for ts7250 nand Nikita Shubin
2023-04-24 16:17 ` Rob Herring
@ 2023-05-02 9:48 ` Miquel Raynal
2023-05-15 15:48 ` Nikita Shubin
1 sibling, 1 reply; 118+ messages in thread
From: Miquel Raynal @ 2023-05-02 9:48 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
Richard Weinberger, Vignesh Raghavendra, Rob Herring,
Krzysztof Kozlowski, Lukasz Majewski, linux-mtd, devicetree,
linux-kernel
Hi Nikita,
nikita.shubin@maquefel.me wrote on Mon, 24 Apr 2023 15:34:38 +0300:
> Add YAML bindings for ts7250 NAND.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
> .../bindings/mtd/technologic,nand.yaml | 56 +++++++++++++++++++
> 1 file changed, 56 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/mtd/technologic,nand.yaml
>
> diff --git a/Documentation/devicetree/bindings/mtd/technologic,nand.yaml b/Documentation/devicetree/bindings/mtd/technologic,nand.yaml
> new file mode 100644
> index 000000000000..3234d93a1c21
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/technologic,nand.yaml
> @@ -0,0 +1,56 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mtd/technologic,nand.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Technologic Systems NAND controller
> +
> +maintainers:
> + - Lukasz Majewski <lukma@denx.de>
> +
> +properties:
> + compatible:
> + items:
> + - const: technologic,ts7200-nand
would -nand-controller instead of -nand work as a suffix here?
You mention ts7250 in the title, should we have a more specific
compatible than ts7200 as well?
I see by looking at the mtd patch that you actually try to match both,
so they should both be defined in the bindings.
> + - const: gen_nand
This is a old hack for very simple controllers (converted to DT probing
12 years ago). The logic used by this driver has been deprecated for
like 10 years and does not really apply to modern APIs. I would really
like to keep this driver contained with platform data coming from arch/
data only.
I suggest you create a real NAND controller driver based on the
generic one (should not be very complex, just duplicate the code so the
migration to the up-to-date API is eased) and you flag it as "must be
updated to ->exec_op() somehow. This way if someone starts the
conversion, it does not need to cope with the 5 other users of the
generic driver which anyway share nothing in common besides the
deprecated ->cmd_ctrl() backbone.
I read the comments on the cover letter, people are kind of pushing on
having this merged quickly. I am fine accepting a legacy controller
driver and migrating it to ->exec_op() later, but the current driver
conversion does not fit the approach taken years ago towards a cleaner
mtd tree.
> +
> + reg:
> + maxItems: 1
> +
> + '#address-cells': true
> + '#size-cells': true
> +
> +required:
> + - compatible
> + - reg
> +
> +unevaluatedProperties: true
> +
> +examples:
> + - |
> + nand-parts@0 {
> + compatible = "technologic,ts7200-nand", "gen_nand";
> + reg = <0x60000000 0x8000000>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + partition@0 {
> + label = "TS-BOOTROM";
> + reg = <0x00000000 0x00020000>;
> + read-only;
> + };
Partitions are not useful here, but if you want them, use the
partitions container instead, please.
> +
> + partition@20000 {
> + label = "Linux";
> + reg = <0x00020000 0x07d00000>;
> + };
> +
> + partition@7d20000 {
> + label = "RedBoot";
> + reg = <0x07d20000 0x002e0000>;
> + read-only;
> + };
> + };
> +
> +...
Thanks,
Miquèl
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 18/43] dt-bindings: net: Add DT bindings ep93xx eth
[not found] ` <7f05ecdc-cbbd-40b0-9a40-229e18aec721@lunn.ch>
@ 2023-05-15 13:42 ` Nikita Shubin
0 siblings, 0 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-05-15 13:42 UTC (permalink / raw)
To: Andrew Lunn
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Rob Herring,
Krzysztof Kozlowski, Hartley Sweeten, netdev, devicetree,
linux-kernel
Hello Andrew!
On Mon, 2023-04-24 at 15:39 +0200, Andrew Lunn wrote:
> > + copy_addr:
> > + type: boolean
> > + description:
> > + Flag indicating that the MAC address should be copied
> > + from the IndAd registers (as programmed by the bootloader)
>
> Looking at ep93xx_register_eth(), all callers are setting copy_addr
> to
> 1. So i don't think you need this.
Agreed. Dropped copy_addr entirely.
>
> > +
> > + phy_id:
> > + description: MII phy_id to use
>
> The eEP93xx Ethernet driver is a very old driver, so it is doing MDIO
> and PHY the old way. Ideally you should be using ep93xx_mdio_read()
> and ep93xx_mdio_write() to create an MDIO bus with
> of_mdiobus_regsiter, and then use a phy-handle to point to the PHY on
> the bus. It will then be the same as all other ethernet drivers using
> DT.
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 with something like:
+ np = of_parse_phandle(pdev->dev.of_node, "phy-handle", 0);
+ if (!np) {
+ dev_err(&pdev->dev, "Please provide \"phy-handle\"\n");
+ return -ENODEV;
+ }
+
+ if (of_property_read_u32(np, "reg", &phy_id)) {
+ dev_err(&pdev->dev, "Failed to locate \"phy_id\"\n");
+ return -ENOENT;
+ }
And standard device tree bindings ?:
+ ethernet@80010000 {
+ compatible = "cirrus,ep9301-eth";
+ reg = <0x80010000 0x10000>;
+ interrupt-parent = <&vic1>;
+ interrupts = <7>;
+ phy-handle = <&phy0>;
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ phy0: ethernet-phy@1 {
+ reg = <1>;
+ device_type = "ethernet-phy";
+ };
+ };
+ };
>
> Andrew
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 22/43] dt-bindings: mtd: add DT bindings for ts7250 nand
2023-05-02 9:48 ` Miquel Raynal
@ 2023-05-15 15:48 ` Nikita Shubin
2023-05-22 14:18 ` Miquel Raynal
0 siblings, 1 reply; 118+ messages in thread
From: Nikita Shubin @ 2023-05-15 15:48 UTC (permalink / raw)
To: Miquel Raynal
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
Richard Weinberger, Vignesh Raghavendra, Rob Herring,
Krzysztof Kozlowski, Lukasz Majewski, linux-mtd, devicetree,
linux-kernel
Hello Miquel!
Thank you for looking into it.
On Tue, 2023-05-02 at 11:48 +0200, Miquel Raynal wrote:
> Hi Nikita,
>
> nikita.shubin@maquefel.me wrote on Mon, 24 Apr 2023 15:34:38 +0300:
>
> > Add YAML bindings for ts7250 NAND.
> >
> > Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> > ---
> > .../bindings/mtd/technologic,nand.yaml | 56
> > +++++++++++++++++++
> > 1 file changed, 56 insertions(+)
> > create mode 100644
> > Documentation/devicetree/bindings/mtd/technologic,nand.yaml
> >
> > diff --git
> > a/Documentation/devicetree/bindings/mtd/technologic,nand.yaml
> > b/Documentation/devicetree/bindings/mtd/technologic,nand.yaml
> > new file mode 100644
> > index 000000000000..3234d93a1c21
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/mtd/technologic,nand.yaml
> > @@ -0,0 +1,56 @@
> > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/mtd/technologic,nand.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Technologic Systems NAND controller
> > +
> > +maintainers:
> > + - Lukasz Majewski <lukma@denx.de>
> > +
> > +properties:
> > + compatible:
> > + items:
> > + - const: technologic,ts7200-nand
>
> would -nand-controller instead of -nand work as a suffix here?
>
> You mention ts7250 in the title, should we have a more specific
> compatible than ts7200 as well?
>
> I see by looking at the mtd patch that you actually try to match
> both,
> so they should both be defined in the bindings.
>
> > + - const: gen_nand
>
> This is a old hack for very simple controllers (converted to DT
> probing
> 12 years ago). The logic used by this driver has been deprecated for
> like 10 years and does not really apply to modern APIs. I would
> really
> like to keep this driver contained with platform data coming from
> arch/
> data only.
>
> I suggest you create a real NAND controller driver based on the
> generic one (should not be very complex, just duplicate the code so
> the
> migration to the up-to-date API is eased) and you flag it as "must be
> updated to ->exec_op() somehow. This way if someone starts the
> conversion, it does not need to cope with the 5 other users of the
> generic driver which anyway share nothing in common besides the
> deprecated ->cmd_ctrl() backbone.
>
> I read the comments on the cover letter, people are kind of pushing
> on
> having this merged quickly. I am fine accepting a legacy controller
> driver and migrating it to ->exec_op() later, but the current driver
> conversion does not fit the approach taken years ago towards a
> cleaner
> mtd tree.
Did you mean that i should at least implement legacy nand controller,
like, for example, Xway (xway_nand.c) ?:
data->chip.legacy.cmd_ctrl = xway_cmd_ctrl;
data->chip.legacy.dev_ready = xway_dev_ready;
data->chip.legacy.select_chip = xway_select_chip;
data->chip.legacy.write_buf = xway_write_buf;
data->chip.legacy.read_buf = xway_read_buf;
data->chip.legacy.read_byte = xway_read_byte;
data->chip.legacy.chip_delay = 30;
And the best solution would be switching to exec_op completely ?
>
> > +
> > + reg:
> > + maxItems: 1
> > +
> > + '#address-cells': true
> > + '#size-cells': true
> > +
> > +required:
> > + - compatible
> > + - reg
> > +
> > +unevaluatedProperties: true
> > +
> > +examples:
> > + - |
> > + nand-parts@0 {
> > + compatible = "technologic,ts7200-nand", "gen_nand";
> > + reg = <0x60000000 0x8000000>;
> > + #address-cells = <1>;
> > + #size-cells = <1>;
> > +
> > + partition@0 {
> > + label = "TS-BOOTROM";
> > + reg = <0x00000000 0x00020000>;
> > + read-only;
> > + };
>
> Partitions are not useful here, but if you want them, use the
> partitions container instead, please.
>
> > +
> > + partition@20000 {
> > + label = "Linux";
> > + reg = <0x00020000 0x07d00000>;
> > + };
> > +
> > + partition@7d20000 {
> > + label = "RedBoot";
> > + reg = <0x07d20000 0x002e0000>;
> > + read-only;
> > + };
> > + };
> > +
> > +...
>
>
> Thanks,
> Miquèl
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 00/43] ep93xx device tree conversion
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (20 preceding siblings ...)
2023-04-26 20:56 ` [PATCH 00/43] ep93xx device tree conversion Linus Walleij
@ 2023-05-16 3:47 ` Florian Fainelli
2023-05-16 10:37 ` Nikita Shubin
2023-06-01 5:33 ` [PATCH v1 02/43] dt-bindings: soc: Add Cirrus EP93xx Nikita Shubin
` (18 subsequent siblings)
40 siblings, 1 reply; 118+ messages in thread
From: Florian Fainelli @ 2023-05-16 3:47 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, David S. Miller,
Jonathan Neuschäfer, Russell King (Oracle),
Uwe Kleine-König, Alessandro Zummo, Alexander Gordeev,
Alexandre Belloni, Andy Shevchenko, Arnd Bergmann,
Bartosz Golaszewski, Brian Norris, Chuanhong Guo, Conor Dooley,
Damien Le Moal, Daniel Lezcano, Dmitry Torokhov,
Emil Renner Berthing, Eric Dumazet, Guenter Roeck,
Hartley Sweeten, Heiko Stuebner, Hitomi Hasegawa, Jakub Kicinski,
Jaroslav Kysela, Jean Delvare, Joel Stanley, Jonathan Cameron,
Krzysztof Kozlowski, Le Moal, Liam Girdwood, Liang Yang,
Linus Walleij, Lukasz Majewski, Lv Ruyi, Mark Brown,
Masahiro Yamada, Michael Turquette, Miquel Raynal,
Nathan Chancellor, Nick Desaulniers, Nicolas Saenz Julienne,
Olof Johansson, Paolo Abeni, Qin Jian, Richard Weinberger,
Rob Herring, Robert Jarzmik, Russell King, Sebastian Reichel,
Sergey Shtylyov, Stephen Boyd, Sumanth Korikkar, Sven Peter,
Takashi Iwai, Thierry Reding, Thomas Gleixner, Ulf Hansson,
Vasily Gorbik, Vignesh Raghavendra, Vinod Koul, Walker Chen,
Wim Van Sebroeck, Yinbo Zhu, 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, soc
On 4/24/2023 5:34 AM, Nikita Shubin wrote:
> This series aims to convert ep93xx from platform to full device tree support.
>
> Tested on ts7250 64 RAM/128 MiB Nand flash, edb9302.
>
> Thank you Linus and Arnd for your support, review and comments, sorry if i missed something -
> these series are quite big for me.
>
> Big thanks to Alexander Sverdlin for his testing, support, review, fixes and patches.
If anyone is interested I still have a TS-7300 board [1] that is fully
functional and could be sent out to a new home.
https://www.embeddedts.com/products/TS-7300
--
Florian
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 00/43] ep93xx device tree conversion
2023-05-16 3:47 ` Florian Fainelli
@ 2023-05-16 10:37 ` Nikita Shubin
0 siblings, 0 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-05-16 10:37 UTC (permalink / raw)
To: Florian Fainelli
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin, David S. Miller,
Jonathan Neuschäfer, Russell King (Oracle),
Uwe Kleine-König, Alessandro Zummo, Alexander Gordeev,
Alexandre Belloni, Andy Shevchenko, Arnd Bergmann,
Bartosz Golaszewski, Brian Norris, Chuanhong Guo, Conor Dooley,
Damien Le Moal, Daniel Lezcano, Dmitry Torokhov,
Emil Renner Berthing, Eric Dumazet, Guenter Roeck,
Hartley Sweeten, Heiko Stuebner, Hitomi Hasegawa, Jakub Kicinski,
Jaroslav Kysela, Jean Delvare, Joel Stanley, Jonathan Cameron,
Krzysztof Kozlowski, Le Moal, Liam Girdwood, Liang Yang,
Linus Walleij, Lukasz Majewski, Lv Ruyi, Mark Brown,
Masahiro Yamada, Michael Turquette, Miquel Raynal,
Nathan Chancellor, Nick Desaulniers, Nicolas Saenz Julienne,
Olof Johansson, Paolo Abeni, Qin Jian, Richard Weinberger,
Rob Herring, Robert Jarzmik, Russell King, Sebastian Reichel,
Sergey Shtylyov, Stephen Boyd, Sumanth Korikkar, Sven Peter,
Takashi Iwai, Thierry Reding, Thomas Gleixner, Ulf Hansson,
Vasily Gorbik, Vignesh Raghavendra, Vinod Koul, Walker Chen,
Wim Van Sebroeck, Yinbo Zhu, 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, soc
Hello Florian!
On Mon, 2023-05-15 at 20:47 -0700, Florian Fainelli wrote:
>
>
> On 4/24/2023 5:34 AM, Nikita Shubin wrote:
> > This series aims to convert ep93xx from platform to full device
> > tree support.
> >
> > Tested on ts7250 64 RAM/128 MiB Nand flash, edb9302.
> >
> > Thank you Linus and Arnd for your support, review and comments,
> > sorry if i missed something -
> > these series are quite big for me.
> >
> > Big thanks to Alexander Sverdlin for his testing, support, review,
> > fixes and patches.
>
> If anyone is interested I still have a TS-7300 board [1] that is
> fully
> functional and could be sent out to a new home.
Thank you kindly, i'll keep this in mind !
>
> https://www.embeddedts.com/products/TS-7300
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH 22/43] dt-bindings: mtd: add DT bindings for ts7250 nand
2023-05-15 15:48 ` Nikita Shubin
@ 2023-05-22 14:18 ` Miquel Raynal
0 siblings, 0 replies; 118+ messages in thread
From: Miquel Raynal @ 2023-05-22 14:18 UTC (permalink / raw)
To: Nikita Shubin
Cc: Arnd Bergmann, Linus Walleij, Alexander Sverdlin,
Richard Weinberger, Vignesh Raghavendra, Rob Herring,
Krzysztof Kozlowski, Lukasz Majewski, linux-mtd, devicetree,
linux-kernel
Hi Nikita,
nikita.shubin@maquefel.me wrote on Mon, 15 May 2023 18:48:31 +0300:
> Hello Miquel!
>
> Thank you for looking into it.
>
> On Tue, 2023-05-02 at 11:48 +0200, Miquel Raynal wrote:
> > Hi Nikita,
> >
> > nikita.shubin@maquefel.me wrote on Mon, 24 Apr 2023 15:34:38 +0300:
> >
> > > Add YAML bindings for ts7250 NAND.
> > >
> > > Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> > > ---
> > > .../bindings/mtd/technologic,nand.yaml | 56
> > > +++++++++++++++++++
> > > 1 file changed, 56 insertions(+)
> > > create mode 100644
> > > Documentation/devicetree/bindings/mtd/technologic,nand.yaml
> > >
> > > diff --git
> > > a/Documentation/devicetree/bindings/mtd/technologic,nand.yaml
> > > b/Documentation/devicetree/bindings/mtd/technologic,nand.yaml
> > > new file mode 100644
> > > index 000000000000..3234d93a1c21
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/mtd/technologic,nand.yaml
> > > @@ -0,0 +1,56 @@
> > > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/mtd/technologic,nand.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: Technologic Systems NAND controller
> > > +
> > > +maintainers:
> > > + - Lukasz Majewski <lukma@denx.de>
> > > +
> > > +properties:
> > > + compatible:
> > > + items:
> > > + - const: technologic,ts7200-nand
> >
> > would -nand-controller instead of -nand work as a suffix here?
> >
> > You mention ts7250 in the title, should we have a more specific
> > compatible than ts7200 as well?
> >
> > I see by looking at the mtd patch that you actually try to match
> > both,
> > so they should both be defined in the bindings.
> >
> > > + - const: gen_nand
> >
> > This is a old hack for very simple controllers (converted to DT
> > probing
> > 12 years ago). The logic used by this driver has been deprecated for
> > like 10 years and does not really apply to modern APIs. I would
> > really
> > like to keep this driver contained with platform data coming from
> > arch/
> > data only.
> >
> > I suggest you create a real NAND controller driver based on the
> > generic one (should not be very complex, just duplicate the code so
> > the
> > migration to the up-to-date API is eased) and you flag it as "must be
> > updated to ->exec_op() somehow. This way if someone starts the
> > conversion, it does not need to cope with the 5 other users of the
> > generic driver which anyway share nothing in common besides the
> > deprecated ->cmd_ctrl() backbone.
> >
> > I read the comments on the cover letter, people are kind of pushing
> > on
> > having this merged quickly. I am fine accepting a legacy controller
> > driver and migrating it to ->exec_op() later, but the current driver
> > conversion does not fit the approach taken years ago towards a
> > cleaner
> > mtd tree.
>
> Did you mean that i should at least implement legacy nand controller,
> like, for example, Xway (xway_nand.c) ?:
>
> data->chip.legacy.cmd_ctrl = xway_cmd_ctrl;
> data->chip.legacy.dev_ready = xway_dev_ready;
> data->chip.legacy.select_chip = xway_select_chip;
> data->chip.legacy.write_buf = xway_write_buf;
> data->chip.legacy.read_buf = xway_read_buf;
> data->chip.legacy.read_byte = xway_read_byte;
> data->chip.legacy.chip_delay = 30;
I don't know how urgent this conversion is, this is really the minimal
step...
> And the best solution would be switching to exec_op completely ?
...and this is what I would really prefer, yes. I don't think it's
huge, the controller being very simple and straightforward.
>
> >
> > > +
> > > + reg:
> > > + maxItems: 1
> > > +
> > > + '#address-cells': true
> > > + '#size-cells': true
> > > +
> > > +required:
> > > + - compatible
> > > + - reg
> > > +
> > > +unevaluatedProperties: true
> > > +
> > > +examples:
> > > + - |
> > > + nand-parts@0 {
> > > + compatible = "technologic,ts7200-nand", "gen_nand";
> > > + reg = <0x60000000 0x8000000>;
> > > + #address-cells = <1>;
> > > + #size-cells = <1>;
> > > +
> > > + partition@0 {
> > > + label = "TS-BOOTROM";
> > > + reg = <0x00000000 0x00020000>;
> > > + read-only;
> > > + };
> >
> > Partitions are not useful here, but if you want them, use the
> > partitions container instead, please.
> >
> > > +
> > > + partition@20000 {
> > > + label = "Linux";
> > > + reg = <0x00020000 0x07d00000>;
> > > + };
> > > +
> > > + partition@7d20000 {
> > > + label = "RedBoot";
> > > + reg = <0x07d20000 0x002e0000>;
> > > + read-only;
> > > + };
> > > + };
> > > +
> > > +...
> >
> >
> > Thanks,
> > Miquèl
>
Thanks,
Miquèl
^ permalink raw reply [flat|nested] 118+ messages in thread
* [PATCH v1 02/43] dt-bindings: soc: Add Cirrus EP93xx
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (21 preceding siblings ...)
2023-05-16 3:47 ` Florian Fainelli
@ 2023-06-01 5:33 ` Nikita Shubin
2023-06-01 6:37 ` Krzysztof Kozlowski
2023-06-01 5:33 ` [PATCH v1 04/43] dt-bindings: clock: " Nikita Shubin
` (17 subsequent siblings)
40 siblings, 1 reply; 118+ messages in thread
From: Nikita Shubin @ 2023-06-01 5:33 UTC (permalink / raw)
To: Alexander Sverdlin, Arnd Bergmann, Linus Walleij, Rob Herring,
Krzysztof Kozlowski, Michael Turquette, Stephen Boyd,
Nikita Shubin
Cc: Michael Peters, Kris Bahnsen, devicetree, linux-kernel, linux-clk
This adds device tree bindings for the Cirrus Logic EP93xx.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
Notes:
v0 -> v1:
- fixed compatible - now it specifies three boards
- ts7250
- bk3
- edb9302
- fixed identation in example
- dropped labels
.../devicetree/bindings/arm/ep93xx.yaml | 107 ++++++++++++++++++
.../dt-bindings/clock/cirrus,ep93xx-clock.h | 53 +++++++++
2 files changed, 160 insertions(+)
create mode 100644 Documentation/devicetree/bindings/arm/ep93xx.yaml
create mode 100644 include/dt-bindings/clock/cirrus,ep93xx-clock.h
diff --git a/Documentation/devicetree/bindings/arm/ep93xx.yaml b/Documentation/devicetree/bindings/arm/ep93xx.yaml
new file mode 100644
index 000000000000..bcf9754d0763
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/ep93xx.yaml
@@ -0,0 +1,107 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/ep93xx.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus Logic EP93xx device tree bindings
+
+description: |+
+ The EP93xx SoC is a ARMv4T-based with 200 MHz ARM9 CPU.
+
+maintainers:
+ - Alexander Sverdlin <alexander.sverdlin@gmail.com>
+ - Nikita Shubin <nikita.shubin@maquefel.me>
+
+properties:
+ $nodename:
+ const: '/'
+ compatible:
+ oneOf:
+ - description: The TS-7250 is a compact, full-featured Single Board Computer (SBC)
+ based upon the Cirrus EP9302 ARM9 CPU
+ items:
+ - const: technologic,ts7250
+ - const: cirrus,ep9301
+
+ - description: The Liebherr BK3 is a derivate from ts7250 board
+ items:
+ - const: liebherr,bk3
+ - const: cirrus,ep9301
+
+ - description: EDB302 is an evaluation board by Cirrus Logic,
+ based on a Cirrus Logic EP9302 CPU
+ items:
+ - const: cirrus,edb9302
+ - const: cirrus,ep9301
+
+ soc:
+ type: object
+ patternProperties:
+ "^.*syscon@80930000$":
+ type: object
+ properties:
+ compatible:
+ items:
+ - const: cirrus,ep9301-syscon
+ - const: syscon
+ - const: simple-mfd
+ ep9301-reboot:
+ type: object
+ properties:
+ compatible:
+ const: cirrus,ep9301-reboot
+ required:
+ - compatible
+ - reg
+ - ep9301-reboot
+
+ "^.*timer@80810000$":
+ type: object
+ properties:
+ compatible:
+ const: cirrus,ep9301-timer
+
+ required:
+ - syscon@80930000
+ - timer@80810000
+
+required:
+ - compatible
+ - soc
+
+additionalProperties: true
+
+examples:
+ - |
+ / {
+ compatible = "technologic,ts7250", "cirrus,ep9301";
+ model = "TS-7250 SBC";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ soc {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ compatible = "simple-bus";
+
+ syscon@80930000 {
+ compatible = "cirrus,ep9301-syscon",
+ "syscon", "simple-mfd";
+ reg = <0x80930000 0x1000>;
+
+ ep9301-reboot {
+ compatible = "cirrus,ep9301-reboot";
+ };
+ };
+
+ timer@80810000 {
+ compatible = "cirrus,ep9301-timer";
+ reg = <0x80810000 0x100>;
+ interrupt-parent = <&vic1>;
+ interrupts = <19>;
+ };
+ };
+ };
+
+...
diff --git a/include/dt-bindings/clock/cirrus,ep93xx-clock.h b/include/dt-bindings/clock/cirrus,ep93xx-clock.h
new file mode 100644
index 000000000000..6a8cf33d811b
--- /dev/null
+++ b/include/dt-bindings/clock/cirrus,ep93xx-clock.h
@@ -0,0 +1,53 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef DT_BINDINGS_CIRRUS_EP93XX_CLOCK_H
+#define DT_BINDINGS_CIRRUS_EP93XX_CLOCK_H
+
+#define EP93XX_CLK_XTALI 0
+
+#define EP93XX_CLK_PLL1 1
+#define EP93XX_CLK_FCLK 2
+#define EP93XX_CLK_HCLK 3
+#define EP93XX_CLK_PCLK 4
+#define EP93XX_CLK_PLL2 5
+
+#define EP93XX_CLK_UART 6
+
+#define EP93XX_CLK_UART1 7
+#define EP93XX_CLK_UART2 8
+#define EP93XX_CLK_UART3 9
+
+#define EP93XX_CLK_M2M0 10
+#define EP93XX_CLK_M2M1 11
+
+#define EP93XX_CLK_M2P0 12
+#define EP93XX_CLK_M2P1 13
+#define EP93XX_CLK_M2P2 14
+#define EP93XX_CLK_M2P3 15
+#define EP93XX_CLK_M2P4 16
+#define EP93XX_CLK_M2P5 17
+#define EP93XX_CLK_M2P6 18
+#define EP93XX_CLK_M2P7 19
+#define EP93XX_CLK_M2P8 20
+#define EP93XX_CLK_M2P9 21
+
+#define EP93XX_CLK_SPI 22
+
+#define EP93XX_CLK_USB 23
+
+#define EP93XX_CLK_ADC 24
+#define EP93XX_CLK_ADC_EN 25
+
+#define EP93XX_CLK_KEYPAD 26
+
+#define EP93XX_CLK_PWM 27
+
+#define EP93XX_CLK_VIDEO 28
+
+#define EP93XX_CLK_I2S_MCLK 29
+#define EP93XX_CLK_I2S_SCLK 30
+#define EP93XX_CLK_I2S_LRCLK 31
+
+
+#define EP93XX_NUM_CLKS (EP93XX_CLK_I2S_LRCLK + 1)
+
+#endif /* DT_BINDINGS_CIRRUS_EP93XX_CLOCK_H */
--
2.37.4
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH v1 04/43] dt-bindings: clock: Add Cirrus EP93xx
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (22 preceding siblings ...)
2023-06-01 5:33 ` [PATCH v1 02/43] dt-bindings: soc: Add Cirrus EP93xx Nikita Shubin
@ 2023-06-01 5:33 ` Nikita Shubin
2023-06-01 6:39 ` Krzysztof Kozlowski
2023-06-01 6:40 ` Krzysztof Kozlowski
2023-06-01 5:33 ` [PATCH v1 06/43] dt-bindings: pinctrl: " Nikita Shubin
` (16 subsequent siblings)
40 siblings, 2 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-06-01 5:33 UTC (permalink / raw)
To: Alexander Sverdlin, Arnd Bergmann, Linus Walleij,
Michael Turquette, Stephen Boyd, Rob Herring, Krzysztof Kozlowski,
Nikita Shubin
Cc: Michael Peters, Kris Bahnsen, linux-clk, devicetree, linux-kernel
This adds device tree bindings for the Cirrus Logic EP93xx
clock block used in these SoCs.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
Notes:
v0 -> v1:
- it's now a clock controller
.../bindings/clock/cirrus,ep9301.yaml | 64 +++++++++++++++++++
1 file changed, 64 insertions(+)
create mode 100644 Documentation/devicetree/bindings/clock/cirrus,ep9301.yaml
diff --git a/Documentation/devicetree/bindings/clock/cirrus,ep9301.yaml b/Documentation/devicetree/bindings/clock/cirrus,ep9301.yaml
new file mode 100644
index 000000000000..4f9e0d483698
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/cirrus,ep9301.yaml
@@ -0,0 +1,64 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/clock/cirrus,ep9301.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus Logic ep93xx SoC's clock controller
+
+maintainers:
+ - Nikita Shubin <nikita.shubin@maquefel.me>
+ - Alexander Sverdlin <alexander.sverdlin@gmail.com>
+
+description: |
+ Cirrus Logic EP93XX SoC clocks driver bindings. The clock
+ controller node must be defined as a child node of the ep93xx
+ system controller node.
+
+ See also:
+ - dt-bindings/clock/cirrus,ep93xx-clock.h
+
+properties:
+ compatible:
+ oneOf:
+ - const: cirrus,ep9301-clk
+ - items:
+ - enum:
+ - cirrus,ep9302-clk
+ - cirrus,ep9307-clk
+ - cirrus,ep9312-clk
+ - cirrus,ep9315-clk
+ - const: cirrus,ep9301-clk
+
+ "#clock-cells":
+ const: 1
+
+ clocks:
+ description: List of clock specifiers which are external input
+ clocks to the given clock controller.
+ items:
+ - description: reference clock
+
+required:
+ - compatible
+ - "#clock-cells"
+ - clocks
+
+additionalProperties: false
+
+examples:
+ - |
+ clocks {
+ xtali: oscillator {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <14745600>;
+ };
+ };
+
+ clock-controller {
+ #clock-cells = <1>;
+ compatible = "cirrus,ep9301-clk";
+ clocks = <&xtali>;
+ };
+...
--
2.37.4
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH v1 06/43] dt-bindings: pinctrl: Add Cirrus EP93xx
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (23 preceding siblings ...)
2023-06-01 5:33 ` [PATCH v1 04/43] dt-bindings: clock: " Nikita Shubin
@ 2023-06-01 5:33 ` Nikita Shubin
2023-06-01 6:42 ` Krzysztof Kozlowski
2023-06-01 5:33 ` [PATCH v1 08/43] dt-bindings: timers: " Nikita Shubin
` (15 subsequent siblings)
40 siblings, 1 reply; 118+ messages in thread
From: Nikita Shubin @ 2023-06-01 5:33 UTC (permalink / raw)
To: Alexander Sverdlin, Arnd Bergmann, Linus Walleij, Rob Herring,
Krzysztof Kozlowski, Nikita Shubin
Cc: Michael Peters, Kris Bahnsen, linux-gpio, devicetree,
linux-kernel
Add YAML bindings for ep93xx SoC pinctrl.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
---
Notes:
v0 -> v1:
Krzysztof Kozlowski:
- removed wildcards
- use fallback compatible and list all possible compatibles
- fix ident
- dropped bindings in title
.../pinctrl/cirrus,ep9301-pinctrl.yaml | 66 +++++++++++++++++++
1 file changed, 66 insertions(+)
create mode 100644 Documentation/devicetree/bindings/pinctrl/cirrus,ep9301-pinctrl.yaml
diff --git a/Documentation/devicetree/bindings/pinctrl/cirrus,ep9301-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/cirrus,ep9301-pinctrl.yaml
new file mode 100644
index 000000000000..ff7b30a11bab
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/cirrus,ep9301-pinctrl.yaml
@@ -0,0 +1,66 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pinctrl/cirrus,ep9301-pinctrl.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus ep93xx pins mux controller
+
+maintainers:
+ - Nikita Shubin <nikita.shubin@maquefel.me>
+ - Alexander Sverdlin <alexander.sverdlin@gmail.com>
+
+properties:
+ compatible:
+ oneOf:
+ - const: cirrus,ep9301-pinctrl
+ - items:
+ - enum:
+ - cirrus,ep9302-pinctrl
+ - cirrus,ep9307-pinctrl
+ - cirrus,ep9312-pinctrl
+ - cirrus,ep9315-pinctrl
+ - const: cirrus,ep9301-pinctrl
+
+patternProperties:
+ '^pins-':
+ type: object
+ description: pin node
+ $ref: pinmux-node.yaml#
+
+ properties:
+ function:
+ enum: [ spi, ac97, i2s, pwm, keypad, pata, lcd, gpio ]
+ groups:
+ minItems: 1
+ maxItems: 2
+ items:
+ enum: [ ssp, ac97, i2s_on_ssp, i2s_on_ac97, pwm1, gpio1agrp,
+ gpio2agrp, gpio3agrp, gpio4agrp, gpio6agrp, gpio7agrp,
+ rasteronsdram0grp, rasteronsdram3grp, keypadgrp, idegrp]
+
+ required:
+ - function
+ - groups
+
+required:
+ - compatible
+
+additionalProperties: false
+
+examples:
+ - |
+ syscon@80930000 {
+ compatible = "cirrus,ep9301-syscon",
+ "syscon", "simple-mfd";
+ reg = <0x80930000 0x1000>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ pinctrl {
+ compatible = "cirrus,ep9312-pinctrl", "cirrus,ep9301-pinctrl";
+ spi_default_pins: pins-spi {
+ function = "spi";
+ groups = "ssp";
+ };
+ };
+ };
--
2.37.4
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH v1 08/43] dt-bindings: timers: Add Cirrus EP93xx
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (24 preceding siblings ...)
2023-06-01 5:33 ` [PATCH v1 06/43] dt-bindings: pinctrl: " Nikita Shubin
@ 2023-06-01 5:33 ` Nikita Shubin
2023-06-01 6:43 ` Krzysztof Kozlowski
2023-06-01 6:44 ` Krzysztof Kozlowski
2023-06-01 5:34 ` [PATCH v1 10/43] dt-bindings: rtc: " Nikita Shubin
` (14 subsequent siblings)
40 siblings, 2 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-06-01 5:33 UTC (permalink / raw)
To: Alexander Sverdlin, Arnd Bergmann, Linus Walleij, Daniel Lezcano,
Thomas Gleixner, Rob Herring, Krzysztof Kozlowski, Nikita Shubin
Cc: Michael Peters, Kris Bahnsen, linux-kernel, devicetree
This adds device tree bindings for the Cirrus Logic EP93xx
timer block used in these SoCs.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
Notes:
v0 -> v1:
- as Hartley (unfortunately) looks like not interested in dt rework,
added myself instead
Krzysztof Kozlowski:
- removed wildcards
- use fallback compatible and list all possible compatibles
- fix ident
- dropped bindings in title
.../bindings/timer/cirrus,ep9301-timer.yaml | 49 +++++++++++++++++++
1 file changed, 49 insertions(+)
create mode 100644 Documentation/devicetree/bindings/timer/cirrus,ep9301-timer.yaml
diff --git a/Documentation/devicetree/bindings/timer/cirrus,ep9301-timer.yaml b/Documentation/devicetree/bindings/timer/cirrus,ep9301-timer.yaml
new file mode 100644
index 000000000000..e463e11e259d
--- /dev/null
+++ b/Documentation/devicetree/bindings/timer/cirrus,ep9301-timer.yaml
@@ -0,0 +1,49 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/timer/cirrus,ep9301-timer.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus Logic EP93xx timer
+
+maintainers:
+ - Alexander Sverdlin <alexander.sverdlin@gmail.com>
+ - Nikita Shubin <nikita.shubin@maquefel.me>
+
+properties:
+ compatible:
+ oneOf:
+ - const: cirrus,ep9301-timer
+ - items:
+ - enum:
+ - cirrus,ep9302-timer
+ - cirrus,ep9307-timer
+ - cirrus,ep9312-timer
+ - cirrus,ep9315-timer
+ - const: cirrus,ep9301-timer
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ resets:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ timer@80810000 {
+ compatible = "cirrus,ep9301-timer";
+ reg = <0x80810000 0x100>;
+ interrupt-parent = <&vic1>;
+ interrupts = <19>;
+ };
+...
--
2.37.4
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH v1 10/43] dt-bindings: rtc: Add Cirrus EP93xx
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (25 preceding siblings ...)
2023-06-01 5:33 ` [PATCH v1 08/43] dt-bindings: timers: " Nikita Shubin
@ 2023-06-01 5:34 ` Nikita Shubin
2023-06-01 5:34 ` [PATCH v1 12/43] dt-bindings: watchdog: Add Cirrus EP93x Nikita Shubin
` (13 subsequent siblings)
40 siblings, 0 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-06-01 5:34 UTC (permalink / raw)
To: Alexander Sverdlin, Arnd Bergmann, Linus Walleij,
Alessandro Zummo, Alexandre Belloni, Rob Herring,
Krzysztof Kozlowski, Hartley Sweeten
Cc: Nikita Shubin, Michael Peters, Kris Bahnsen, linux-rtc,
devicetree, linux-kernel
This adds device tree bindings for the Cirrus Logic EP93xx
RTC block used in these SoCs.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
Notes:
v0 -> v1:
Krzysztof Kozlowski:
- removed wildcards
- use fallback compatible and list all possible compatibles
- dropped label
- fix ident
.../bindings/rtc/cirrus,ep9301-rtc.yaml | 40 +++++++++++++++++++
1 file changed, 40 insertions(+)
create mode 100644 Documentation/devicetree/bindings/rtc/cirrus,ep9301-rtc.yaml
diff --git a/Documentation/devicetree/bindings/rtc/cirrus,ep9301-rtc.yaml b/Documentation/devicetree/bindings/rtc/cirrus,ep9301-rtc.yaml
new file mode 100644
index 000000000000..63572c197e92
--- /dev/null
+++ b/Documentation/devicetree/bindings/rtc/cirrus,ep9301-rtc.yaml
@@ -0,0 +1,40 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/rtc/cirrus,ep9301-rtc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus EP93xx Real Time Clock controller
+
+maintainers:
+ - Hartley Sweeten <hsweeten@visionengravers.com>
+ - Alexander Sverdlin <alexander.sverdlin@gmail.com>
+
+properties:
+ compatible:
+ oneOf:
+ - const: cirrus,ep9301-rtc
+ - items:
+ - enum:
+ - cirrus,ep9302-rtc
+ - cirrus,ep9307-rtc
+ - cirrus,ep9312-rtc
+ - cirrus,ep9315-rtc
+ - const: cirrus,ep9301-rtc
+
+ reg:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ rtc@80920000 {
+ compatible = "cirrus,ep9301-rtc";
+ reg = <0x80920000 0x100>;
+ };
+
--
2.37.4
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH v1 12/43] dt-bindings: watchdog: Add Cirrus EP93x
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (26 preceding siblings ...)
2023-06-01 5:34 ` [PATCH v1 10/43] dt-bindings: rtc: " Nikita Shubin
@ 2023-06-01 5:34 ` Nikita Shubin
2023-06-01 5:34 ` [PATCH v1 15/43] dt-bindings: pwm: Add Cirrus EP93xx Nikita Shubin
` (12 subsequent siblings)
40 siblings, 0 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-06-01 5:34 UTC (permalink / raw)
To: Alexander Sverdlin, Arnd Bergmann, Linus Walleij,
Wim Van Sebroeck, Guenter Roeck, Rob Herring, Krzysztof Kozlowski,
Nikita Shubin
Cc: Michael Peters, Kris Bahnsen, linux-watchdog, devicetree,
linux-kernel
This adds device tree bindings for the Cirrus Logic EP93xx
watchdog block used in these SoCs.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
Notes:
v0 -> v1:
Krzysztof Kozlowski:
- replaced maintainers to me and Alexander
- removed wildcards
- use fallback compatible and list all possible compatibles
- dropped label
- dropped quotes in ref
- fix ident
- fixed description
.../bindings/watchdog/cirrus,ep9301-wdt.yaml | 46 +++++++++++++++++++
1 file changed, 46 insertions(+)
create mode 100644 Documentation/devicetree/bindings/watchdog/cirrus,ep9301-wdt.yaml
diff --git a/Documentation/devicetree/bindings/watchdog/cirrus,ep9301-wdt.yaml b/Documentation/devicetree/bindings/watchdog/cirrus,ep9301-wdt.yaml
new file mode 100644
index 000000000000..d54595174a12
--- /dev/null
+++ b/Documentation/devicetree/bindings/watchdog/cirrus,ep9301-wdt.yaml
@@ -0,0 +1,46 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/watchdog/cirrus,ep9301-wdt.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus Logic EP93xx Watchdog Timer
+
+maintainers:
+ - Nikita Shubin <nikita.shubin@maquefel.me>
+ - Alexander Sverdlin <alexander.sverdlin@gmail.com>
+
+description:
+ Cirrus Logic EP93xx SoC family has it's own watchdog implementation
+
+allOf:
+ - $ref: watchdog.yaml#
+
+properties:
+ compatible:
+ oneOf:
+ - const: cirrus,ep9301-wdt
+ - items:
+ - enum:
+ - cirrus,ep9302-wdt
+ - cirrus,ep9307-wdt
+ - cirrus,ep9312-wdt
+ - cirrus,ep9315-wdt
+ - const: cirrus,ep9301-wdt
+
+ reg:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ watchdog@80940000 {
+ compatible = "cirrus,ep9301-wdt";
+ reg = <0x80940000 0x08>;
+ };
+
--
2.37.4
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH v1 15/43] dt-bindings: pwm: Add Cirrus EP93xx
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (27 preceding siblings ...)
2023-06-01 5:34 ` [PATCH v1 12/43] dt-bindings: watchdog: Add Cirrus EP93x Nikita Shubin
@ 2023-06-01 5:34 ` Nikita Shubin
2023-06-01 5:34 ` [PATCH v1 17/43] dt-bindings: spi: " Nikita Shubin
` (11 subsequent siblings)
40 siblings, 0 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-06-01 5:34 UTC (permalink / raw)
To: Alexander Sverdlin, Arnd Bergmann, Linus Walleij, Thierry Reding,
Uwe Kleine-König, Rob Herring, Krzysztof Kozlowski,
Nikita Shubin
Cc: Michael Peters, Kris Bahnsen, linux-pwm, devicetree, linux-kernel
Add YAML bindings for ep93xx SoC PWM.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
Notes:
v0 -> v1:
Krzysztof Kozlowski:
- replaced maintainers with Alexander and me
- removed wildcards
- use fallback compatible and list all possible compatibles
- dropped label
- dopped "clock-names"
- fix ident
.../bindings/pwm/cirrus,ep9301-pwm.yaml | 48 +++++++++++++++++++
1 file changed, 48 insertions(+)
create mode 100644 Documentation/devicetree/bindings/pwm/cirrus,ep9301-pwm.yaml
diff --git a/Documentation/devicetree/bindings/pwm/cirrus,ep9301-pwm.yaml b/Documentation/devicetree/bindings/pwm/cirrus,ep9301-pwm.yaml
new file mode 100644
index 000000000000..825c321073ff
--- /dev/null
+++ b/Documentation/devicetree/bindings/pwm/cirrus,ep9301-pwm.yaml
@@ -0,0 +1,48 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pwm/cirrus,ep9301-pwm.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus Logick ep93xx PWM controller
+
+maintainers:
+ - Alexander Sverdlin <alexander.sverdlin@gmail.com>
+ - Nikita Shubin <nikita.shubin@maquefel.me>
+
+properties:
+ compatible:
+ oneOf:
+ - const: cirrus,ep9301-pwm
+ - items:
+ - enum:
+ - cirrus,ep9302-pwm
+ - cirrus,ep9307-pwm
+ - cirrus,ep9312-pwm
+ - cirrus,ep9315-pwm
+ - const: cirrus,ep9301-pwm
+
+ reg:
+ maxItems: 1
+
+ clocks:
+ items:
+ - description: SoC PWM clock
+
+required:
+ - compatible
+ - reg
+ - clocks
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/cirrus,ep93xx-clock.h>
+ pwm@80910000 {
+ compatible = "cirrus,ep9301-pwm";
+ reg = <0x80910000 0x10>;
+ clocks = <&syscon EP93XX_CLK_PWM>;
+ };
+
+...
--
2.37.4
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH v1 17/43] dt-bindings: spi: Add Cirrus EP93xx
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (28 preceding siblings ...)
2023-06-01 5:34 ` [PATCH v1 15/43] dt-bindings: pwm: Add Cirrus EP93xx Nikita Shubin
@ 2023-06-01 5:34 ` Nikita Shubin
2023-06-01 8:16 ` Krzysztof Kozlowski
2023-06-01 11:17 ` Mark Brown
2023-06-01 5:45 ` [PATCH v1 19/43] dt-bindings: net: " Nikita Shubin
` (10 subsequent siblings)
40 siblings, 2 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-06-01 5:34 UTC (permalink / raw)
To: Alexander Sverdlin, Arnd Bergmann, Linus Walleij, Mark Brown,
Rob Herring, Krzysztof Kozlowski, Nikita Shubin
Cc: Michael Peters, Kris Bahnsen, linux-spi, devicetree, linux-kernel
Add YAML bindings for ep93xx SoC SPI.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
Notes:
v0 -> v1:
Krzysztof Kozlowski:
- replaced maintainers
- removed wildcards
- use fallback compatible and list all possible compatibles
- drop quotes in ref
- dropped "clock-names"
- dropped label
- fix ident
.../devicetree/bindings/spi/spi-ep9301.yaml | 69 +++++++++++++++++++
1 file changed, 69 insertions(+)
create mode 100644 Documentation/devicetree/bindings/spi/spi-ep9301.yaml
diff --git a/Documentation/devicetree/bindings/spi/spi-ep9301.yaml b/Documentation/devicetree/bindings/spi/spi-ep9301.yaml
new file mode 100644
index 000000000000..c363b25a3074
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/spi-ep9301.yaml
@@ -0,0 +1,69 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/spi/spi-ep9301.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: EP93xx SoC SPI controller
+
+maintainers:
+ - Alexander Sverdlin <alexander.sverdlin@gmail.com>
+ - Nikita Shubin <nikita.shubin@maquefel.me>
+
+allOf:
+ - $ref: spi-controller.yaml#
+
+properties:
+ "#address-cells": true
+ "#size-cells": true
+
+ compatible:
+ oneOf:
+ - const: cirrus,ep9301-spi
+ - items:
+ - enum:
+ - cirrus,ep9302-spi
+ - cirrus,ep9307-spi
+ - cirrus,ep9312-spi
+ - cirrus,ep9315-spi
+ - const: cirrus,ep9301-spi
+
+ reg:
+ items:
+ - description: SPI registers region
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ items:
+ - description: SPI Controller reference clock source
+
+ cs-gpios: true
+
+ cirrus,ep9301-use-dma:
+ description: Flag indicating that the SPI should use dma
+ type: boolean
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - clocks
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/cirrus,ep93xx-clock.h>
+ spi@808a0000 {
+ compatible = "cirrus,ep9301-spi";
+ reg = <0x808a0000 0x18>;
+ interrupt-parent = <&vic1>;
+ interrupts = <21>;
+ clocks = <&syscon EP93XX_CLK_SPI>;
+ cs-gpios = <&gpio5 2 0>;
+ cirrus,ep9301-use-dma;
+ };
+
+...
--
2.37.4
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH v1 19/43] dt-bindings: net: Add Cirrus EP93xx
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (29 preceding siblings ...)
2023-06-01 5:34 ` [PATCH v1 17/43] dt-bindings: spi: " Nikita Shubin
@ 2023-06-01 5:45 ` Nikita Shubin
2023-06-01 5:45 ` [PATCH v1 21/43] dt-bindings: dma: " Nikita Shubin
` (9 subsequent siblings)
40 siblings, 0 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-06-01 5:45 UTC (permalink / raw)
To: Alexander Sverdlin, Arnd Bergmann, Linus Walleij, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Rob Herring,
Krzysztof Kozlowski, Nikita Shubin
Cc: Michael Peters, Kris Bahnsen, netdev, devicetree, linux-kernel
Add YAML bindings for ep93xx SoC Ethernet Controller.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
Notes:
v0 -> v1:
- replaced maintainers
- fixed title
Rob Herring:
- reference ethernet-controller.yaml
- s/eth/ethernet/
Andrew Lunn:
- dropped copy_addr
- use phy-handle instead of using non-conventional phy-id
Krzysztof Kozlowski:
- removed wildcards
- use fallback compatible and list all possible compatibles
- dropped label
- fix ident
.../bindings/net/cirrus,ep9301-eth.yaml | 61 +++++++++++++++++++
1 file changed, 61 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/cirrus,ep9301-eth.yaml
diff --git a/Documentation/devicetree/bindings/net/cirrus,ep9301-eth.yaml b/Documentation/devicetree/bindings/net/cirrus,ep9301-eth.yaml
new file mode 100644
index 000000000000..580316f33187
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/cirrus,ep9301-eth.yaml
@@ -0,0 +1,61 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/cirrus,ep9301-eth.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: EP93xx SoC Ethernet Controller
+
+maintainers:
+ - Alexander Sverdlin <alexander.sverdlin@gmail.com>
+ - Nikita Shubin <nikita.shubin@maquefel.me>
+
+allOf:
+ - $ref: ethernet-controller.yaml#
+
+properties:
+ compatible:
+ oneOf:
+ - const: cirrus,ep9301-eth
+ - items:
+ - enum:
+ - cirrus,ep9302-eth
+ - cirrus,ep9307-eth
+ - cirrus,ep9312-eth
+ - cirrus,ep9315-eth
+ - const: cirrus,ep9301-eth
+
+ reg:
+ items:
+ - description: The physical base address and size of IO range
+
+ interrupts:
+ items:
+ - description: Combined signal for various interrupt events
+
+ phy-handle: true
+
+ mdio:
+ $ref: mdio.yaml#
+ unevaluatedProperties: false
+ description: optional node for embedded MDIO controller
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - phy-handle
+
+additionalProperties: false
+
+examples:
+ - |
+ ethernet@80010000 {
+ compatible = "cirrus,ep9301-eth";
+ reg = <0x80010000 0x10000>;
+ interrupt-parent = <&vic1>;
+ interrupts = <7>;
+ phy-handle = <&phy0>;
+ };
+
+...
--
2.37.4
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH v1 21/43] dt-bindings: dma: Add Cirrus EP93xx
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (30 preceding siblings ...)
2023-06-01 5:45 ` [PATCH v1 19/43] dt-bindings: net: " Nikita Shubin
@ 2023-06-01 5:45 ` Nikita Shubin
2023-06-01 5:45 ` [PATCH v1 23/43] dt-bindings: mtd: Add ts7250 nand-controller Nikita Shubin
` (8 subsequent siblings)
40 siblings, 0 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-06-01 5:45 UTC (permalink / raw)
To: Alexander Sverdlin, Arnd Bergmann, Linus Walleij, Vinod Koul,
Rob Herring, Krzysztof Kozlowski, Nikita Shubin
Cc: Michael Peters, Kris Bahnsen, dmaengine, devicetree, linux-kernel
Add YAML bindings for ep93xx SoC DMA.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
Notes:
v0 -> v1:
Rob Herring:
- replaced maintainers
- defined each entry in reg, interrupts
- dropped dma-channels
Krzysztof Kozlowski:
- fixed title
- renamed files
- use fallback compatible and list all possible compatibles
- dropped label
- fix ident
.../bindings/dma/cirrus,ep9301-dma-m2m.yaml | 72 ++++++++++
.../bindings/dma/cirrus,ep9301-dma-m2p.yaml | 124 ++++++++++++++++++
2 files changed, 196 insertions(+)
create mode 100644 Documentation/devicetree/bindings/dma/cirrus,ep9301-dma-m2m.yaml
create mode 100644 Documentation/devicetree/bindings/dma/cirrus,ep9301-dma-m2p.yaml
diff --git a/Documentation/devicetree/bindings/dma/cirrus,ep9301-dma-m2m.yaml b/Documentation/devicetree/bindings/dma/cirrus,ep9301-dma-m2m.yaml
new file mode 100644
index 000000000000..413492268bd7
--- /dev/null
+++ b/Documentation/devicetree/bindings/dma/cirrus,ep9301-dma-m2m.yaml
@@ -0,0 +1,72 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/dma/cirrus,ep9301-dma-m2m.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus Logick ep93xx SoC DMA controller
+
+maintainers:
+ - Alexander Sverdlin <alexander.sverdlin@gmail.com>
+ - Nikita Shubin <nikita.shubin@maquefel.me>
+
+properties:
+ compatible:
+ oneOf:
+ - const: cirrus,ep9301-dma-m2m
+ - items:
+ - enum:
+ - cirrus,ep9302-dma-m2m
+ - cirrus,ep9307-dma-m2m
+ - cirrus,ep9312-dma-m2m
+ - cirrus,ep9315-dma-m2m
+ - const: cirrus,ep9301-dma-m2m
+
+ reg:
+ items:
+ - description: m2m0 channel registers
+ - description: m2m1 channel registers
+
+ clocks:
+ items:
+ - description: m2m0 channel gate clock
+ - description: m2m1 channel gate clock
+
+ clock-names:
+ items:
+ - const: m2m0
+ - const: m2m1
+
+ interrupts:
+ items:
+ - description: m2m0 channel interrupt
+ - description: m2m1 channel interrupt
+
+ '#dma-cells': true
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - clock-names
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/cirrus,ep93xx-clock.h>
+ dma-controller@80000100 {
+ compatible = "cirrus,ep9301-dma-m2m";
+ reg = <0x80000100 0x0040>,
+ <0x80000140 0x0040>;
+ clocks = <&syscon EP93XX_CLK_M2M0>,
+ <&syscon EP93XX_CLK_M2M1>;
+ clock-names = "m2m0", "m2m1";
+ interrupt-parent = <&vic0>;
+ interrupts = <17>, <18>;
+ #dma-cells = <1>;
+ };
+
+...
+
diff --git a/Documentation/devicetree/bindings/dma/cirrus,ep9301-dma-m2p.yaml b/Documentation/devicetree/bindings/dma/cirrus,ep9301-dma-m2p.yaml
new file mode 100644
index 000000000000..79f2d61de6a3
--- /dev/null
+++ b/Documentation/devicetree/bindings/dma/cirrus,ep9301-dma-m2p.yaml
@@ -0,0 +1,124 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/dma/cirrus,ep9301-dma-m2p.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus Logick ep93xx SoC M2P DMA controller
+
+maintainers:
+ - Alexander Sverdlin <alexander.sverdlin@gmail.com>
+ - Nikita Shubin <nikita.shubin@maquefel.me>
+
+properties:
+ compatible:
+ oneOf:
+ - const: cirrus,ep9301-dma-m2p
+ - items:
+ - enum:
+ - cirrus,ep9302-dma-m2p
+ - cirrus,ep9307-dma-m2p
+ - cirrus,ep9312-dma-m2p
+ - cirrus,ep9315-dma-m2p
+ - const: cirrus,ep9301-dma-m2p
+
+ reg:
+ items:
+ - description: m2p0 channel registers
+ - description: m2p1 channel registers
+ - description: m2p2 channel registers
+ - description: m2p3 channel registers
+ - description: m2p4 channel registers
+ - description: m2p5 channel registers
+ - description: m2p6 channel registers
+ - description: m2p7 channel registers
+ - description: m2p8 channel registers
+ - description: m2p9 channel registers
+
+ clocks:
+ items:
+ - description: m2p0 channel gate clock
+ - description: m2p1 channel gate clock
+ - description: m2p2 channel gate clock
+ - description: m2p3 channel gate clock
+ - description: m2p4 channel gate clock
+ - description: m2p5 channel gate clock
+ - description: m2p6 channel gate clock
+ - description: m2p7 channel gate clock
+ - description: m2p8 channel gate clock
+ - description: m2p9 channel gate clock
+
+ clock-names:
+ items:
+ - const: m2p0
+ - const: m2p1
+ - const: m2p2
+ - const: m2p3
+ - const: m2p4
+ - const: m2p5
+ - const: m2p6
+ - const: m2p7
+ - const: m2p8
+ - const: m2p9
+
+ interrupts:
+ items:
+ - description: m2p0 channel interrupt
+ - description: m2p1 channel interrupt
+ - description: m2p2 channel interrupt
+ - description: m2p3 channel interrupt
+ - description: m2p4 channel interrupt
+ - description: m2p5 channel interrupt
+ - description: m2p6 channel interrupt
+ - description: m2p7 channel interrupt
+ - description: m2p8 channel interrupt
+ - description: m2p9 channel interrupt
+
+ '#dma-cells': true
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - clock-names
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/cirrus,ep93xx-clock.h>
+ dma-controller@80000000 {
+ compatible = "cirrus,ep9301-dma-m2p";
+ reg = <0x80000000 0x0040>,
+ <0x80000040 0x0040>,
+ <0x80000080 0x0040>,
+ <0x800000c0 0x0040>,
+ <0x80000240 0x0040>,
+ <0x80000200 0x0040>,
+ <0x800002c0 0x0040>,
+ <0x80000280 0x0040>,
+ <0x80000340 0x0040>,
+ <0x80000300 0x0040>;
+ clocks = <&syscon EP93XX_CLK_M2P0>,
+ <&syscon EP93XX_CLK_M2P1>,
+ <&syscon EP93XX_CLK_M2P2>,
+ <&syscon EP93XX_CLK_M2P3>,
+ <&syscon EP93XX_CLK_M2P4>,
+ <&syscon EP93XX_CLK_M2P5>,
+ <&syscon EP93XX_CLK_M2P6>,
+ <&syscon EP93XX_CLK_M2P7>,
+ <&syscon EP93XX_CLK_M2P8>,
+ <&syscon EP93XX_CLK_M2P9>;
+ clock-names = "m2p0", "m2p1",
+ "m2p2", "m2p3",
+ "m2p4", "m2p5",
+ "m2p6", "m2p7",
+ "m2p8", "m2p9";
+ interrupt-parent = <&vic0>;
+ interrupts = <7>, <8>, <9>, <10>, <11>, <12>, <13>, <14>, <15>, <16>;
+ #dma-cells = <1>;
+ };
+
+...
+
--
2.37.4
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH v1 23/43] dt-bindings: mtd: Add ts7250 nand-controller
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (31 preceding siblings ...)
2023-06-01 5:45 ` [PATCH v1 21/43] dt-bindings: dma: " Nikita Shubin
@ 2023-06-01 5:45 ` Nikita Shubin
2023-06-01 7:45 ` Miquel Raynal
2023-06-01 8:11 ` Krzysztof Kozlowski
2023-06-01 5:45 ` [PATCH v1 25/43] dt-bindings: ata: Add Cirrus EP93xx Nikita Shubin
` (7 subsequent siblings)
40 siblings, 2 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-06-01 5:45 UTC (permalink / raw)
To: Alexander Sverdlin, Arnd Bergmann, Linus Walleij, Miquel Raynal,
Richard Weinberger, Vignesh Raghavendra, Rob Herring,
Krzysztof Kozlowski, Nikita Shubin
Cc: Michael Peters, Kris Bahnsen, linux-mtd, devicetree, linux-kernel
Add YAML bindings for ts7250 NAND Controller.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
Notes:
v0 -> v1:
make it a nand contoller
.../bindings/mtd/technologic,nand.yaml | 47 +++++++++++++++++++
1 file changed, 47 insertions(+)
create mode 100644 Documentation/devicetree/bindings/mtd/technologic,nand.yaml
diff --git a/Documentation/devicetree/bindings/mtd/technologic,nand.yaml b/Documentation/devicetree/bindings/mtd/technologic,nand.yaml
new file mode 100644
index 000000000000..26d1d9c3331d
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/technologic,nand.yaml
@@ -0,0 +1,47 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mtd/technologic,nand.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Technologic Systems NAND controller
+
+maintainers:
+ - Nikita Shubin <nikita.shubin@maquefel.me>
+
+allOf:
+ - $ref: nand-controller.yaml
+
+properties:
+ compatible:
+ oneOf:
+ - const: technologic,ts7200-nand
+ - items:
+ - enum:
+ - technologic,ts7300-nand
+ - technologic,ts7260-nand
+ - technologic,ts7250-nand
+ - const: technologic,ts7200-nand
+
+ reg:
+ maxItems: 1
+
+ '#address-cells': true
+ '#size-cells': true
+
+required:
+ - compatible
+ - reg
+
+unevaluatedProperties: true
+
+examples:
+ - |
+ nand-controller@60000000 {
+ compatible = "technologic,ts7200-nand";
+ reg = <0x60000000 0x8000000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+...
--
2.37.4
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH v1 25/43] dt-bindings: ata: Add Cirrus EP93xx
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (32 preceding siblings ...)
2023-06-01 5:45 ` [PATCH v1 23/43] dt-bindings: mtd: Add ts7250 nand-controller Nikita Shubin
@ 2023-06-01 5:45 ` Nikita Shubin
2023-06-01 23:57 ` Damien Le Moal
2023-06-01 5:45 ` [PATCH v1 27/43] dt-bindings: input: Add Cirrus EP93xx keypad Nikita Shubin
` (6 subsequent siblings)
40 siblings, 1 reply; 118+ messages in thread
From: Nikita Shubin @ 2023-06-01 5:45 UTC (permalink / raw)
To: Alexander Sverdlin, Arnd Bergmann, Linus Walleij, Damien Le Moal,
Rob Herring, Krzysztof Kozlowski
Cc: Nikita Shubin, Michael Peters, Kris Bahnsen, linux-ide,
devicetree, linux-kernel
Add YAML bindings for ep93xx SoC PATA.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
Notes:
v0 -> v1:
- renamed file to ep9312-pata
- changed email to dlemoal@kernel.org
- dropped label
- fixed ident
.../bindings/ata/cirrus,ep9312-pata.yaml | 44 +++++++++++++++++++
1 file changed, 44 insertions(+)
create mode 100644 Documentation/devicetree/bindings/ata/cirrus,ep9312-pata.yaml
diff --git a/Documentation/devicetree/bindings/ata/cirrus,ep9312-pata.yaml b/Documentation/devicetree/bindings/ata/cirrus,ep9312-pata.yaml
new file mode 100644
index 000000000000..3489be55a6fe
--- /dev/null
+++ b/Documentation/devicetree/bindings/ata/cirrus,ep9312-pata.yaml
@@ -0,0 +1,44 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/ata/cirrus,ep9312-pata.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus Logic EP9312 PATA controller
+
+maintainers:
+ - Damien Le Moal <dlemoal@kernel.org>
+
+properties:
+ compatible:
+ oneOf:
+ - const: cirrus,ep9312-pata
+ - items:
+ - const: cirrus,ep9315-pata
+ - const: cirrus,ep9312-pata
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ ide@800a0000 {
+ compatible = "cirrus,ep9312-pata";
+ reg = <0x800a0000 0x38>;
+ interrupt-parent = <&vic1>;
+ interrupts = <8>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&ide_default_pins>;
+ };
+
+...
--
2.37.4
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH v1 27/43] dt-bindings: input: Add Cirrus EP93xx keypad
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (33 preceding siblings ...)
2023-06-01 5:45 ` [PATCH v1 25/43] dt-bindings: ata: Add Cirrus EP93xx Nikita Shubin
@ 2023-06-01 5:45 ` Nikita Shubin
2023-06-01 8:24 ` Rob Herring
2023-06-08 15:01 ` Rob Herring
2023-06-01 5:45 ` [PATCH v1 29/43] dt-bindings: rtc: Add ST M48T86 Nikita Shubin
` (5 subsequent siblings)
40 siblings, 2 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-06-01 5:45 UTC (permalink / raw)
To: Alexander Sverdlin, Arnd Bergmann, Linus Walleij, Dmitry Torokhov,
Rob Herring, Krzysztof Kozlowski
Cc: Nikita Shubin, Michael Peters, Kris Bahnsen, linux-input,
devicetree, linux-kernel
Add YAML bindings for ep93xx SoC keypad.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
Notes:
v0 -> v1:
- remove almost all but debounce-delay-ms and prescale
- s/ep9301-keypad/ep9307-keypad/ it's actually only for
ep9307, ep9312, ep9315
Krzysztof Kozlowski:
- renamed file
- changed maintainers
- dropped quotes
- dropped clock-names
- use fallback compatible and list all possible compatibles
- fix ident
.../bindings/input/cirrus,ep9307-keypad.yaml | 86 +++++++++++++++++++
1 file changed, 86 insertions(+)
create mode 100644 Documentation/devicetree/bindings/input/cirrus,ep9307-keypad.yaml
diff --git a/Documentation/devicetree/bindings/input/cirrus,ep9307-keypad.yaml b/Documentation/devicetree/bindings/input/cirrus,ep9307-keypad.yaml
new file mode 100644
index 000000000000..c7eb10a84a6b
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/cirrus,ep9307-keypad.yaml
@@ -0,0 +1,86 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/input/cirrus,ep9307-keypad.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Cirrus ep93xx keypad
+
+maintainers:
+ - Alexander Sverdlin <alexander.sverdlin@gmail.com>
+
+allOf:
+ - $ref: /schemas/input/matrix-keymap.yaml#
+
+description: |
+ The KPP is designed to interface with a keypad matrix with 2-point contact
+ or 3-point contact keys. The KPP is designed to simplify the software task
+ of scanning a keypad matrix. The KPP is capable of detecting, debouncing,
+ and decoding one or multiple keys pressed simultaneously on a keypad.
+
+properties:
+ compatible:
+ oneOf:
+ - const: cirrus,ep9307-keypad
+ - items:
+ - enum:
+ - cirrus,ep9312-keypad
+ - cirrus,ep9315-keypad
+ - const: cirrus,ep9307-keypad
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ cirrus,debounce-delay-ms:
+ description: |
+ Time in microseconds that key must be pressed or
+ released for state change interrupt to trigger.
+
+ cirrus,prescale:
+ description: row/column counter pre-scaler load value
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - clocks
+ - linux,keymap
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/cirrus,ep93xx-clock.h>
+ #include <dt-bindings/input/input.h>
+ keypad@800f0000 {
+ compatible = "cirrus,ep9301-keypad";
+ reg = <0x800f0000 0x0c>;
+ interrupt-parent = <&vic0>;
+ interrupts = <29>;
+ clocks = <&syscon EP93XX_CLK_KEYPAD>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&keypad_default_pins>;
+ linux,keymap = <KEY_UP>,
+ <KEY_DOWN>,
+ <KEY_VOLUMEDOWN>,
+ <KEY_HOME>,
+ <KEY_RIGHT>,
+ <KEY_LEFT>,
+ <KEY_ENTER>,
+ <KEY_VOLUMEUP>,
+ <KEY_F6>,
+ <KEY_F8>,
+ <KEY_F9>,
+ <KEY_F10>,
+ <KEY_F1>,
+ <KEY_F2>,
+ <KEY_F3>,
+ <KEY_POWER>;
+ };
--
2.37.4
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH v1 29/43] dt-bindings: rtc: Add ST M48T86
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (34 preceding siblings ...)
2023-06-01 5:45 ` [PATCH v1 27/43] dt-bindings: input: Add Cirrus EP93xx keypad Nikita Shubin
@ 2023-06-01 5:45 ` Nikita Shubin
2023-06-01 8:18 ` Krzysztof Kozlowski
2023-06-01 5:45 ` [PATCH v1 31/43] dt-bindings: wdt: Add ts72xx Nikita Shubin
` (4 subsequent siblings)
40 siblings, 1 reply; 118+ messages in thread
From: Nikita Shubin @ 2023-06-01 5:45 UTC (permalink / raw)
To: Alexander Sverdlin, Arnd Bergmann, Linus Walleij,
Alessandro Zummo, Alexandre Belloni, Rob Herring,
Krzysztof Kozlowski
Cc: Nikita Shubin, Michael Peters, Kris Bahnsen, linux-rtc,
devicetree, linux-kernel
Add YAML bindings for ST M48T86 / Dallas DS12887 RTC.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
Notes:
v0 -> v1:
- s/dallas/st/
- description for regs
- s/additionalProperties/unevaluatedProperties/
- add ref rtc.yaml
- changed compatible to st,m48t86
- dropped label in example
- replaced Alessandro Alessandro to Alexandre Belloni
.../bindings/rtc/st,m48t86-rtc.yaml | 38 +++++++++++++++++++
1 file changed, 38 insertions(+)
create mode 100644 Documentation/devicetree/bindings/rtc/st,m48t86-rtc.yaml
diff --git a/Documentation/devicetree/bindings/rtc/st,m48t86-rtc.yaml b/Documentation/devicetree/bindings/rtc/st,m48t86-rtc.yaml
new file mode 100644
index 000000000000..eb8e6451d7c8
--- /dev/null
+++ b/Documentation/devicetree/bindings/rtc/st,m48t86-rtc.yaml
@@ -0,0 +1,38 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/rtc/st,m48t86-rtc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ST M48T86 / Dallas DS12887 RTC wirh SRAM
+
+maintainers:
+ - Alexandre Belloni <alexandre.belloni@bootlin.com>
+
+properties:
+ compatible:
+ enum:
+ - st,m48t86
+
+ reg:
+ items:
+ - description: index register
+ - description: data register
+
+allOf:
+ - $ref: rtc.yaml
+
+unevaluatedProperties: false
+
+required:
+ - compatible
+ - reg
+
+examples:
+ - |
+ rtc@10800000 {
+ compatible = "st,m48t86";
+ reg = <0x10800000 0x1>, <0x11700000 0x1>;
+ };
+
+...
--
2.37.4
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH v1 31/43] dt-bindings: wdt: Add ts72xx
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (35 preceding siblings ...)
2023-06-01 5:45 ` [PATCH v1 29/43] dt-bindings: rtc: Add ST M48T86 Nikita Shubin
@ 2023-06-01 5:45 ` Nikita Shubin
2023-06-01 5:45 ` [PATCH v1 33/43] dt-bindings: gpio: Add Cirrus EP93xx Nikita Shubin
` (3 subsequent siblings)
40 siblings, 0 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-06-01 5:45 UTC (permalink / raw)
To: Alexander Sverdlin, Arnd Bergmann, Linus Walleij,
Wim Van Sebroeck, Guenter Roeck, Rob Herring, Krzysztof Kozlowski,
Nikita Shubin
Cc: Michael Peters, Kris Bahnsen, linux-watchdog, devicetree,
linux-kernel
Add DT binding for Technologic Systems TS-72xx watchdog.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
Notes:
v0 -> v1:
- changed maintainers
Krzysztof Kozlowski:
- renamed file
- dropped quotes
- added description for reg
- dropped label
- use fallback compatible and list all possible compatibles
.../watchdog/technologic,ts7200-wdt.yaml | 46 +++++++++++++++++++
1 file changed, 46 insertions(+)
create mode 100644 Documentation/devicetree/bindings/watchdog/technologic,ts7200-wdt.yaml
diff --git a/Documentation/devicetree/bindings/watchdog/technologic,ts7200-wdt.yaml b/Documentation/devicetree/bindings/watchdog/technologic,ts7200-wdt.yaml
new file mode 100644
index 000000000000..4f7f004ffdd3
--- /dev/null
+++ b/Documentation/devicetree/bindings/watchdog/technologic,ts7200-wdt.yaml
@@ -0,0 +1,46 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/watchdog/technologic,ts7200-wdt.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Technologic Systems TS-72xx based SBCs watchdog
+
+maintainers:
+ - Nikita Shubin <nikita.shubin@maquefel.me>
+
+allOf:
+ - $ref: watchdog.yaml#
+
+properties:
+ compatible:
+ oneOf:
+ - const: technologic,ts7200-wdt
+ - items:
+ - enum:
+ - technologic,ts7300-wdt
+ - technologic,ts7260-wdt
+ - technologic,ts7250-wdt
+ - const: technologic,ts7200-wdt
+
+ reg:
+ items:
+ - description: control register
+ - description: feed register
+
+required:
+ - compatible
+ - reg
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ watchdog@23800000 {
+ compatible = "technologic,ts7200-wdt";
+ reg = <0x23800000 0x01>, <0x23c00000 0x01>;
+ timeout-sec = <30>;
+ };
+
+...
+
--
2.37.4
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH v1 33/43] dt-bindings: gpio: Add Cirrus EP93xx
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (36 preceding siblings ...)
2023-06-01 5:45 ` [PATCH v1 31/43] dt-bindings: wdt: Add ts72xx Nikita Shubin
@ 2023-06-01 5:45 ` Nikita Shubin
2023-06-01 8:20 ` Krzysztof Kozlowski
2023-06-16 9:15 ` Bartosz Golaszewski
2023-06-01 5:45 ` [PATCH v1 35/43] ARM: dts: add device tree for ep93xx Soc Nikita Shubin
` (2 subsequent siblings)
40 siblings, 2 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-06-01 5:45 UTC (permalink / raw)
To: Alexander Sverdlin, Arnd Bergmann, Linus Walleij,
Bartosz Golaszewski, Rob Herring, Krzysztof Kozlowski,
Nikita Shubin
Cc: Michael Peters, Kris Bahnsen, linux-gpio, devicetree,
linux-kernel
Add YAML bindings for ep93xx SoC gpio controller.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
.../devicetree/bindings/gpio/gpio-ep9301.yaml | 154 ++++++++++++++++++
1 file changed, 154 insertions(+)
create mode 100644 Documentation/devicetree/bindings/gpio/gpio-ep9301.yaml
diff --git a/Documentation/devicetree/bindings/gpio/gpio-ep9301.yaml b/Documentation/devicetree/bindings/gpio/gpio-ep9301.yaml
new file mode 100644
index 000000000000..daadfb4926c3
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-ep9301.yaml
@@ -0,0 +1,154 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/gpio/gpio-ep9301.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: EP93xx GPIO controller
+
+maintainers:
+ - Linus Walleij <linus.walleij@linaro.org>
+ - Bartosz Golaszewski <brgl@bgdev.pl>
+ - Nikita Shubin <nikita.shubin@maquefel.me>
+
+properties:
+ compatible:
+ oneOf:
+ - const: cirrus,ep9301-gpio
+ - items:
+ - enum:
+ - cirrus,ep9302-gpio
+ - cirrus,ep9307-gpio
+ - cirrus,ep9312-gpio
+ - cirrus,ep9315-gpio
+ - const: cirrus,ep9301-gpio
+
+ reg:
+ minItems: 2
+ items:
+ - description: data register
+ - description: direction register
+ - description: interrupt registers base
+
+ reg-names:
+ minItems: 2
+ items:
+ - const: data
+ - const: dir
+ - const: intr
+
+ gpio-controller: true
+
+ gpio-ranges: true
+
+ "#gpio-cells":
+ const: 2
+
+ interrupt-controller: true
+
+ "#interrupt-cells":
+ const: 2
+
+ interrupts:
+ oneOf:
+ - maxItems: 1
+ - description: port F has dedicated irq line for each gpio line
+ maxItems: 8
+
+required:
+ - compatible
+ - reg
+ - gpio-controller
+ - "#gpio-cells"
+
+additionalProperties: false
+
+examples:
+ - |
+ gpio@80840000 {
+ compatible = "cirrus,ep9301-gpio";
+ reg = <0x80840000 0x04>,
+ <0x80840010 0x04>,
+ <0x80840090 0x1c>;
+ reg-names = "data", "dir", "intr";
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ interrupt-parent = <&vic1>;
+ interrupts = <27>;
+ };
+
+ gpio@80840004 {
+ compatible = "cirrus,ep9301-gpio";
+ reg = <0x80840004 0x04>,
+ <0x80840014 0x04>,
+ <0x808400ac 0x1c>;
+ reg-names = "data", "dir", "intr";
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ interrupt-parent = <&vic1>;
+ interrupts = <27>;
+ };
+
+ gpio@80840008 {
+ compatible = "cirrus,ep9301-gpio";
+ reg = <0x80840008 0x04>,
+ <0x80840018 0x04>;
+ reg-names = "data", "dir";
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+
+ gpio@8084000c {
+ compatible = "cirrus,ep9301-gpio";
+ reg = <0x8084000c 0x04>,
+ <0x8084001c 0x04>;
+ reg-names = "data", "dir";
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+
+ gpio@80840020 {
+ compatible = "cirrus,ep9301-gpio";
+ reg = <0x80840020 0x04>,
+ <0x80840024 0x04>;
+ reg-names = "data", "dir";
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+
+ gpio@80840030 {
+ compatible = "cirrus,ep9301-gpio";
+ reg = <0x80840030 0x04>,
+ <0x80840034 0x04>,
+ <0x8084004c 0x1c>;
+ reg-names = "data", "dir", "intr";
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ interrupts-extended = <&vic0 19>, <&vic0 20>,
+ <&vic0 21>, <&vic0 22>,
+ <&vic1 15>, <&vic1 16>,
+ <&vic1 17>, <&vic1 18>;
+ };
+
+ gpio@80840038 {
+ compatible = "cirrus,ep9301-gpio";
+ reg = <0x80840038 0x04>,
+ <0x8084003c 0x04>;
+ reg-names = "data", "dir";
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+
+ gpio@80840040 {
+ compatible = "cirrus,ep9301-gpio";
+ reg = <0x80840040 0x04>,
+ <0x80840044 0x04>;
+ reg-names = "data", "dir";
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+
+...
--
2.37.4
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH v1 35/43] ARM: dts: add device tree for ep93xx Soc
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (37 preceding siblings ...)
2023-06-01 5:45 ` [PATCH v1 33/43] dt-bindings: gpio: Add Cirrus EP93xx Nikita Shubin
@ 2023-06-01 5:45 ` Nikita Shubin
2023-06-01 8:30 ` Krzysztof Kozlowski
2023-06-01 5:45 ` [PATCH v1 41/43] ARM: dts: ep93xx: Add I2S and AC97 nodes Nikita Shubin
2023-06-01 5:45 ` [PATCH v1 42/43] ARM: dts: ep93xx: Add EDB9302 DT Nikita Shubin
40 siblings, 1 reply; 118+ messages in thread
From: Nikita Shubin @ 2023-06-01 5:45 UTC (permalink / raw)
To: Alexander Sverdlin, Arnd Bergmann, Linus Walleij, Olof Johansson,
soc, Rob Herring, Krzysztof Kozlowski
Cc: Nikita Shubin, Michael Peters, Kris Bahnsen, linux-arm-kernel,
devicetree, linux-kernel
This adds a divice for Cirrus ep93xx SoC amd ts7250 board that has been
my testing target for ep93xx device support.
Also inluded device tree for Liebherr BK3.1 board through it's not a
complete support.
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
Notes:
v0 -> v1:
- add empty chosen node
- s/dallas,rtc-m48t86/st,m48t86/
- changed phy_id to phy-handle
- dropped gpio chip-label's
- s/eth@80010000/ethernet@80010000
- s/use_dma/ep9301,use-dma
- added i2s to bk3
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/ep93xx-bk3.dts | 119 +++++++
arch/arm/boot/dts/ep93xx-ts7250.dts | 132 ++++++++
arch/arm/boot/dts/ep93xx.dtsi | 466 ++++++++++++++++++++++++++++
4 files changed, 718 insertions(+)
create mode 100644 arch/arm/boot/dts/ep93xx-bk3.dts
create mode 100644 arch/arm/boot/dts/ep93xx-ts7250.dts
create mode 100644 arch/arm/boot/dts/ep93xx.dtsi
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 59829fc90315..a68f868fffe7 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -1670,3 +1670,4 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-vegman-n110.dtb \
aspeed-bmc-vegman-rx20.dtb \
aspeed-bmc-vegman-sx20.dtb
+dtb-$(CONFIG_ARCH_EP93XX) += ep93xx-ts7250.dtb
diff --git a/arch/arm/boot/dts/ep93xx-bk3.dts b/arch/arm/boot/dts/ep93xx-bk3.dts
new file mode 100644
index 000000000000..215587c498e6
--- /dev/null
+++ b/arch/arm/boot/dts/ep93xx-bk3.dts
@@ -0,0 +1,119 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree file for Liebherr controller BK3.1 based on Cirrus EP9302 SoC
+ */
+/dts-v1/;
+#include "ep93xx.dtsi"
+
+/ {
+ model = "Liebherr controller BK3.1";
+ compatible = "liebherr,bk3", "cirrus,ep9301";
+
+ chosen {
+ };
+
+ memory {
+ device_type = "memory";
+ };
+
+ soc {
+ nand-controller@60000000 {
+ compatible = "technologic,ts7200-nand";
+ reg = <0x60000000 0x8000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "System";
+ reg = <0x00000000 0x01e00000>;
+ read-only;
+ };
+
+ partition@1e00000 {
+ label = "Data";
+ reg = <0x01e00000 0x05f20000>;
+ };
+
+ partition@7d20000 {
+ label = "RedBoot";
+ reg = <0x07d20000 0x002e0000>;
+ read-only;
+ };
+ };
+ };
+
+ syscon: syscon@80930000 {
+ pinctrl: pinctrl {
+ compatible = "cirrus,ep9301-pinctrl";
+ };
+ };
+
+ gpio1: gpio@80840004 {
+ /* PWM */
+ gpio-ranges = <&pinctrl 6 163 1>;
+ };
+ };
+};
+
+&gpio1 {
+ /* PWM */
+ gpio-ranges = <&pinctrl 6 163 1>;
+};
+
+&gpio4 {
+ gpio-ranges = <&pinctrl 0 97 2>;
+ status = "okay";
+};
+
+&gpio6 {
+ gpio-ranges = <&pinctrl 0 87 2>;
+ status = "okay";
+};
+
+&gpio7 {
+ gpio-ranges = <&pinctrl 2 199 4>;
+ status = "okay";
+};
+
+&i2c {
+ status = "okay";
+};
+
+&spi0: spi@808a0000 {
+ cs-gpios = <&gpio5 3 0>;
+ status = "okay";
+};
+
+ð0 {
+ phy-handle = <&phy0>;
+};
+
+&mdio0 {
+ phy0: ethernet-phy@1 {
+ reg = <1>;
+ device_type = "ethernet-phy";
+ };
+};
+
+&uart0 {
+ status = "okay";
+};
+
+&uart1 {
+ status = "okay";
+};
+
+&usb {
+ status = "okay";
+};
+
+&i2s {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2s_on_ac97_pins>;
+ /delete-property/ status;
+};
diff --git a/arch/arm/boot/dts/ep93xx-ts7250.dts b/arch/arm/boot/dts/ep93xx-ts7250.dts
new file mode 100644
index 000000000000..40290e3cb9b3
--- /dev/null
+++ b/arch/arm/boot/dts/ep93xx-ts7250.dts
@@ -0,0 +1,132 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree file for Technologic Systems ts7250 board based on Cirrus EP9302 SoC
+ */
+/dts-v1/;
+#include "ep93xx.dtsi"
+
+/ {
+ compatible = "technologic,ts7250", "cirrus,ep9301";
+ model = "TS-7250 SBC";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ chosen {
+ };
+
+ memory@0 {
+ device_type = "memory";
+ /* should be set from ATAGS */
+ reg = <0x00000000 0x02000000>,
+ <0x000530c0 0x01fdd000>;
+ };
+
+ soc {
+ nand-controller@60000000 {
+ compatible = "technologic,ts7200-nand";
+ reg = <0x60000000 0x8000000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "TS-BOOTROM";
+ reg = <0x00000000 0x00020000>;
+ read-only;
+ };
+
+ partition@20000 {
+ label = "Linux";
+ reg = <0x00020000 0x07d00000>;
+ };
+
+ partition@7d20000 {
+ label = "RedBoot";
+ reg = <0x07d20000 0x002e0000>;
+ read-only;
+ };
+ };
+ };
+
+ syscon: syscon@80930000 {
+ pinctrl: pinctrl {
+ compatible = "cirrus,ep9301-pinctrl";
+ };
+ };
+
+ rtc1: rtc@10800000 {
+ compatible = "st,m48t86";
+ reg = <0x10800000 0x1>,
+ <0x11700000 0x1>;
+ };
+
+ watchdog1: watchdog@23800000 {
+ compatible = "technologic,ts7200-wdt";
+ reg = <0x23800000 0x01>,
+ <0x23c00000 0x01>;
+ timeout-sec = <30>;
+ };
+ };
+};
+
+&gpio1 {
+ /* PWM */
+ gpio-ranges = <&pinctrl 6 163 1>;
+};
+
+&gpio4 {
+ gpio-ranges = <&pinctrl 0 97 2>;
+ status = "okay";
+};
+
+&gpio6 {
+ gpio-ranges = <&pinctrl 0 87 2>;
+ status = "okay";
+};
+
+&gpio7 {
+ gpio-ranges = <&pinctrl 2 199 4>;
+ status = "okay";
+};
+
+&i2c0 {
+ status = "okay";
+};
+
+&spi0 {
+ cs-gpios = <&gpio5 2 0>;
+ status = "okay";
+
+ tmp122_spi: tmp122@0 {
+ compatible = "ti,tmp122";
+ reg = <0>;
+ spi-max-frequency = <2000000>;
+ };
+};
+
+ð0 {
+ phy-handle = <&phy0>;
+};
+
+&mdio0 {
+ phy0: ethernet-phy@1 {
+ reg = <1>;
+ device_type = "ethernet-phy";
+ };
+};
+
+&uart0 {
+ status = "okay";
+};
+
+&uart1 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "okay";
+};
diff --git a/arch/arm/boot/dts/ep93xx.dtsi b/arch/arm/boot/dts/ep93xx.dtsi
new file mode 100644
index 000000000000..6da556ceaf04
--- /dev/null
+++ b/arch/arm/boot/dts/ep93xx.dtsi
@@ -0,0 +1,466 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree file for Cirrus Logic systems EP93XX SoC
+ */
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/leds/common.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/clock/cirrus,ep93xx-clock.h>
+/ {
+ soc {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ compatible = "simple-bus";
+
+ syscon: syscon@80930000 {
+ compatible = "cirrus,ep9301-syscon",
+ "syscon", "simple-mfd";
+ reg = <0x80930000 0x1000>;
+
+ ep9301-reboot {
+ compatible = "cirrus,ep9301-reboot";
+ };
+
+ eclk: clock-controller {
+ #clock-cells = <1>;
+ compatible = "cirrus,ep9301-clk";
+ status = "okay";
+ clocks = <&xtali>;
+ };
+
+ pinctrl: pinctrl {
+ spi_default_pins: pins-spi {
+ function = "spi";
+ groups = "ssp";
+ };
+
+ ac97_default_pins: pins-ac97 {
+ function = "ac97";
+ groups = "ac97";
+ };
+
+ i2s_on_ssp_pins: pins-i2sonssp {
+ function = "i2s";
+ groups = "i2s_on_ssp";
+ };
+
+ i2s_on_ac97_pins: pins-i2sonac97 {
+ function = "i2s";
+ groups = "i2s_on_ac97";
+ };
+
+ gpio1_default_pins: pins-gpio1 {
+ function = "gpio";
+ groups = "gpio1agrp";
+ };
+
+ pwm1_default_pins: pins-pwm1 {
+ function = "pwm";
+ groups = "pwm1";
+ };
+
+ gpio2_default_pins: pins-gpio2 {
+ function = "gpio";
+ groups = "gpio2agrp";
+ };
+
+ gpio3_default_pins: pins-gpio3 {
+ function = "gpio";
+ groups = "gpio3agrp";
+ };
+
+ keypad_default_pins: pins-keypad {
+ function = "keypad";
+ groups = "keypadgrp";
+ };
+
+ gpio4_default_pins: pins-gpio4 {
+ function = "gpio";
+ groups = "gpio4agrp";
+ };
+
+ gpio6_default_pins: pins-gpio6 {
+ function = "gpio";
+ groups = "gpio6agrp";
+ };
+
+ gpio7_default_pins: pins-gpio7 {
+ function = "gpio";
+ groups = "gpio7agrp";
+ };
+
+ ide_default_pins: pins-ide {
+ function = "pata";
+ groups = "idegrp";
+ };
+
+ lcd_on_dram0_pins: pins-rasteronsdram0 {
+ function = "lcd";
+ groups = "rasteronsdram0grp";
+ };
+
+ lcd_on_dram3_pins: pins-rasteronsdram3 {
+ function = "lcd";
+ groups = "rasteronsdram3grp";
+ };
+ };
+ };
+
+ vic0: interrupt-controller@800b0000 {
+ compatible = "arm,pl192-vic";
+ interrupt-controller;
+ reg = <0x800b0000 0x1000>;
+ #interrupt-cells = <1>;
+ valid-mask = <0x7ffffffc>;
+ valid-wakeup-mask = <0x0>;
+ };
+
+ vic1: interrupt-controller@800c0000 {
+ compatible = "arm,pl192-vic";
+ interrupt-controller;
+ reg = <0x800c0000 0x1000>;
+ #interrupt-cells = <1>;
+ valid-mask = <0x1fffffff>;
+ valid-wakeup-mask = <0x0>;
+ };
+
+ timer: timer@80810000 {
+ compatible = "cirrus,ep9301-timer";
+ reg = <0x80810000 0x100>;
+ interrupt-parent = <&vic1>;
+ interrupts = <19>;
+ };
+
+ dma0: dma-controller@80000000 {
+ compatible = "cirrus,ep9301-dma-m2p";
+ reg = <0x80000000 0x0040>,
+ <0x80000040 0x0040>,
+ <0x80000080 0x0040>,
+ <0x800000c0 0x0040>,
+ <0x80000240 0x0040>,
+ <0x80000200 0x0040>,
+ <0x800002c0 0x0040>,
+ <0x80000280 0x0040>,
+ <0x80000340 0x0040>,
+ <0x80000300 0x0040>;
+ clocks = <&eclk EP93XX_CLK_M2P0>,
+ <&eclk EP93XX_CLK_M2P1>,
+ <&eclk EP93XX_CLK_M2P2>,
+ <&eclk EP93XX_CLK_M2P3>,
+ <&eclk EP93XX_CLK_M2P4>,
+ <&eclk EP93XX_CLK_M2P5>,
+ <&eclk EP93XX_CLK_M2P6>,
+ <&eclk EP93XX_CLK_M2P7>,
+ <&eclk EP93XX_CLK_M2P8>,
+ <&eclk EP93XX_CLK_M2P9>;
+ clock-names = "m2p0", "m2p1",
+ "m2p2", "m2p3",
+ "m2p4", "m2p5",
+ "m2p6", "m2p7",
+ "m2p8", "m2p9";
+ interrupt-parent = <&vic0>;
+ interrupts = <7>, <8>, <9>, <10>, <11>,
+ <12>, <13>, <14>, <15>, <16>;
+ #dma-cells = <1>;
+ };
+
+ dma1: dma-controller@80000100 {
+ compatible = "cirrus,ep9301-dma-m2m";
+ reg = <0x80000100 0x0040>,
+ <0x80000140 0x0040>;
+ clocks = <&eclk EP93XX_CLK_M2M0>,
+ <&eclk EP93XX_CLK_M2M1>;
+ clock-names = "m2m0", "m2m1";
+ interrupt-parent = <&vic0>;
+ interrupts = <17>, <18>;
+ #dma-cells = <1>;
+ };
+
+ i2s: i2s@80820000 {
+ compatible = "cirrus,ep9301-i2s";
+ #sound-dai-cells = <0>;
+ reg = <0x80820000 0x100>;
+ interrupt-parent = <&vic1>;
+ interrupts = <28>;
+ clocks = <&eclk EP93XX_CLK_I2S_MCLK
+ &eclk EP93XX_CLK_I2S_SCLK
+ &eclk EP93XX_CLK_I2S_LRCLK>;
+ clock-names = "mclk", "sclk", "lrclk";
+ status = "disabled";
+ };
+
+ gpio0: gpio@80840000 {
+ compatible = "cirrus,ep9301-gpio";
+ reg = <0x80840000 0x04>,
+ <0x80840010 0x04>,
+ <0x80840090 0x1c>;
+ reg-names = "data", "dir", "intr";
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ interrupt-parent = <&vic1>;
+ interrupts = <27>;
+ };
+
+ gpio1: gpio@80840004 {
+ compatible = "cirrus,ep9301-gpio";
+ reg = <0x80840004 0x04>,
+ <0x80840014 0x04>,
+ <0x808400ac 0x1c>;
+ reg-names = "data", "dir", "intr";
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ interrupt-parent = <&vic1>;
+ interrupts = <27>;
+ };
+
+ gpio2: gpio@80840008 {
+ compatible = "cirrus,ep9301-gpio";
+ reg = <0x80840008 0x04>,
+ <0x80840018 0x04>;
+ reg-names = "data", "dir";
+ gpio-controller;
+ #gpio-cells = <2>;
+ status = "disabled";
+ pinctrl-names = "default";
+ pinctrl-0 = <&gpio2_default_pins>;
+ };
+
+ gpio3: gpio@8084000c {
+ compatible = "cirrus,ep9301-gpio";
+ reg = <0x8084000c 0x04>,
+ <0x8084001c 0x04>;
+ reg-names = "data", "dir";
+ gpio-controller;
+ #gpio-cells = <2>;
+ status = "disabled";
+ pinctrl-names = "default";
+ pinctrl-0 = <&gpio3_default_pins>;
+ };
+
+ gpio4: gpio@80840020 {
+ compatible = "cirrus,ep9301-gpio";
+ reg = <0x80840020 0x04>,
+ <0x80840024 0x04>;
+ reg-names = "data", "dir";
+ gpio-controller;
+ #gpio-cells = <2>;
+ status = "disabled";
+ pinctrl-names = "default";
+ pinctrl-0 = <&gpio4_default_pins>;
+ };
+
+ gpio5: gpio@80840030 {
+ compatible = "cirrus,ep9301-gpio";
+ reg = <0x80840030 0x04>,
+ <0x80840034 0x04>,
+ <0x8084004c 0x1c>;
+ reg-names = "data", "dir", "intr";
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ interrupts-extended = <&vic0 19>, <&vic0 20>,
+ <&vic0 21>, <&vic0 22>,
+ <&vic1 15>, <&vic1 16>,
+ <&vic1 17>, <&vic1 18>;
+ };
+
+ gpio6: gpio@80840038 {
+ compatible = "cirrus,ep9301-gpio";
+ reg = <0x80840038 0x04>,
+ <0x8084003c 0x04>;
+ reg-names = "data", "dir";
+ gpio-controller;
+ #gpio-cells = <2>;
+ status = "disabled";
+ pinctrl-names = "default";
+ pinctrl-0 = <&gpio6_default_pins>;
+ };
+
+ gpio7: gpio@80840040 {
+ compatible = "cirrus,ep9301-gpio";
+ reg = <0x80840040 0x04>,
+ <0x80840044 0x04>;
+ reg-names = "data", "dir";
+ gpio-controller;
+ #gpio-cells = <2>;
+ status = "disabled";
+ pinctrl-names = "default";
+ pinctrl-0 = <&gpio7_default_pins>;
+ };
+
+ ide: ide@800a0000 {
+ compatible = "cirrus,ep9312-pata";
+ reg = <0x800a0000 0x38>;
+ interrupt-parent = <&vic1>;
+ interrupts = <8>;
+ status = "disabled";
+ pinctrl-names = "default";
+ pinctrl-0 = <&ide_default_pins>;
+ };
+
+ uart0: uart@808c0000 {
+ compatible = "arm,primecell";
+ reg = <0x808c0000 0x1000>;
+ arm,primecell-periphid = <0x00041010>;
+ clocks = <&eclk EP93XX_CLK_UART1>, <&eclk EP93XX_CLK_UART>;
+ clock-names = "apb:uart1", "apb_pclk";
+ interrupt-parent = <&vic1>;
+ interrupts = <20>;
+ status = "disabled";
+ };
+
+ uart1: uart@808d0000 {
+ compatible = "arm,primecell";
+ reg = <0x808d0000 0x1000>;
+ arm,primecell-periphid = <0x00041010>;
+ clocks = <&eclk EP93XX_CLK_UART2>, <&eclk EP93XX_CLK_UART>;
+ clock-names = "apb:uart2", "apb_pclk";
+ interrupt-parent = <&vic1>;
+ interrupts = <22>;
+ status = "disabled";
+ };
+
+ uart2: uart@808b0000 {
+ compatible = "arm,primecell";
+ reg = <0x808b0000 0x1000>;
+ arm,primecell-periphid = <0x00041010>;
+ clocks = <&eclk EP93XX_CLK_UART3>, <&eclk EP93XX_CLK_UART>;
+ clock-names = "apb:uart3", "apb_pclk";
+ interrupt-parent = <&vic1>;
+ interrupts = <23>;
+ status = "disabled";
+ };
+
+ usb0: usb@80020000 {
+ compatible = "generic-ohci";
+ reg = <0x80020000 0x10000>;
+ interrupt-parent = <&vic1>;
+ interrupts = <24>;
+ clocks = <&eclk EP93XX_CLK_USB>;
+ status = "disabled";
+ };
+
+ eth0: ethernet@80010000 {
+ compatible = "cirrus,ep9301-eth";
+ reg = <0x80010000 0x10000>;
+ interrupt-parent = <&vic1>;
+ interrupts = <7>;
+ mdio0: mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+
+ rtc0: rtc@80920000 {
+ compatible = "cirrus,ep9301-rtc";
+ reg = <0x80920000 0x100>;
+ };
+
+ spi0: spi@808a0000 {
+ compatible = "cirrus,ep9301-spi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x808a0000 0x18>;
+ interrupt-parent = <&vic1>;
+ interrupts = <21>;
+ clocks = <&eclk EP93XX_CLK_SPI>;
+ cs-gpios = <&gpio5 2 0>;
+ cirrus,ep9301-use-dma;
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi_default_pins>;
+ status = "disabled";
+ };
+
+ adc: adc@80900000 {
+ compatible = "cirrus,ep9301-adc";
+ reg = <0x80900000 0x28>;
+ clocks = <&eclk EP93XX_CLK_ADC>;
+ interrupt-parent = <&vic0>;
+ interrupts = <30>;
+ status = "disabled";
+ };
+
+ watchdog0: watchdog@80940000 {
+ compatible = "cirrus,ep9301-wdt";
+ reg = <0x80940000 0x08>;
+ };
+
+ pwm0: pwm@80910000 {
+ compatible = "cirrus,ep9301-pwm";
+ reg = <0x80910000 0x10>;
+ clocks = <&eclk EP93XX_CLK_PWM>;
+ status = "disabled";
+ };
+
+ pwm1: pwm@80910020 {
+ compatible = "cirrus,ep9301-pwm";
+ reg = <0x80910020 0x10>;
+ clocks = <&eclk EP93XX_CLK_PWM>;
+ status = "disabled";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pwm1_default_pins>;
+ };
+
+ keypad: keypad@800f0000 {
+ compatible = "cirrus,ep9307-keypad";
+ reg = <0x800f0000 0x0c>;
+ interrupt-parent = <&vic0>;
+ interrupts = <29>;
+ clocks = <&eclk EP93XX_CLK_KEYPAD>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&keypad_default_pins>;
+ linux,keymap =
+ <KEY_UP>,
+ <KEY_DOWN>,
+ <KEY_VOLUMEDOWN>,
+ <KEY_HOME>,
+ <KEY_RIGHT>,
+ <KEY_LEFT>,
+ <KEY_ENTER>,
+ <KEY_VOLUMEUP>,
+ <KEY_F6>,
+ <KEY_F8>,
+ <KEY_F9>,
+ <KEY_F10>,
+ <KEY_F1>,
+ <KEY_F2>,
+ <KEY_F3>,
+ <KEY_POWER>;
+ };
+ };
+
+ xtali: oscillator {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <14745600>;
+ clock-output-names = "xtali";
+ };
+
+ i2c0: i2c0 {
+ compatible = "i2c-gpio";
+ sda-gpios = <&gpio6 1 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
+ scl-gpios = <&gpio6 0 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ led0 {
+ label = "grled";
+ gpios = <&gpio4 0 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "heartbeat";
+ function = LED_FUNCTION_HEARTBEAT;
+ };
+
+ led1 {
+ label = "rdled";
+ gpios = <&gpio4 1 GPIO_ACTIVE_HIGH>;
+ function = LED_FUNCTION_FAULT;
+ };
+ };
+};
--
2.37.4
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH v1 41/43] ARM: dts: ep93xx: Add I2S and AC97 nodes
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (38 preceding siblings ...)
2023-06-01 5:45 ` [PATCH v1 35/43] ARM: dts: add device tree for ep93xx Soc Nikita Shubin
@ 2023-06-01 5:45 ` Nikita Shubin
2023-06-01 8:31 ` Krzysztof Kozlowski
2023-06-01 5:45 ` [PATCH v1 42/43] ARM: dts: ep93xx: Add EDB9302 DT Nikita Shubin
40 siblings, 1 reply; 118+ messages in thread
From: Nikita Shubin @ 2023-06-01 5:45 UTC (permalink / raw)
To: Alexander Sverdlin, Arnd Bergmann, Linus Walleij, Rob Herring,
Krzysztof Kozlowski
Cc: Nikita Shubin, Michael Peters, Kris Bahnsen, devicetree,
linux-kernel
From: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Add the audio interfaces present in EP93xx SoCs.
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
arch/arm/boot/dts/ep93xx.dtsi | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/arch/arm/boot/dts/ep93xx.dtsi b/arch/arm/boot/dts/ep93xx.dtsi
index 6da556ceaf04..c8028534dda7 100644
--- a/arch/arm/boot/dts/ep93xx.dtsi
+++ b/arch/arm/boot/dts/ep93xx.dtsi
@@ -301,6 +301,17 @@ ide: ide@800a0000 {
pinctrl-0 = <&ide_default_pins>;
};
+ ac97: ac97@80880000 {
+ compatible = "cirrus,ep9301-ac97";
+ #sound-dai-cells = <0>;
+ reg = <0x80880000 0xac>;
+ interrupt-parent = <&vic0>;
+ interrupts = <6>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&ac97_default_pins>;
+ status = "disabled";
+ };
+
uart0: uart@808c0000 {
compatible = "arm,primecell";
reg = <0x808c0000 0x1000>;
--
2.37.4
^ permalink raw reply related [flat|nested] 118+ messages in thread
* [PATCH v1 42/43] ARM: dts: ep93xx: Add EDB9302 DT
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
` (39 preceding siblings ...)
2023-06-01 5:45 ` [PATCH v1 41/43] ARM: dts: ep93xx: Add I2S and AC97 nodes Nikita Shubin
@ 2023-06-01 5:45 ` Nikita Shubin
2023-06-01 8:33 ` Krzysztof Kozlowski
40 siblings, 1 reply; 118+ messages in thread
From: Nikita Shubin @ 2023-06-01 5:45 UTC (permalink / raw)
To: Alexander Sverdlin, Arnd Bergmann, Linus Walleij, Rob Herring,
Krzysztof Kozlowski
Cc: Nikita Shubin, Michael Peters, Kris Bahnsen, devicetree,
linux-kernel
From: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Add device tree for Cirrus EDB9302.
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
---
Notes:
v0 -> v1:
- added USB
- dropped 'Missing USB' in commit message
- add mdio + eth phy
arch/arm/boot/dts/ep93xx-edb9302.dts | 160 +++++++++++++++++++++++++++
1 file changed, 160 insertions(+)
create mode 100644 arch/arm/boot/dts/ep93xx-edb9302.dts
diff --git a/arch/arm/boot/dts/ep93xx-edb9302.dts b/arch/arm/boot/dts/ep93xx-edb9302.dts
new file mode 100644
index 000000000000..3ec89f7587db
--- /dev/null
+++ b/arch/arm/boot/dts/ep93xx-edb9302.dts
@@ -0,0 +1,160 @@
+// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+/*
+ * Device Tree file for Cirrus Logic EDB9302 board based on EP9302 SoC
+ */
+/dts-v1/;
+#include "ep93xx.dtsi"
+
+/ {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "cirrus,edb9302", "cirrus,ep9301";
+ model = "cirrus,edb9302";
+
+ chosen {
+ };
+
+ memory {
+ device_type = "memory";
+ };
+
+ soc {
+ flash@60000000 {
+ compatible = "cfi-flash";
+ reg = <0x60000000 0x1000000>;
+ bank-width = <2>;
+ };
+ };
+
+ sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,name = "EDB93XX";
+ simple-audio-card,format = "i2s";
+ simple-audio-card,mclk-fs = <256>;
+ simple-audio-card,convert-channels = <2>;
+ simple-audio-card,convert-sample-format = "s32_le";
+
+ simple-audio-card,cpu {
+ sound-dai = <&i2s>;
+ system-clock-direction-out;
+ frame-master;
+ bitclock-master;
+ dai-sample-format = "s32_le";
+ dai-channels = <2>;
+ };
+
+ simple-audio-card,codec {
+ sound-dai = <&codec>;
+ };
+ };
+};
+
+&pinctrl {
+ compatible = "cirrus,ep9301-pinctrl";
+};
+
+&gpio0 {
+ gpio-ranges = <&pinctrl 0 153 1>,
+ <&pinctrl 1 152 1>,
+ <&pinctrl 2 151 1>,
+ <&pinctrl 3 148 1>,
+ <&pinctrl 4 147 1>,
+ <&pinctrl 5 146 1>,
+ <&pinctrl 6 145 1>,
+ <&pinctrl 7 144 1>;
+};
+
+&gpio1 {
+ gpio-ranges = <&pinctrl 0 143 1>,
+ <&pinctrl 1 142 1>,
+ <&pinctrl 2 141 1>,
+ <&pinctrl 3 140 1>,
+ <&pinctrl 4 165 1>,
+ <&pinctrl 5 164 1>,
+ <&pinctrl 6 163 1>,
+ <&pinctrl 7 160 1>;
+};
+
+&gpio2 {
+ gpio-ranges = <&pinctrl 0 115 1>;
+ /delete-property/ status;
+ /delete-property/ pinctrl-0;
+ /delete-property/ pinctrl-names;
+};
+
+&gpio4 {
+ gpio-ranges = <&pinctrl 0 97 2>;
+ /delete-property/ status;
+};
+
+&gpio5 {
+ gpio-ranges = <&pinctrl 1 170 1>,
+ <&pinctrl 2 169 1>,
+ <&pinctrl 3 168 1>;
+};
+
+&gpio6 {
+ gpio-ranges = <&pinctrl 0 87 2>;
+ /delete-property/ status;
+};
+
+&gpio7 {
+ gpio-ranges = <&pinctrl 2 199 4>;
+ /delete-property/ status;
+};
+
+&spi0 {
+ cs-gpios = <&gpio0 6 GPIO_ACTIVE_LOW
+ &gpio0 7 GPIO_ACTIVE_LOW>;
+ use_dma;
+ /delete-property/ status;
+
+ codec: cs4271@0 {
+ compatible = "cirrus,cs4271";
+ #sound-dai-cells = <0>;
+ reg = <0>;
+ spi-max-frequency = <6000000>;
+ spi-cpol;
+ spi-cpha;
+ reset-gpio = <&gpio0 1 GPIO_ACTIVE_HIGH>;
+ };
+
+ eeprom: at25f1024@1 {
+ compatible = "atmel,at25";
+ reg = <1>;
+ spi-max-frequency = <20000000>;
+ };
+};
+
+&adc {
+ /delete-property/ status;
+};
+
+ð0 {
+ phy-handle = <&phy0>;
+};
+
+&mdio0 {
+ phy0: ethernet-phy@1 {
+ reg = <1>;
+ device_type = "ethernet-phy";
+ };
+};
+
+&uart0 {
+ /delete-property/ status;
+};
+
+&uart1 {
+ /delete-property/ status;
+};
+
+&usb0 {
+ /delete-property/ status;
+};
+
+&i2s {
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2s_on_ac97_pins>;
+ /delete-property/ status;
+};
--
2.37.4
^ permalink raw reply related [flat|nested] 118+ messages in thread
* Re: [PATCH v1 02/43] dt-bindings: soc: Add Cirrus EP93xx
2023-06-01 5:33 ` [PATCH v1 02/43] dt-bindings: soc: Add Cirrus EP93xx Nikita Shubin
@ 2023-06-01 6:37 ` Krzysztof Kozlowski
2023-06-01 7:04 ` Nikita Shubin
0 siblings, 1 reply; 118+ messages in thread
From: Krzysztof Kozlowski @ 2023-06-01 6:37 UTC (permalink / raw)
To: Nikita Shubin, Alexander Sverdlin, Arnd Bergmann, Linus Walleij,
Rob Herring, Krzysztof Kozlowski, Michael Turquette, Stephen Boyd
Cc: Michael Peters, Kris Bahnsen, devicetree, linux-kernel, linux-clk
On 01/06/2023 07:33, Nikita Shubin wrote:
> This adds device tree bindings for the Cirrus Logic EP93xx.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
You already sent v1. This patchset is attached to the previous thread
making it more complicated for me to process. This buries it deep in the
mailbox and might interfere with applying entire sets.
Is this the next version, so v3? You already had at least two versions
before, so this cannot be v1.
> ---
>
> Notes:
> v0 -> v1:
>
> - fixed compatible - now it specifies three boards
> - ts7250
> - bk3
> - edb9302
> - fixed identation in example
> - dropped labels
>
> .../devicetree/bindings/arm/ep93xx.yaml | 107 ++++++++++++++++++
> .../dt-bindings/clock/cirrus,ep93xx-clock.h | 53 +++++++++
> 2 files changed, 160 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/arm/ep93xx.yaml
> create mode 100644 include/dt-bindings/clock/cirrus,ep93xx-clock.h
>
> diff --git a/Documentation/devicetree/bindings/arm/ep93xx.yaml b/Documentation/devicetree/bindings/arm/ep93xx.yaml
> new file mode 100644
> index 000000000000..bcf9754d0763
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/ep93xx.yaml
> @@ -0,0 +1,107 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/arm/ep93xx.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Cirrus Logic EP93xx device tree bindings
No improvements.
> +
> +description: |+
no improvements. Do not need '|+' unless you need to preserve formatting.
> + The EP93xx SoC is a ARMv4T-based with 200 MHz ARM9 CPU.
> +
> +maintainers:
> + - Alexander Sverdlin <alexander.sverdlin@gmail.com>
> + - Nikita Shubin <nikita.shubin@maquefel.me>
> +
> +properties:
> + $nodename:
> + const: '/'
> + compatible:
> + oneOf:
> + - description: The TS-7250 is a compact, full-featured Single Board Computer (SBC)
> + based upon the Cirrus EP9302 ARM9 CPU
> + items:
> + - const: technologic,ts7250
> + - const: cirrus,ep9301
> +
> + - description: The Liebherr BK3 is a derivate from ts7250 board
> + items:
> + - const: liebherr,bk3
> + - const: cirrus,ep9301
> +
> + - description: EDB302 is an evaluation board by Cirrus Logic,
> + based on a Cirrus Logic EP9302 CPU
> + items:
> + - const: cirrus,edb9302
> + - const: cirrus,ep9301
> +
> + soc:
> + type: object
> + patternProperties:
> + "^.*syscon@80930000$":
> + type: object
> + properties:
> + compatible:
> + items:
> + - const: cirrus,ep9301-syscon
> + - const: syscon
> + - const: simple-mfd
> + ep9301-reboot:
> + type: object
> + properties:
> + compatible:
> + const: cirrus,ep9301-reboot
> + required:
> + - compatible
> + - reg
> + - ep9301-reboot
> +
> + "^.*timer@80810000$":
> + type: object
> + properties:
> + compatible:
> + const: cirrus,ep9301-timer
> +
> + required:
> + - syscon@80930000
> + - timer@80810000
I don't understand what are you putting here. Why addresses are in
bindings (they should not be), why some nodes are documented in
top-level compatible. Drop all this.
Open existing files and look how it is done there.
> +
> +required:
> + - compatible
> + - soc> +
> +additionalProperties: true
> +
> +examples:
> + - |
> + / {
> + compatible = "technologic,ts7250", "cirrus,ep9301";
> + model = "TS-7250 SBC";
> + #address-cells = <1>;
> + #size-cells = <1>;
> + soc {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges;
> + compatible = "simple-bus";
> +
> + syscon@80930000 {
> + compatible = "cirrus,ep9301-syscon",
> + "syscon", "simple-mfd";
> + reg = <0x80930000 0x1000>;
> +
> + ep9301-reboot {
> + compatible = "cirrus,ep9301-reboot";
> + };
> + };
> +
> + timer@80810000 {
> + compatible = "cirrus,ep9301-timer";
> + reg = <0x80810000 0x100>;
> + interrupt-parent = <&vic1>;
> + interrupts = <19>;
> + };
> + };
> + };
Drop all this. There is no existing binding like that.
> +
> +...
> diff --git a/include/dt-bindings/clock/cirrus,ep93xx-clock.h b/include/dt-bindings/clock/cirrus,ep93xx-clock.h
Not related to top level compatible.
> new file mode 100644
> index 000000000000..6a8cf33d811b
> --- /dev/null
> +++ b/include/dt-bindings/clock/cirrus,ep93xx-clock.h
> @@ -0,0 +1,53 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
Dual license.
> +#ifndef DT_BINDINGS_CIRRUS_EP93XX_CLOCK_H
> +#define DT_BINDINGS_CIRRUS_EP93XX_CLOCK_H
> +
> +#define EP93XX_CLK_XTALI 0
> +
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 04/43] dt-bindings: clock: Add Cirrus EP93xx
2023-06-01 5:33 ` [PATCH v1 04/43] dt-bindings: clock: " Nikita Shubin
@ 2023-06-01 6:39 ` Krzysztof Kozlowski
2023-06-01 6:40 ` Krzysztof Kozlowski
1 sibling, 0 replies; 118+ messages in thread
From: Krzysztof Kozlowski @ 2023-06-01 6:39 UTC (permalink / raw)
To: Nikita Shubin, Alexander Sverdlin, Arnd Bergmann, Linus Walleij,
Michael Turquette, Stephen Boyd, Rob Herring, Krzysztof Kozlowski
Cc: Michael Peters, Kris Bahnsen, linux-clk, devicetree, linux-kernel
On 01/06/2023 07:33, Nikita Shubin wrote:
> This adds device tree bindings for the Cirrus Logic EP93xx
> clock block used in these SoCs.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
>
> Notes:
> v0 -> v1:
>
> - it's now a clock controller
>
> .../bindings/clock/cirrus,ep9301.yaml | 64 +++++++++++++++++++
> 1 file changed, 64 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/clock/cirrus,ep9301.yaml
>
> diff --git a/Documentation/devicetree/bindings/clock/cirrus,ep9301.yaml b/Documentation/devicetree/bindings/clock/cirrus,ep9301.yaml
> new file mode 100644
> index 000000000000..4f9e0d483698
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/clock/cirrus,ep9301.yaml
Filename matching compatible.
> @@ -0,0 +1,64 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/clock/cirrus,ep9301.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Cirrus Logic ep93xx SoC's clock controller
> +
> +maintainers:
> + - Nikita Shubin <nikita.shubin@maquefel.me>
> + - Alexander Sverdlin <alexander.sverdlin@gmail.com>
> +
> +description: |
> + Cirrus Logic EP93XX SoC clocks driver bindings. The clock
> + controller node must be defined as a child node of the ep93xx
> + system controller node.
> +
> + See also:
> + - dt-bindings/clock/cirrus,ep93xx-clock.h
> +
> +properties:
> + compatible:
> + oneOf:
> + - const: cirrus,ep9301-clk
> + - items:
> + - enum:
> + - cirrus,ep9302-clk
> + - cirrus,ep9307-clk
> + - cirrus,ep9312-clk
> + - cirrus,ep9315-clk
> + - const: cirrus,ep9301-clk
> +
> + "#clock-cells":
> + const: 1
> +
> + clocks:
> + description: List of clock specifiers which are external input
> + clocks to the given clock controller.
Drop description, it's obvious.
> + items:
> + - description: reference clock
> +
> +required:
> + - compatible
> + - "#clock-cells"
> + - clocks
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + clocks {
> + xtali: oscillator {
> + compatible = "fixed-clock";
> + #clock-cells = <0>;
> + clock-frequency = <14745600>;
> + };
> + };
Drop this part of example, it's obvious.
> +
> + clock-controller {
> + #clock-cells = <1>;
> + compatible = "cirrus,ep9301-clk";
compatible is always first property.
> + clocks = <&xtali>;
> + };
> +...
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 04/43] dt-bindings: clock: Add Cirrus EP93xx
2023-06-01 5:33 ` [PATCH v1 04/43] dt-bindings: clock: " Nikita Shubin
2023-06-01 6:39 ` Krzysztof Kozlowski
@ 2023-06-01 6:40 ` Krzysztof Kozlowski
1 sibling, 0 replies; 118+ messages in thread
From: Krzysztof Kozlowski @ 2023-06-01 6:40 UTC (permalink / raw)
To: Nikita Shubin, Alexander Sverdlin, Arnd Bergmann, Linus Walleij,
Michael Turquette, Stephen Boyd, Rob Herring, Krzysztof Kozlowski
Cc: Michael Peters, Kris Bahnsen, linux-clk, devicetree, linux-kernel
On 01/06/2023 07:33, Nikita Shubin wrote:
> This adds device tree bindings for the Cirrus Logic EP93xx
> clock block used in these SoCs.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
>
> Notes:
> v0 -> v1:
>
> - it's now a clock controller
>
> .../bindings/clock/cirrus,ep9301.yaml | 64 +++++++++++++++++++
> 1 file changed, 64 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/clock/cirrus,ep9301.yaml
>
> diff --git a/Documentation/devicetree/bindings/clock/cirrus,ep9301.yaml b/Documentation/devicetree/bindings/clock/cirrus,ep9301.yaml
> new file mode 100644
> index 000000000000..4f9e0d483698
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/clock/cirrus,ep9301.yaml
> @@ -0,0 +1,64 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/clock/cirrus,ep9301.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Cirrus Logic ep93xx SoC's clock controller
> +
> +maintainers:
> + - Nikita Shubin <nikita.shubin@maquefel.me>
> + - Alexander Sverdlin <alexander.sverdlin@gmail.com>
> +
> +description: |
> + Cirrus Logic EP93XX SoC clocks driver bindings. The clock
First sentence is not suitable for bindings. Describe the hardware or
skip it.
> + controller node must be defined as a child node of the ep93xx
> + system controller node.
> +
parent schema should define it...
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 06/43] dt-bindings: pinctrl: Add Cirrus EP93xx
2023-06-01 5:33 ` [PATCH v1 06/43] dt-bindings: pinctrl: " Nikita Shubin
@ 2023-06-01 6:42 ` Krzysztof Kozlowski
0 siblings, 0 replies; 118+ messages in thread
From: Krzysztof Kozlowski @ 2023-06-01 6:42 UTC (permalink / raw)
To: Nikita Shubin, Alexander Sverdlin, Arnd Bergmann, Linus Walleij,
Rob Herring, Krzysztof Kozlowski
Cc: Michael Peters, Kris Bahnsen, linux-gpio, devicetree,
linux-kernel
On 01/06/2023 07:33, Nikita Shubin wrote:
> Add YAML bindings for ep93xx SoC pinctrl.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
> ---
>
> Notes:
> v0 -> v1:
>
> Krzysztof Kozlowski:
> - removed wildcards
> - use fallback compatible and list all possible compatibles
> - fix ident
> - dropped bindings in title
>
> .../pinctrl/cirrus,ep9301-pinctrl.yaml | 66 +++++++++++++++++++
> 1 file changed, 66 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/pinctrl/cirrus,ep9301-pinctrl.yaml
>
> diff --git a/Documentation/devicetree/bindings/pinctrl/cirrus,ep9301-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/cirrus,ep9301-pinctrl.yaml
> new file mode 100644
> index 000000000000..ff7b30a11bab
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pinctrl/cirrus,ep9301-pinctrl.yaml
> @@ -0,0 +1,66 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pinctrl/cirrus,ep9301-pinctrl.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Cirrus ep93xx pins mux controller
> +
> +maintainers:
> + - Nikita Shubin <nikita.shubin@maquefel.me>
> + - Alexander Sverdlin <alexander.sverdlin@gmail.com>
> +
> +properties:
> + compatible:
> + oneOf:
> + - const: cirrus,ep9301-pinctrl
> + - items:
> + - enum:
> + - cirrus,ep9302-pinctrl
> + - cirrus,ep9307-pinctrl
> + - cirrus,ep9312-pinctrl
> + - cirrus,ep9315-pinctrl
> + - const: cirrus,ep9301-pinctrl
> +
> +patternProperties:
> + '^pins-':
> + type: object
> + description: pin node
> + $ref: pinmux-node.yaml#
> +
> + properties:
> + function:
> + enum: [ spi, ac97, i2s, pwm, keypad, pata, lcd, gpio ]
Blank line.
> + groups:
> + minItems: 1
> + maxItems: 2
How one pin can belong to two groups? What does it mean?
> + items:
> + enum: [ ssp, ac97, i2s_on_ssp, i2s_on_ac97, pwm1, gpio1agrp,
> + gpio2agrp, gpio3agrp, gpio4agrp, gpio6agrp, gpio7agrp,
> + rasteronsdram0grp, rasteronsdram3grp, keypadgrp, idegrp]
> +
> + required:
> + - function
> + - groups
> +
> +required:
> + - compatible
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + syscon@80930000 {
> + compatible = "cirrus,ep9301-syscon",
> + "syscon", "simple-mfd";
Weird wrapping.
> + reg = <0x80930000 0x1000>;
> + #clock-cells = <1>;
> + #reset-cells = <1>;
> + pinctrl {
> + compatible = "cirrus,ep9312-pinctrl", "cirrus,ep9301-pinctrl";
> + spi_default_pins: pins-spi {
> + function = "spi";
> + groups = "ssp";
> + };
> + };
> + };
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 08/43] dt-bindings: timers: Add Cirrus EP93xx
2023-06-01 5:33 ` [PATCH v1 08/43] dt-bindings: timers: " Nikita Shubin
@ 2023-06-01 6:43 ` Krzysztof Kozlowski
2023-06-01 6:44 ` Krzysztof Kozlowski
1 sibling, 0 replies; 118+ messages in thread
From: Krzysztof Kozlowski @ 2023-06-01 6:43 UTC (permalink / raw)
To: Nikita Shubin, Alexander Sverdlin, Arnd Bergmann, Linus Walleij,
Daniel Lezcano, Thomas Gleixner, Rob Herring, Krzysztof Kozlowski
Cc: Michael Peters, Kris Bahnsen, linux-kernel, devicetree
On 01/06/2023 07:33, Nikita Shubin wrote:
> This adds device tree bindings for the Cirrus Logic EP93xx
> timer block used in these SoCs.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
>
Fix versioning.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 08/43] dt-bindings: timers: Add Cirrus EP93xx
2023-06-01 5:33 ` [PATCH v1 08/43] dt-bindings: timers: " Nikita Shubin
2023-06-01 6:43 ` Krzysztof Kozlowski
@ 2023-06-01 6:44 ` Krzysztof Kozlowski
1 sibling, 0 replies; 118+ messages in thread
From: Krzysztof Kozlowski @ 2023-06-01 6:44 UTC (permalink / raw)
To: Nikita Shubin, Alexander Sverdlin, Arnd Bergmann, Linus Walleij,
Daniel Lezcano, Thomas Gleixner, Rob Herring, Krzysztof Kozlowski
Cc: Michael Peters, Kris Bahnsen, linux-kernel, devicetree
On 01/06/2023 07:33, Nikita Shubin wrote:
> This adds device tree bindings for the Cirrus Logic EP93xx
> timer block used in these SoCs.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
>
> Notes:
> v0 -> v1:
> - as Hartley (unfortunately) looks like not interested in dt rework,
> added myself instead
>
> Krzysztof Kozlowski:
> - removed wildcards
> - use fallback compatible and list all possible compatibles
> - fix ident
> - dropped bindings in title
I gave you already the tag. I also explained in lengthy message what to
do with it, yet you did not include it here.
I'll stop the review.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 02/43] dt-bindings: soc: Add Cirrus EP93xx
2023-06-01 6:37 ` Krzysztof Kozlowski
@ 2023-06-01 7:04 ` Nikita Shubin
0 siblings, 0 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-06-01 7:04 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Alexander Sverdlin, Arnd Bergmann, Linus Walleij, Rob Herring,
Krzysztof Kozlowski, Michael Turquette, Stephen Boyd,
Michael Peters, Kris Bahnsen, devicetree, linux-kernel, linux-clk
Hello Krzysztof!
On Thu, 1 Jun 2023 08:37:02 +0200
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote:
> On 01/06/2023 07:33, Nikita Shubin wrote:
> > This adds device tree bindings for the Cirrus Logic EP93xx.
> >
> > Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
>
> You already sent v1. This patchset is attached to the previous thread
> making it more complicated for me to process. This buries it deep in
> the mailbox and might interfere with applying entire sets.
Sorry for that, i've already realized my mistake looking at my own
mailbox.
>
> Is this the next version, so v3? You already had at least two versions
> before, so this cannot be v1.
It's second on the mail lists, the first one was closed RFC.
The first was without any version, i.e. v0, this one is v1 (should be
v2).
I promise to be more careful next series.
All other comments acknowledged.
>
> > ---
> >
> > Notes:
> > v0 -> v1:
> >
> > - fixed compatible - now it specifies three boards
> > - ts7250
> > - bk3
> > - edb9302
> > - fixed identation in example
> > - dropped labels
> >
> > .../devicetree/bindings/arm/ep93xx.yaml | 107
> > ++++++++++++++++++ .../dt-bindings/clock/cirrus,ep93xx-clock.h |
> > 53 +++++++++ 2 files changed, 160 insertions(+)
> > create mode 100644
> > Documentation/devicetree/bindings/arm/ep93xx.yaml create mode
> > 100644 include/dt-bindings/clock/cirrus,ep93xx-clock.h
> >
> > diff --git a/Documentation/devicetree/bindings/arm/ep93xx.yaml
> > b/Documentation/devicetree/bindings/arm/ep93xx.yaml new file mode
> > 100644 index 000000000000..bcf9754d0763
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/arm/ep93xx.yaml
> > @@ -0,0 +1,107 @@
> > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/arm/ep93xx.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Cirrus Logic EP93xx device tree bindings
>
> No improvements.
>
> > +
> > +description: |+
>
> no improvements. Do not need '|+' unless you need to preserve
> formatting.
>
>
> > + The EP93xx SoC is a ARMv4T-based with 200 MHz ARM9 CPU.
> > +
> > +maintainers:
> > + - Alexander Sverdlin <alexander.sverdlin@gmail.com>
> > + - Nikita Shubin <nikita.shubin@maquefel.me>
> > +
> > +properties:
> > + $nodename:
> > + const: '/'
> > + compatible:
> > + oneOf:
> > + - description: The TS-7250 is a compact, full-featured
> > Single Board Computer (SBC)
> > + based upon the Cirrus EP9302 ARM9 CPU
> > + items:
> > + - const: technologic,ts7250
> > + - const: cirrus,ep9301
> > +
> > + - description: The Liebherr BK3 is a derivate from ts7250
> > board
> > + items:
> > + - const: liebherr,bk3
> > + - const: cirrus,ep9301
> > +
> > + - description: EDB302 is an evaluation board by Cirrus Logic,
> > + based on a Cirrus Logic EP9302 CPU
> > + items:
> > + - const: cirrus,edb9302
> > + - const: cirrus,ep9301
> > +
> > + soc:
> > + type: object
> > + patternProperties:
> > + "^.*syscon@80930000$":
> > + type: object
> > + properties:
> > + compatible:
> > + items:
> > + - const: cirrus,ep9301-syscon
> > + - const: syscon
> > + - const: simple-mfd
> > + ep9301-reboot:
> > + type: object
> > + properties:
> > + compatible:
> > + const: cirrus,ep9301-reboot
> > + required:
> > + - compatible
> > + - reg
> > + - ep9301-reboot
> > +
> > + "^.*timer@80810000$":
> > + type: object
> > + properties:
> > + compatible:
> > + const: cirrus,ep9301-timer
> > +
> > + required:
> > + - syscon@80930000
> > + - timer@80810000
>
> I don't understand what are you putting here. Why addresses are in
> bindings (they should not be), why some nodes are documented in
> top-level compatible. Drop all this.
>
> Open existing files and look how it is done there.
>
> > +
> > +required:
> > + - compatible
> > + - soc> +
> > +additionalProperties: true
> > +
> > +examples:
> > + - |
> > + / {
> > + compatible = "technologic,ts7250", "cirrus,ep9301";
> > + model = "TS-7250 SBC";
> > + #address-cells = <1>;
> > + #size-cells = <1>;
> > + soc {
> > + #address-cells = <1>;
> > + #size-cells = <1>;
> > + ranges;
> > + compatible = "simple-bus";
> > +
> > + syscon@80930000 {
> > + compatible = "cirrus,ep9301-syscon",
> > + "syscon", "simple-mfd";
> > + reg = <0x80930000 0x1000>;
> > +
> > + ep9301-reboot {
> > + compatible = "cirrus,ep9301-reboot";
> > + };
> > + };
> > +
> > + timer@80810000 {
> > + compatible = "cirrus,ep9301-timer";
> > + reg = <0x80810000 0x100>;
> > + interrupt-parent = <&vic1>;
> > + interrupts = <19>;
> > + };
> > + };
> > + };
>
> Drop all this. There is no existing binding like that.
>
> > +
> > +...
> > diff --git a/include/dt-bindings/clock/cirrus,ep93xx-clock.h
> > b/include/dt-bindings/clock/cirrus,ep93xx-clock.h
>
> Not related to top level compatible.
>
> > new file mode 100644
> > index 000000000000..6a8cf33d811b
> > --- /dev/null
> > +++ b/include/dt-bindings/clock/cirrus,ep93xx-clock.h
> > @@ -0,0 +1,53 @@
> > +/* SPDX-License-Identifier: GPL-2.0-only */
>
> Dual license.
>
> > +#ifndef DT_BINDINGS_CIRRUS_EP93XX_CLOCK_H
> > +#define DT_BINDINGS_CIRRUS_EP93XX_CLOCK_H
> > +
> > +#define EP93XX_CLK_XTALI 0
> > +
>
>
> Best regards,
> Krzysztof
>
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 23/43] dt-bindings: mtd: Add ts7250 nand-controller
2023-06-01 5:45 ` [PATCH v1 23/43] dt-bindings: mtd: Add ts7250 nand-controller Nikita Shubin
@ 2023-06-01 7:45 ` Miquel Raynal
2023-06-01 8:11 ` Krzysztof Kozlowski
1 sibling, 0 replies; 118+ messages in thread
From: Miquel Raynal @ 2023-06-01 7:45 UTC (permalink / raw)
To: Nikita Shubin
Cc: Alexander Sverdlin, Arnd Bergmann, Linus Walleij,
Richard Weinberger, Vignesh Raghavendra, Rob Herring,
Krzysztof Kozlowski, Michael Peters, Kris Bahnsen, linux-mtd,
devicetree, linux-kernel
Hi Nikita,
nikita.shubin@maquefel.me wrote on Thu, 1 Jun 2023 08:45:28 +0300:
> Add YAML bindings for ts7250 NAND Controller.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
>
> Notes:
> v0 -> v1:
>
> make it a nand contoller
>
> .../bindings/mtd/technologic,nand.yaml | 47 +++++++++++++++++++
> 1 file changed, 47 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/mtd/technologic,nand.yaml
>
> diff --git a/Documentation/devicetree/bindings/mtd/technologic,nand.yaml b/Documentation/devicetree/bindings/mtd/technologic,nand.yaml
> new file mode 100644
> index 000000000000..26d1d9c3331d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/technologic,nand.yaml
> @@ -0,0 +1,47 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mtd/technologic,nand.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Technologic Systems NAND controller
> +
> +maintainers:
> + - Nikita Shubin <nikita.shubin@maquefel.me>
> +
> +allOf:
> + - $ref: nand-controller.yaml
> +
> +properties:
> + compatible:
> + oneOf:
> + - const: technologic,ts7200-nand
> + - items:
> + - enum:
> + - technologic,ts7300-nand
> + - technologic,ts7260-nand
> + - technologic,ts7250-nand
> + - const: technologic,ts7200-nand
> +
> + reg:
> + maxItems: 1
> +
> + '#address-cells': true
> + '#size-cells': true
> +
> +required:
> + - compatible
> + - reg
> +
> +unevaluatedProperties: true
Should be false I guess.
> +
> +examples:
> + - |
> + nand-controller@60000000 {
> + compatible = "technologic,ts7200-nand";
> + reg = <0x60000000 0x8000000>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +
> +...
Thanks,
Miquèl
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 23/43] dt-bindings: mtd: Add ts7250 nand-controller
2023-06-01 5:45 ` [PATCH v1 23/43] dt-bindings: mtd: Add ts7250 nand-controller Nikita Shubin
2023-06-01 7:45 ` Miquel Raynal
@ 2023-06-01 8:11 ` Krzysztof Kozlowski
1 sibling, 0 replies; 118+ messages in thread
From: Krzysztof Kozlowski @ 2023-06-01 8:11 UTC (permalink / raw)
To: Nikita Shubin, Alexander Sverdlin, Arnd Bergmann, Linus Walleij,
Miquel Raynal, Richard Weinberger, Vignesh Raghavendra,
Rob Herring, Krzysztof Kozlowski
Cc: Michael Peters, Kris Bahnsen, linux-mtd, devicetree, linux-kernel
On 01/06/2023 07:45, Nikita Shubin wrote:
> Add YAML bindings for ts7250 NAND Controller.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
>
> Notes:
> v0 -> v1:
>
> make it a nand contoller
>
> .../bindings/mtd/technologic,nand.yaml | 47 +++++++++++++++++++
> 1 file changed, 47 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/mtd/technologic,nand.yaml
>
> diff --git a/Documentation/devicetree/bindings/mtd/technologic,nand.yaml b/Documentation/devicetree/bindings/mtd/technologic,nand.yaml
> new file mode 100644
> index 000000000000..26d1d9c3331d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mtd/technologic,nand.yaml
> @@ -0,0 +1,47 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mtd/technologic,nand.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Technologic Systems NAND controller
> +
> +maintainers:
> + - Nikita Shubin <nikita.shubin@maquefel.me>
> +
> +allOf:
> + - $ref: nand-controller.yaml
> +
> +properties:
> + compatible:
> + oneOf:
> + - const: technologic,ts7200-nand
> + - items:
> + - enum:
> + - technologic,ts7300-nand
> + - technologic,ts7260-nand
> + - technologic,ts7250-nand
> + - const: technologic,ts7200-nand
> +
> + reg:
> + maxItems: 1
> +
> + '#address-cells': true
> + '#size-cells': true
Except what Miquel wrote - drop these two.
> +
> +required:
> + - compatible
> + - reg
> +
> +unevaluatedProperties: true
> +
> +examples:
> + - |
> + nand-controller@60000000 {
> + compatible = "technologic,ts7200-nand";
> + reg = <0x60000000 0x8000000>;
> + #address-cells = <1>;
> + #size-cells = <0>;
Incomplete example. address/size cells do not make sense here alone.
Finish the example.
> + };
> +
> +...
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 17/43] dt-bindings: spi: Add Cirrus EP93xx
2023-06-01 5:34 ` [PATCH v1 17/43] dt-bindings: spi: " Nikita Shubin
@ 2023-06-01 8:16 ` Krzysztof Kozlowski
2023-06-01 11:17 ` Mark Brown
1 sibling, 0 replies; 118+ messages in thread
From: Krzysztof Kozlowski @ 2023-06-01 8:16 UTC (permalink / raw)
To: Nikita Shubin, Alexander Sverdlin, Arnd Bergmann, Linus Walleij,
Mark Brown, Rob Herring, Krzysztof Kozlowski
Cc: Michael Peters, Kris Bahnsen, linux-spi, devicetree, linux-kernel
On 01/06/2023 07:34, Nikita Shubin wrote:
> Add YAML bindings for ep93xx SoC SPI.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
>
> Notes:
> v0 -> v1:
> Krzysztof Kozlowski:
> - replaced maintainers
> - removed wildcards
> - use fallback compatible and list all possible compatibles
> - drop quotes in ref
> - dropped "clock-names"
> - dropped label
> - fix ident
>
> .../devicetree/bindings/spi/spi-ep9301.yaml | 69 +++++++++++++++++++
> 1 file changed, 69 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/spi/spi-ep9301.yaml
>
> diff --git a/Documentation/devicetree/bindings/spi/spi-ep9301.yaml b/Documentation/devicetree/bindings/spi/spi-ep9301.yaml
> new file mode 100644
> index 000000000000..c363b25a3074
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/spi/spi-ep9301.yaml
> @@ -0,0 +1,69 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/spi/spi-ep9301.yaml#
Filename based on compatible, so missing prefix, wrong order of name
components.
This applies everywhere, not to some files only. Applied to all your
bindings.
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: EP93xx SoC SPI controller
> +
> +maintainers:
> + - Alexander Sverdlin <alexander.sverdlin@gmail.com>
> + - Nikita Shubin <nikita.shubin@maquefel.me>
> +
> +allOf:
> + - $ref: spi-controller.yaml#
> +
> +properties:
> + "#address-cells": true
> + "#size-cells": true
Drop these two.
> +
> + compatible:
Anyway, compatible is always first.
> + oneOf:
> + - const: cirrus,ep9301-spi
> + - items:
> + - enum:
> + - cirrus,ep9302-spi
> + - cirrus,ep9307-spi
> + - cirrus,ep9312-spi
> + - cirrus,ep9315-spi
> + - const: cirrus,ep9301-spi
> +
> + reg:
> + items:
> + - description: SPI registers region
> +
> + interrupts:
> + maxItems: 1
> +
> + clocks:
> + items:
> + - description: SPI Controller reference clock source
> +
> + cs-gpios: true
Drop, not needed.
> +
> + cirrus,ep9301-use-dma:
> + description: Flag indicating that the SPI should use dma
> + type: boolean
In such case where are dmas? Unless you meant some internal dma
controller? In such case extend the description because now it just
duplicates property name.
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - clocks
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/cirrus,ep93xx-clock.h>
> + spi@808a0000 {
> + compatible = "cirrus,ep9301-spi";
> + reg = <0x808a0000 0x18>;
> + interrupt-parent = <&vic1>;
> + interrupts = <21>;
> + clocks = <&syscon EP93XX_CLK_SPI>;
> + cs-gpios = <&gpio5 2 0>;
Use proper gpio defines for flags.
> + cirrus,ep9301-use-dma;
> + };
> +
> +...
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 29/43] dt-bindings: rtc: Add ST M48T86
2023-06-01 5:45 ` [PATCH v1 29/43] dt-bindings: rtc: Add ST M48T86 Nikita Shubin
@ 2023-06-01 8:18 ` Krzysztof Kozlowski
2023-06-20 7:30 ` Nikita Shubin
0 siblings, 1 reply; 118+ messages in thread
From: Krzysztof Kozlowski @ 2023-06-01 8:18 UTC (permalink / raw)
To: Nikita Shubin, Alexander Sverdlin, Arnd Bergmann, Linus Walleij,
Alessandro Zummo, Alexandre Belloni, Rob Herring,
Krzysztof Kozlowski
Cc: Michael Peters, Kris Bahnsen, linux-rtc, devicetree, linux-kernel
On 01/06/2023 07:45, Nikita Shubin wrote:
> Add YAML bindings for ST M48T86 / Dallas DS12887 RTC.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
>
> Notes:
> v0 -> v1:
>
> - s/dallas/st/
> - description for regs
> - s/additionalProperties/unevaluatedProperties/
> - add ref rtc.yaml
> - changed compatible to st,m48t86
> - dropped label in example
> - replaced Alessandro Alessandro to Alexandre Belloni
>
> .../bindings/rtc/st,m48t86-rtc.yaml | 38 +++++++++++++++++++
> 1 file changed, 38 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/rtc/st,m48t86-rtc.yaml
>
> diff --git a/Documentation/devicetree/bindings/rtc/st,m48t86-rtc.yaml b/Documentation/devicetree/bindings/rtc/st,m48t86-rtc.yaml
> new file mode 100644
> index 000000000000..eb8e6451d7c8
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/rtc/st,m48t86-rtc.yaml
Filename based on compatible, so drop "rtc".
> @@ -0,0 +1,38 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/rtc/st,m48t86-rtc.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: ST M48T86 / Dallas DS12887 RTC wirh SRAM
typo: with
> +
> +maintainers:
> + - Alexandre Belloni <alexandre.belloni@bootlin.com>
> +
> +properties:
> + compatible:
> + enum:
> + - st,m48t86
> +
> + reg:
> + items:
> + - description: index register
> + - description: data register
> +
> +allOf:
> + - $ref: rtc.yaml
> +
> +unevaluatedProperties: false
> +
> +required:
> + - compatible
> + - reg
required goes after properties:
Keep the same order in all your patches.
> +
> +examples:
> + - |
> + rtc@10800000 {
> + compatible = "st,m48t86";
> + reg = <0x10800000 0x1>, <0x11700000 0x1>;
One byte long? Not a word?
> + };
> +
> +...
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 33/43] dt-bindings: gpio: Add Cirrus EP93xx
2023-06-01 5:45 ` [PATCH v1 33/43] dt-bindings: gpio: Add Cirrus EP93xx Nikita Shubin
@ 2023-06-01 8:20 ` Krzysztof Kozlowski
2023-06-02 7:40 ` Linus Walleij
2023-06-16 9:15 ` Bartosz Golaszewski
1 sibling, 1 reply; 118+ messages in thread
From: Krzysztof Kozlowski @ 2023-06-01 8:20 UTC (permalink / raw)
To: Nikita Shubin, Alexander Sverdlin, Arnd Bergmann, Linus Walleij,
Bartosz Golaszewski, Rob Herring, Krzysztof Kozlowski
Cc: Michael Peters, Kris Bahnsen, linux-gpio, devicetree,
linux-kernel
On 01/06/2023 07:45, Nikita Shubin wrote:
> Add YAML bindings for ep93xx SoC gpio controller.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
> .../devicetree/bindings/gpio/gpio-ep9301.yaml | 154 ++++++++++++++++++
> 1 file changed, 154 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/gpio/gpio-ep9301.yaml
>
> diff --git a/Documentation/devicetree/bindings/gpio/gpio-ep9301.yaml b/Documentation/devicetree/bindings/gpio/gpio-ep9301.yaml
> new file mode 100644
> index 000000000000..daadfb4926c3
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/gpio/gpio-ep9301.yaml
Filename...
> @@ -0,0 +1,154 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/gpio/gpio-ep9301.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: EP93xx GPIO controller
> +
> +maintainers:
> + - Linus Walleij <linus.walleij@linaro.org>
> + - Bartosz Golaszewski <brgl@bgdev.pl>
Did you choose correct maintainers? Bartosz, Linus, do you take care
about EP93xx platform?
> + - Nikita Shubin <nikita.shubin@maquefel.me>
> +
> +properties:
> + compatible:
> + oneOf:
> + - const: cirrus,ep9301-gpio
> + - items:
> + - enum:
> + - cirrus,ep9302-gpio
> + - cirrus,ep9307-gpio
> + - cirrus,ep9312-gpio
> + - cirrus,ep9315-gpio
> + - const: cirrus,ep9301-gpio
> +
> + reg:
> + minItems: 2
> + items:
> + - description: data register
> + - description: direction register
> + - description: interrupt registers base
> +
> + reg-names:
> + minItems: 2
> + items:
> + - const: data
> + - const: dir
> + - const: intr
> +
> + gpio-controller: true
> +
> + gpio-ranges: true
> +
> + "#gpio-cells":
> + const: 2
> +
> + interrupt-controller: true
> +
> + "#interrupt-cells":
> + const: 2
> +
> + interrupts:
> + oneOf:
> + - maxItems: 1
> + - description: port F has dedicated irq line for each gpio line
> + maxItems: 8
> +
> +required:
> + - compatible
> + - reg
> + - gpio-controller
> + - "#gpio-cells"
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + gpio@80840000 {
> + compatible = "cirrus,ep9301-gpio";
> + reg = <0x80840000 0x04>,
> + <0x80840010 0x04>,
> + <0x80840090 0x1c>;
> + reg-names = "data", "dir", "intr";
> + gpio-controller;
> + #gpio-cells = <2>;
> + interrupt-controller;
> + interrupt-parent = <&vic1>;
> + interrupts = <27>;
> + };
> +
> + gpio@80840004 {
> + compatible = "cirrus,ep9301-gpio";
> + reg = <0x80840004 0x04>,
> + <0x80840014 0x04>,
> + <0x808400ac 0x1c>;
> + reg-names = "data", "dir", "intr";
> + gpio-controller;
> + #gpio-cells = <2>;
> + interrupt-controller;
> + interrupt-parent = <&vic1>;
> + interrupts = <27>;
> + };
Same example as before, drop.
> +
> + gpio@80840008 {
> + compatible = "cirrus,ep9301-gpio";
> + reg = <0x80840008 0x04>,
> + <0x80840018 0x04>;
> + reg-names = "data", "dir";
> + gpio-controller;
> + #gpio-cells = <2>;
> + };
> +
> + gpio@8084000c {
> + compatible = "cirrus,ep9301-gpio";
> + reg = <0x8084000c 0x04>,
> + <0x8084001c 0x04>;
> + reg-names = "data", "dir";
> + gpio-controller;
> + #gpio-cells = <2>;
> + };
Same as before... Just keep one example for interrupt controller and one
for non-interrupt-controller.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 27/43] dt-bindings: input: Add Cirrus EP93xx keypad
2023-06-01 5:45 ` [PATCH v1 27/43] dt-bindings: input: Add Cirrus EP93xx keypad Nikita Shubin
@ 2023-06-01 8:24 ` Rob Herring
2023-06-08 15:01 ` Rob Herring
1 sibling, 0 replies; 118+ messages in thread
From: Rob Herring @ 2023-06-01 8:24 UTC (permalink / raw)
To: Nikita Shubin
Cc: linux-input, devicetree, Rob Herring, Krzysztof Kozlowski,
linux-kernel, Michael Peters, Linus Walleij, Kris Bahnsen,
Arnd Bergmann, Alexander Sverdlin, Dmitry Torokhov
On Thu, 01 Jun 2023 08:45:32 +0300, Nikita Shubin wrote:
> Add YAML bindings for ep93xx SoC keypad.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
>
> Notes:
> v0 -> v1:
>
> - remove almost all but debounce-delay-ms and prescale
> - s/ep9301-keypad/ep9307-keypad/ it's actually only for
> ep9307, ep9312, ep9315
>
> Krzysztof Kozlowski:
> - renamed file
> - changed maintainers
> - dropped quotes
> - dropped clock-names
> - use fallback compatible and list all possible compatibles
> - fix ident
>
> .../bindings/input/cirrus,ep9307-keypad.yaml | 86 +++++++++++++++++++
> 1 file changed, 86 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/input/cirrus,ep9307-keypad.yaml
>
My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):
yamllint warnings/errors:
dtschema/dtc warnings/errors:
Documentation/devicetree/bindings/input/cirrus,ep9307-keypad.example.dtb: /example-0/keypad@800f0000: failed to match any schema with compatible: ['cirrus,ep9301-keypad']
doc reference errors (make refcheckdocs):
See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230601054549.10843-9-nikita.shubin@maquefel.me
The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 35/43] ARM: dts: add device tree for ep93xx Soc
2023-06-01 5:45 ` [PATCH v1 35/43] ARM: dts: add device tree for ep93xx Soc Nikita Shubin
@ 2023-06-01 8:30 ` Krzysztof Kozlowski
2023-07-05 16:06 ` Nikita Shubin
0 siblings, 1 reply; 118+ messages in thread
From: Krzysztof Kozlowski @ 2023-06-01 8:30 UTC (permalink / raw)
To: Nikita Shubin, Alexander Sverdlin, Arnd Bergmann, Linus Walleij,
Olof Johansson, soc, Rob Herring, Krzysztof Kozlowski
Cc: Michael Peters, Kris Bahnsen, linux-arm-kernel, devicetree,
linux-kernel
On 01/06/2023 07:45, Nikita Shubin wrote:
> This adds a divice for Cirrus ep93xx SoC amd ts7250 board that has been
device
> my testing target for ep93xx device support.
>
> Also inluded device tree for Liebherr BK3.1 board through it's not a
included
> complete support.
Thank you for your patch. There is something to discuss/improve.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
>
> Notes:
> v0 -> v1:
>
> - add empty chosen node
> - s/dallas,rtc-m48t86/st,m48t86/
> - changed phy_id to phy-handle
> - dropped gpio chip-label's
> - s/eth@80010000/ethernet@80010000
> - s/use_dma/ep9301,use-dma
> - added i2s to bk3
>
> arch/arm/boot/dts/Makefile | 1 +
> arch/arm/boot/dts/ep93xx-bk3.dts | 119 +++++++
> arch/arm/boot/dts/ep93xx-ts7250.dts | 132 ++++++++
> arch/arm/boot/dts/ep93xx.dtsi | 466 ++++++++++++++++++++++++++++
Split adding DTSI from adding boards.
> 4 files changed, 718 insertions(+)
> create mode 100644 arch/arm/boot/dts/ep93xx-bk3.dts
> create mode 100644 arch/arm/boot/dts/ep93xx-ts7250.dts
> create mode 100644 arch/arm/boot/dts/ep93xx.dtsi
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 59829fc90315..a68f868fffe7 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -1670,3 +1670,4 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
> aspeed-bmc-vegman-n110.dtb \
> aspeed-bmc-vegman-rx20.dtb \
> aspeed-bmc-vegman-sx20.dtb
> +dtb-$(CONFIG_ARCH_EP93XX) += ep93xx-ts7250.dtb
> diff --git a/arch/arm/boot/dts/ep93xx-bk3.dts b/arch/arm/boot/dts/ep93xx-bk3.dts
> new file mode 100644
> index 000000000000..215587c498e6
> --- /dev/null
> +++ b/arch/arm/boot/dts/ep93xx-bk3.dts
> @@ -0,0 +1,119 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Device Tree file for Liebherr controller BK3.1 based on Cirrus EP9302 SoC
> + */
> +/dts-v1/;
> +#include "ep93xx.dtsi"
> +
> +/ {
> + model = "Liebherr controller BK3.1";
> + compatible = "liebherr,bk3", "cirrus,ep9301";
> +
> + chosen {
> + };
> +
> + memory {
> + device_type = "memory";
> + };
> +
> + soc {
> + nand-controller@60000000 {
Override/extend by label/phandle.
> + compatible = "technologic,ts7200-nand";
> + reg = <0x60000000 0x8000000>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + partitions {
> + compatible = "fixed-partitions";
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + partition@0 {
> + label = "System";
> + reg = <0x00000000 0x01e00000>;
> + read-only;
> + };
> +
> + partition@1e00000 {
> + label = "Data";
> + reg = <0x01e00000 0x05f20000>;
> + };
> +
> + partition@7d20000 {
> + label = "RedBoot";
> + reg = <0x07d20000 0x002e0000>;
> + read-only;
> + };
> + };
> + };
> +
> + syscon: syscon@80930000 {
Override/extend by label/phandle.
> + pinctrl: pinctrl {
> + compatible = "cirrus,ep9301-pinctrl";
Why this is board specific?
> + };
> + };
> +
> + gpio1: gpio@80840004 {
Override/extend by label/phandle.
> + /* PWM */
> + gpio-ranges = <&pinctrl 6 163 1>;
> + };
> + };
> +};
> +
> +&gpio1 {
> + /* PWM */
> + gpio-ranges = <&pinctrl 6 163 1>;
> +};
> +
> +&gpio4 {
> + gpio-ranges = <&pinctrl 0 97 2>;
> + status = "okay";
> +};
> +
> +&gpio6 {
> + gpio-ranges = <&pinctrl 0 87 2>;
> + status = "okay";
> +};
> +
> +&gpio7 {
> + gpio-ranges = <&pinctrl 2 199 4>;
> + status = "okay";
> +};
> +
> +&i2c {
> + status = "okay";
> +};
> +
> +&spi0: spi@808a0000 {
> + cs-gpios = <&gpio5 3 0>;
Use proper defines for flags.
> + status = "okay";
What's here? Empty enabled bus?
> +};
> +
> +ð0 {
> + phy-handle = <&phy0>;
> +};
> +
> +&mdio0 {
> + phy0: ethernet-phy@1 {
> + reg = <1>;
> + device_type = "ethernet-phy";
> + };
> +};
> +
> +&uart0 {
> + status = "okay";
> +};
> +
> +&uart1 {
> + status = "okay";
> +};
> +
> +&usb {
> + status = "okay";
> +};
> +
> +&i2s {
Up to you, but I seriously recommend keeping all labels ordered by name.
Avoids conflicts.
> + pinctrl-names = "default";
> + pinctrl-0 = <&i2s_on_ac97_pins>;
> + /delete-property/ status;
??? I don't understand. Why would you do this?
...
> diff --git a/arch/arm/boot/dts/ep93xx.dtsi b/arch/arm/boot/dts/ep93xx.dtsi
> new file mode 100644
> index 000000000000..6da556ceaf04
> --- /dev/null
> +++ b/arch/arm/boot/dts/ep93xx.dtsi
> @@ -0,0 +1,466 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Device Tree file for Cirrus Logic systems EP93XX SoC
> + */
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/leds/common.h>
> +#include <dt-bindings/input/input.h>
> +#include <dt-bindings/clock/cirrus,ep93xx-clock.h>
> +/ {
> + soc {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges;
> + compatible = "simple-bus";
> +
> + syscon: syscon@80930000 {
> + compatible = "cirrus,ep9301-syscon",
> + "syscon", "simple-mfd";
Broken wrapping. Align these with previous ".
> + reg = <0x80930000 0x1000>;
> +
> + ep9301-reboot {
Just "reboot" (and fix bindings)... but why would you need it in the
first place? I think something is seriously missing in your bindings.
> + compatible = "cirrus,ep9301-reboot";
> + };
> +
> + eclk: clock-controller {
> + #clock-cells = <1>;
> + compatible = "cirrus,ep9301-clk";
> + status = "okay";
> + clocks = <&xtali>;
> + };
> +
> + pinctrl: pinctrl {
Missing compatible.
> + spi_default_pins: pins-spi {
> + function = "spi";
> + groups = "ssp";
> + };
> +
> + ac97_default_pins: pins-ac97 {
> + function = "ac97";
> + groups = "ac97";
> + };
> +
> + i2s_on_ssp_pins: pins-i2sonssp {
> + function = "i2s";
> + groups = "i2s_on_ssp";
> + };
> +
> + i2s_on_ac97_pins: pins-i2sonac97 {
> + function = "i2s";
> + groups = "i2s_on_ac97";
> + };
> +
> + gpio1_default_pins: pins-gpio1 {
> + function = "gpio";
> + groups = "gpio1agrp";
> + };
> +
> + pwm1_default_pins: pins-pwm1 {
> + function = "pwm";
> + groups = "pwm1";
> + };
> +
> + gpio2_default_pins: pins-gpio2 {
> + function = "gpio";
> + groups = "gpio2agrp";
> + };
> +
> + gpio3_default_pins: pins-gpio3 {
> + function = "gpio";
> + groups = "gpio3agrp";
> + };
> +
> + keypad_default_pins: pins-keypad {
> + function = "keypad";
> + groups = "keypadgrp";
> + };
> +
> + gpio4_default_pins: pins-gpio4 {
> + function = "gpio";
> + groups = "gpio4agrp";
> + };
> +
> + gpio6_default_pins: pins-gpio6 {
> + function = "gpio";
> + groups = "gpio6agrp";
> + };
> +
> + gpio7_default_pins: pins-gpio7 {
> + function = "gpio";
> + groups = "gpio7agrp";
> + };
> +
> + ide_default_pins: pins-ide {
> + function = "pata";
> + groups = "idegrp";
> + };
> +
> + lcd_on_dram0_pins: pins-rasteronsdram0 {
> + function = "lcd";
> + groups = "rasteronsdram0grp";
> + };
> +
> + lcd_on_dram3_pins: pins-rasteronsdram3 {
> + function = "lcd";
> + groups = "rasteronsdram3grp";
I would expect somewhere two groups since you explicitly allow it.
> + };
> + };
> + };
> +
> + vic0: interrupt-controller@800b0000 {
> + compatible = "arm,pl192-vic";
> + interrupt-controller;
> + reg = <0x800b0000 0x1000>;
compatible first, reg is second. ranges if present - third. Fix it
everywhere.
> + #interrupt-cells = <1>;
> + valid-mask = <0x7ffffffc>;
> + valid-wakeup-mask = <0x0>;
> + };
> +
> + vic1: interrupt-controller@800c0000 {
> + compatible = "arm,pl192-vic";
> + interrupt-controller;
> + reg = <0x800c0000 0x1000>;
> + #interrupt-cells = <1>;
> + valid-mask = <0x1fffffff>;
> + valid-wakeup-mask = <0x0>;
> + };
> +
> + timer: timer@80810000 {
> + compatible = "cirrus,ep9301-timer";
> + reg = <0x80810000 0x100>;
> + interrupt-parent = <&vic1>;
> + interrupts = <19>;
> + };
> +
> + dma0: dma-controller@80000000 {
> + compatible = "cirrus,ep9301-dma-m2p";
> + reg = <0x80000000 0x0040>,
> + <0x80000040 0x0040>,
> + <0x80000080 0x0040>,
> + <0x800000c0 0x0040>,
> + <0x80000240 0x0040>,
> + <0x80000200 0x0040>,
> + <0x800002c0 0x0040>,
> + <0x80000280 0x0040>,
> + <0x80000340 0x0040>,
> + <0x80000300 0x0040>;
> + clocks = <&eclk EP93XX_CLK_M2P0>,
> + <&eclk EP93XX_CLK_M2P1>,
> + <&eclk EP93XX_CLK_M2P2>,
> + <&eclk EP93XX_CLK_M2P3>,
> + <&eclk EP93XX_CLK_M2P4>,
> + <&eclk EP93XX_CLK_M2P5>,
> + <&eclk EP93XX_CLK_M2P6>,
> + <&eclk EP93XX_CLK_M2P7>,
> + <&eclk EP93XX_CLK_M2P8>,
> + <&eclk EP93XX_CLK_M2P9>;
> + clock-names = "m2p0", "m2p1",
> + "m2p2", "m2p3",
> + "m2p4", "m2p5",
> + "m2p6", "m2p7",
> + "m2p8", "m2p9";
> + interrupt-parent = <&vic0>;
> + interrupts = <7>, <8>, <9>, <10>, <11>,
> + <12>, <13>, <14>, <15>, <16>;
> + #dma-cells = <1>;
> + };
> +
> + dma1: dma-controller@80000100 {
> + compatible = "cirrus,ep9301-dma-m2m";
> + reg = <0x80000100 0x0040>,
> + <0x80000140 0x0040>;
> + clocks = <&eclk EP93XX_CLK_M2M0>,
> + <&eclk EP93XX_CLK_M2M1>;
> + clock-names = "m2m0", "m2m1";
> + interrupt-parent = <&vic0>;
> + interrupts = <17>, <18>;
> + #dma-cells = <1>;
> + };
> +
> + i2s: i2s@80820000 {
> + compatible = "cirrus,ep9301-i2s";
> + #sound-dai-cells = <0>;
> + reg = <0x80820000 0x100>;
> + interrupt-parent = <&vic1>;
> + interrupts = <28>;
> + clocks = <&eclk EP93XX_CLK_I2S_MCLK
> + &eclk EP93XX_CLK_I2S_SCLK
> + &eclk EP93XX_CLK_I2S_LRCLK>;
> + clock-names = "mclk", "sclk", "lrclk";
> + status = "disabled";
> + };
> +
> + gpio0: gpio@80840000 {
> + compatible = "cirrus,ep9301-gpio";
> + reg = <0x80840000 0x04>,
> + <0x80840010 0x04>,
> + <0x80840090 0x1c>;
Messed wrapping.
> + reg-names = "data", "dir", "intr";
> + gpio-controller;
> + #gpio-cells = <2>;
> + interrupt-controller;
> + interrupt-parent = <&vic1>;
> + interrupts = <27>;
> + };
> +
> + gpio1: gpio@80840004 {
> + compatible = "cirrus,ep9301-gpio";
> + reg = <0x80840004 0x04>,
> + <0x80840014 0x04>,
> + <0x808400ac 0x1c>;
Ditto, in other places as well.
> + reg-names = "data", "dir", "intr";
> + gpio-controller;
> + #gpio-cells = <2>;
> + interrupt-controller;
> + interrupt-parent = <&vic1>;
> + interrupts = <27>;
> + };
> +
> + gpio2: gpio@80840008 {
> + compatible = "cirrus,ep9301-gpio";
> + reg = <0x80840008 0x04>,
> + <0x80840018 0x04>;
> + reg-names = "data", "dir";
> + gpio-controller;
> + #gpio-cells = <2>;
> + status = "disabled";
Status is usually last.
> + pinctrl-names = "default";
> + pinctrl-0 = <&gpio2_default_pins>;
> + };
> +
> + gpio3: gpio@8084000c {
> + compatible = "cirrus,ep9301-gpio";
> + reg = <0x8084000c 0x04>,
> + <0x8084001c 0x04>;
> + reg-names = "data", "dir";
> + gpio-controller;
> + #gpio-cells = <2>;
> + status = "disabled";
> + pinctrl-names = "default";
> + pinctrl-0 = <&gpio3_default_pins>;
> + };
> +
> + gpio4: gpio@80840020 {
> + compatible = "cirrus,ep9301-gpio";
> + reg = <0x80840020 0x04>,
> + <0x80840024 0x04>;
> + reg-names = "data", "dir";
> + gpio-controller;
> + #gpio-cells = <2>;
> + status = "disabled";
> + pinctrl-names = "default";
> + pinctrl-0 = <&gpio4_default_pins>;
> + };
> +
> + gpio5: gpio@80840030 {
> + compatible = "cirrus,ep9301-gpio";
> + reg = <0x80840030 0x04>,
> + <0x80840034 0x04>,
> + <0x8084004c 0x1c>;
> + reg-names = "data", "dir", "intr";
> + gpio-controller;
> + #gpio-cells = <2>;
> + interrupt-controller;
> + interrupts-extended = <&vic0 19>, <&vic0 20>,
> + <&vic0 21>, <&vic0 22>,
> + <&vic1 15>, <&vic1 16>,
> + <&vic1 17>, <&vic1 18>;
> + };
> +
> + gpio6: gpio@80840038 {
> + compatible = "cirrus,ep9301-gpio";
> + reg = <0x80840038 0x04>,
> + <0x8084003c 0x04>;
> + reg-names = "data", "dir";
> + gpio-controller;
> + #gpio-cells = <2>;
> + status = "disabled";
> + pinctrl-names = "default";
> + pinctrl-0 = <&gpio6_default_pins>;
> + };
> +
> + gpio7: gpio@80840040 {
> + compatible = "cirrus,ep9301-gpio";
> + reg = <0x80840040 0x04>,
> + <0x80840044 0x04>;
> + reg-names = "data", "dir";
> + gpio-controller;
> + #gpio-cells = <2>;
> + status = "disabled";
> + pinctrl-names = "default";
> + pinctrl-0 = <&gpio7_default_pins>;
> + };
> +
> + ide: ide@800a0000 {
> + compatible = "cirrus,ep9312-pata";
> + reg = <0x800a0000 0x38>;
> + interrupt-parent = <&vic1>;
> + interrupts = <8>;
> + status = "disabled";
> + pinctrl-names = "default";
> + pinctrl-0 = <&ide_default_pins>;
> + };
> +
> + uart0: uart@808c0000 {
This should scream with dtbs_check. serial.
It does not look like you tested the DTS against bindings. Please run
`make dtbs_check` (see
Documentation/devicetree/bindings/writing-schema.rst for instructions).
> + compatible = "arm,primecell";
> + reg = <0x808c0000 0x1000>;
> + arm,primecell-periphid = <0x00041010>;
> + clocks = <&eclk EP93XX_CLK_UART1>, <&eclk EP93XX_CLK_UART>;
> + clock-names = "apb:uart1", "apb_pclk";
> + interrupt-parent = <&vic1>;
> + interrupts = <20>;
> + status = "disabled";
> + };
> +
> + uart1: uart@808d0000 {
> + compatible = "arm,primecell";
> + reg = <0x808d0000 0x1000>;
> + arm,primecell-periphid = <0x00041010>;
> + clocks = <&eclk EP93XX_CLK_UART2>, <&eclk EP93XX_CLK_UART>;
> + clock-names = "apb:uart2", "apb_pclk";
> + interrupt-parent = <&vic1>;
> + interrupts = <22>;
> + status = "disabled";
> + };
> +
> + uart2: uart@808b0000 {
> + compatible = "arm,primecell";
> + reg = <0x808b0000 0x1000>;
> + arm,primecell-periphid = <0x00041010>;
> + clocks = <&eclk EP93XX_CLK_UART3>, <&eclk EP93XX_CLK_UART>;
> + clock-names = "apb:uart3", "apb_pclk";
> + interrupt-parent = <&vic1>;
> + interrupts = <23>;
> + status = "disabled";
> + };
> +
> + usb0: usb@80020000 {
> + compatible = "generic-ohci";
> + reg = <0x80020000 0x10000>;
> + interrupt-parent = <&vic1>;
> + interrupts = <24>;
> + clocks = <&eclk EP93XX_CLK_USB>;
> + status = "disabled";
> + };
> +
> + eth0: ethernet@80010000 {
> + compatible = "cirrus,ep9301-eth";
> + reg = <0x80010000 0x10000>;
> + interrupt-parent = <&vic1>;
> + interrupts = <7>;
> + mdio0: mdio {
> + #address-cells = <1>;
> + #size-cells = <0>;
Your SoC comes with mdio? If so, why is this empty?
> + };
> + };
> +
> + rtc0: rtc@80920000 {
> + compatible = "cirrus,ep9301-rtc";
> + reg = <0x80920000 0x100>;
> + };
> +
> + spi0: spi@808a0000 {
> + compatible = "cirrus,ep9301-spi";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x808a0000 0x18>;
> + interrupt-parent = <&vic1>;
> + interrupts = <21>;
> + clocks = <&eclk EP93XX_CLK_SPI>;
> + cs-gpios = <&gpio5 2 0>;
defines... but why is it here in the first place? Rarely CS gpios are
part of the SoC. I have several of such questions further as well, so
this looks like you are mixing SoC and boards in one file.
> + cirrus,ep9301-use-dma;
> + pinctrl-names = "default";
> + pinctrl-0 = <&spi_default_pins>;
> + status = "disabled";
> + };
> +
> + adc: adc@80900000 {
> + compatible = "cirrus,ep9301-adc";
> + reg = <0x80900000 0x28>;
> + clocks = <&eclk EP93XX_CLK_ADC>;
> + interrupt-parent = <&vic0>;
> + interrupts = <30>;
> + status = "disabled";
> + };
> +
> + watchdog0: watchdog@80940000 {
> + compatible = "cirrus,ep9301-wdt";
> + reg = <0x80940000 0x08>;
> + };
> +
> + pwm0: pwm@80910000 {
> + compatible = "cirrus,ep9301-pwm";
> + reg = <0x80910000 0x10>;
> + clocks = <&eclk EP93XX_CLK_PWM>;
> + status = "disabled";
> + };
> +
> + pwm1: pwm@80910020 {
> + compatible = "cirrus,ep9301-pwm";
> + reg = <0x80910020 0x10>;
> + clocks = <&eclk EP93XX_CLK_PWM>;
> + status = "disabled";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pwm1_default_pins>;
> + };
> +
> + keypad: keypad@800f0000 {
> + compatible = "cirrus,ep9307-keypad";
> + reg = <0x800f0000 0x0c>;
> + interrupt-parent = <&vic0>;
> + interrupts = <29>;
> + clocks = <&eclk EP93XX_CLK_KEYPAD>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&keypad_default_pins>;
> + linux,keymap =
> + <KEY_UP>,
> + <KEY_DOWN>,
> + <KEY_VOLUMEDOWN>,
> + <KEY_HOME>,
> + <KEY_RIGHT>,
> + <KEY_LEFT>,
> + <KEY_ENTER>,
> + <KEY_VOLUMEUP>,
> + <KEY_F6>,
> + <KEY_F8>,
> + <KEY_F9>,
> + <KEY_F10>,
> + <KEY_F1>,
> + <KEY_F2>,
> + <KEY_F3>,
> + <KEY_POWER>;
> + };
> + };
> +
> + xtali: oscillator {
> + compatible = "fixed-clock";
> + #clock-cells = <0>;
> + clock-frequency = <14745600>;
> + clock-output-names = "xtali";
> + };
> +
> + i2c0: i2c0 {
i2c or i2c-0
> + compatible = "i2c-gpio";
> + sda-gpios = <&gpio6 1 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
> + scl-gpios = <&gpio6 0 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + status = "disabled";
Wait, what? Why this is disabled? If this is part of the SoC, although
hardly looks like, then it should be complete. What is missing? How one
could design SoC with incomplete GPIO I2C controller?
> + };
> +
> + leds {
> + compatible = "gpio-leds";
I really doubt this is property of the SoC. Please double check as it
really looks wrong.
> + led0 {
led-0
> + label = "grled";
> + gpios = <&gpio4 0 GPIO_ACTIVE_HIGH>;
> + linux,default-trigger = "heartbeat";
> + function = LED_FUNCTION_HEARTBEAT;
> + };
> +
> + led1 {
led-1
> + label = "rdled";
> + gpios = <&gpio4 1 GPIO_ACTIVE_HIGH>;
> + function = LED_FUNCTION_FAULT;
> + };
> + };
> +};
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 41/43] ARM: dts: ep93xx: Add I2S and AC97 nodes
2023-06-01 5:45 ` [PATCH v1 41/43] ARM: dts: ep93xx: Add I2S and AC97 nodes Nikita Shubin
@ 2023-06-01 8:31 ` Krzysztof Kozlowski
0 siblings, 0 replies; 118+ messages in thread
From: Krzysztof Kozlowski @ 2023-06-01 8:31 UTC (permalink / raw)
To: Nikita Shubin, Alexander Sverdlin, Arnd Bergmann, Linus Walleij,
Rob Herring, Krzysztof Kozlowski
Cc: Michael Peters, Kris Bahnsen, devicetree, linux-kernel
On 01/06/2023 07:45, Nikita Shubin wrote:
> From: Alexander Sverdlin <alexander.sverdlin@gmail.com>
>
> Add the audio interfaces present in EP93xx SoCs.
>
> Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
> arch/arm/boot/dts/ep93xx.dtsi | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/arch/arm/boot/dts/ep93xx.dtsi b/arch/arm/boot/dts/ep93xx.dtsi
> index 6da556ceaf04..c8028534dda7 100644
> --- a/arch/arm/boot/dts/ep93xx.dtsi
> +++ b/arch/arm/boot/dts/ep93xx.dtsi
> @@ -301,6 +301,17 @@ ide: ide@800a0000 {
> pinctrl-0 = <&ide_default_pins>;
> };
>
> + ac97: ac97@80880000 {
> + compatible = "cirrus,ep9301-ac97";
> + #sound-dai-cells = <0>;
> + reg = <0x80880000 0xac>;
> + interrupt-parent = <&vic0>;
> + interrupts = <6>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&ac97_default_pins>;
> + status = "disabled";
Squash it. There are no i2s nodes here, so your description is not
accurate and new DTSI should be one patch. You can release early,
release often, but then these would be separate submissions.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 42/43] ARM: dts: ep93xx: Add EDB9302 DT
2023-06-01 5:45 ` [PATCH v1 42/43] ARM: dts: ep93xx: Add EDB9302 DT Nikita Shubin
@ 2023-06-01 8:33 ` Krzysztof Kozlowski
0 siblings, 0 replies; 118+ messages in thread
From: Krzysztof Kozlowski @ 2023-06-01 8:33 UTC (permalink / raw)
To: Nikita Shubin, Alexander Sverdlin, Arnd Bergmann, Linus Walleij,
Rob Herring, Krzysztof Kozlowski
Cc: Michael Peters, Kris Bahnsen, devicetree, linux-kernel
On 01/06/2023 07:45, Nikita Shubin wrote:
> From: Alexander Sverdlin <alexander.sverdlin@gmail.com>
>
> Add device tree for Cirrus EDB9302.
>
> Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
>
> Notes:
> v0 -> v1:
>
> - added USB
> - dropped 'Missing USB' in commit message
> - add mdio + eth phy
>
> arch/arm/boot/dts/ep93xx-edb9302.dts | 160 +++++++++++++++++++++++++++
> 1 file changed, 160 insertions(+)
> create mode 100644 arch/arm/boot/dts/ep93xx-edb9302.dts
>
> diff --git a/arch/arm/boot/dts/ep93xx-edb9302.dts b/arch/arm/boot/dts/ep93xx-edb9302.dts
> new file mode 100644
> index 000000000000..3ec89f7587db
> --- /dev/null
> +++ b/arch/arm/boot/dts/ep93xx-edb9302.dts
> @@ -0,0 +1,160 @@
> +// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +/*
> + * Device Tree file for Cirrus Logic EDB9302 board based on EP9302 SoC
> + */
> +/dts-v1/;
> +#include "ep93xx.dtsi"
> +
> +/ {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + compatible = "cirrus,edb9302", "cirrus,ep9301";
> + model = "cirrus,edb9302";
> +
> + chosen {
> + };
> +
> + memory {
> + device_type = "memory";
> + };
> +
> + soc {
> + flash@60000000 {
Same comments - override by label/phandle.
> + compatible = "cfi-flash";
> + reg = <0x60000000 0x1000000>;
Are you sure that your board adds things to the SoC? The code suggests
that, but I would like to see such circuit.
> + bank-width = <2>;
> + };
> + };
> +
> + sound {
> + compatible = "simple-audio-card";
> + simple-audio-card,name = "EDB93XX";
> + simple-audio-card,format = "i2s";
> + simple-audio-card,mclk-fs = <256>;
> + simple-audio-card,convert-channels = <2>;
> + simple-audio-card,convert-sample-format = "s32_le";
> +
> + simple-audio-card,cpu {
> + sound-dai = <&i2s>;
> + system-clock-direction-out;
> + frame-master;
> + bitclock-master;
> + dai-sample-format = "s32_le";
> + dai-channels = <2>;
> + };
> +
> + simple-audio-card,codec {
> + sound-dai = <&codec>;
> + };
> + };
> +};
> +
> +&pinctrl {
> + compatible = "cirrus,ep9301-pinctrl";
> +};
> +
> +&gpio0 {
> + gpio-ranges = <&pinctrl 0 153 1>,
> + <&pinctrl 1 152 1>,
> + <&pinctrl 2 151 1>,
> + <&pinctrl 3 148 1>,
> + <&pinctrl 4 147 1>,
> + <&pinctrl 5 146 1>,
> + <&pinctrl 6 145 1>,
> + <&pinctrl 7 144 1>;
> +};
> +
> +&gpio1 {
> + gpio-ranges = <&pinctrl 0 143 1>,
> + <&pinctrl 1 142 1>,
> + <&pinctrl 2 141 1>,
> + <&pinctrl 3 140 1>,
> + <&pinctrl 4 165 1>,
> + <&pinctrl 5 164 1>,
> + <&pinctrl 6 163 1>,
> + <&pinctrl 7 160 1>;
> +};
> +
> +&gpio2 {
> + gpio-ranges = <&pinctrl 0 115 1>;
> + /delete-property/ status;
???
> + /delete-property/ pinctrl-0;
> + /delete-property/ pinctrl-names;
???
I have no clue what you are trying to achieve here but this is a proof
your DTSI is bogus.
You should never remove statuses. You should never need to remove
pinctrl as these are board dependent, not SoC. If you remove them, it
means they are not part of SoC in the first place!
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 17/43] dt-bindings: spi: Add Cirrus EP93xx
2023-06-01 5:34 ` [PATCH v1 17/43] dt-bindings: spi: " Nikita Shubin
2023-06-01 8:16 ` Krzysztof Kozlowski
@ 2023-06-01 11:17 ` Mark Brown
2023-06-01 12:41 ` Nikita Shubin
1 sibling, 1 reply; 118+ messages in thread
From: Mark Brown @ 2023-06-01 11:17 UTC (permalink / raw)
To: Nikita Shubin
Cc: Alexander Sverdlin, Arnd Bergmann, Linus Walleij, Rob Herring,
Krzysztof Kozlowski, Michael Peters, Kris Bahnsen, linux-spi,
devicetree, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 655 bytes --]
On Thu, Jun 01, 2023 at 08:34:08AM +0300, Nikita Shubin wrote:
> + cirrus,ep9301-use-dma:
> + description: Flag indicating that the SPI should use dma
> + type: boolean
My previous feedback on this property still applies.
Please don't ignore review comments, people are generally making them
for a reason and are likely to have the same concerns if issues remain
unaddressed. Having to repeat the same comments can get repetitive and
make people question the value of time spent reviewing. If you disagree
with the review comments that's fine but you need to reply and discuss
your concerns so that the reviewer can understand your decisions.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 17/43] dt-bindings: spi: Add Cirrus EP93xx
2023-06-01 11:17 ` Mark Brown
@ 2023-06-01 12:41 ` Nikita Shubin
2023-06-01 12:55 ` Mark Brown
0 siblings, 1 reply; 118+ messages in thread
From: Nikita Shubin @ 2023-06-01 12:41 UTC (permalink / raw)
To: Mark Brown
Cc: Alexander Sverdlin, Arnd Bergmann, Linus Walleij, Rob Herring,
Krzysztof Kozlowski, Michael Peters, Kris Bahnsen, linux-spi,
devicetree, linux-kernel
Hello Mark!
On Thu, 1 Jun 2023 12:17:27 +0100
Mark Brown <broonie@kernel.org> wrote:
> On Thu, Jun 01, 2023 at 08:34:08AM +0300, Nikita Shubin wrote:
>
> > + cirrus,ep9301-use-dma:
> > + description: Flag indicating that the SPI should use dma
> > + type: boolean
>
> My previous feedback on this property still applies.
>
> Please don't ignore review comments, people are generally making them
> for a reason and are likely to have the same concerns if issues remain
> unaddressed. Having to repeat the same comments can get repetitive
> and make people question the value of time spent reviewing. If you
> disagree with the review comments that's fine but you need to reply
> and discuss your concerns so that the reviewer can understand your
> decisions.
Sorry - that was totally unintentional, i was tinkering with spi and
got distracted on other part of this series (it's quite big for me,
first time tinkering with a series more than 5-6 patches).
> > + cirrus,ep9301-use-dma:
The reason is that ep93xx DMA state is not quite device-tree ready at
this moment, and clients use it with the help of:
https://elixir.bootlin.com/linux/v6.4-rc4/source/include/linux/platform_data/dma-ep93xx.h
I was hoping to slip by without changing much in ep93xx DMA driver, so
i can deal with it later, especially seeing it's having some quirks
like:
https://elixir.bootlin.com/linux/v6.4-rc4/source/drivers/dma/ep93xx_dma.c#L471
And edb93xx and bk3 don't set use_dma with SPI for some reason.
I can move "use-dma" to module parameters, if this is acceptable.
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 17/43] dt-bindings: spi: Add Cirrus EP93xx
2023-06-01 12:41 ` Nikita Shubin
@ 2023-06-01 12:55 ` Mark Brown
2023-06-01 13:15 ` Nikita Shubin
0 siblings, 1 reply; 118+ messages in thread
From: Mark Brown @ 2023-06-01 12:55 UTC (permalink / raw)
To: Nikita Shubin
Cc: Alexander Sverdlin, Arnd Bergmann, Linus Walleij, Rob Herring,
Krzysztof Kozlowski, Michael Peters, Kris Bahnsen, linux-spi,
devicetree, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 1126 bytes --]
On Thu, Jun 01, 2023 at 03:41:54PM +0300, Nikita Shubin wrote:
> Mark Brown <broonie@kernel.org> wrote:
> > On Thu, Jun 01, 2023 at 08:34:08AM +0300, Nikita Shubin wrote:
> > > + cirrus,ep9301-use-dma:
> > > + description: Flag indicating that the SPI should use dma
> > > + type: boolean
> > My previous feedback on this property still applies.
> > > + cirrus,ep9301-use-dma:
> The reason is that ep93xx DMA state is not quite device-tree ready at
> this moment, and clients use it with the help of:
> https://elixir.bootlin.com/linux/v6.4-rc4/source/include/linux/platform_data/dma-ep93xx.h
> I was hoping to slip by without changing much in ep93xx DMA driver, so
You're definign new ABI here, that's not a good thing to do for a
temporary workaround.
> I can move "use-dma" to module parameters, if this is acceptable.
That's less bad. I guess you could also define the bindings for the DMA
controller so that the properties are there then instead of properly
using the DMA API in the clients just check to see if the DMA properties
are present and then proceed accordingly?
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 17/43] dt-bindings: spi: Add Cirrus EP93xx
2023-06-01 12:55 ` Mark Brown
@ 2023-06-01 13:15 ` Nikita Shubin
0 siblings, 0 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-06-01 13:15 UTC (permalink / raw)
To: Mark Brown
Cc: Alexander Sverdlin, Arnd Bergmann, Linus Walleij, Rob Herring,
Krzysztof Kozlowski, Michael Peters, Kris Bahnsen, linux-spi,
devicetree, linux-kernel
On Thu, 1 Jun 2023 13:55:03 +0100
Mark Brown <broonie@kernel.org> wrote:
> On Thu, Jun 01, 2023 at 03:41:54PM +0300, Nikita Shubin wrote:
> > Mark Brown <broonie@kernel.org> wrote:
> > > On Thu, Jun 01, 2023 at 08:34:08AM +0300, Nikita Shubin wrote:
>
> > > > + cirrus,ep9301-use-dma:
> > > > + description: Flag indicating that the SPI should use dma
> > > > + type: boolean
>
> > > My previous feedback on this property still applies.
>
> > > > + cirrus,ep9301-use-dma:
>
> > The reason is that ep93xx DMA state is not quite device-tree ready
> > at this moment, and clients use it with the help of:
>
> > https://elixir.bootlin.com/linux/v6.4-rc4/source/include/linux/platform_data/dma-ep93xx.h
> >
>
> > I was hoping to slip by without changing much in ep93xx DMA driver,
> > so
>
> You're definign new ABI here, that's not a good thing to do for a
> temporary workaround.
>
> > I can move "use-dma" to module parameters, if this is acceptable.
>
> That's less bad. I guess you could also define the bindings for the
> DMA controller so that the properties are there then instead of
> properly using the DMA API in the clients just check to see if the
> DMA properties are present and then proceed accordingly?
This sounds like a way to go. Thank you, Mark!
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 25/43] dt-bindings: ata: Add Cirrus EP93xx
2023-06-01 5:45 ` [PATCH v1 25/43] dt-bindings: ata: Add Cirrus EP93xx Nikita Shubin
@ 2023-06-01 23:57 ` Damien Le Moal
2023-06-04 19:24 ` Nikita Shubin
2023-06-14 19:00 ` Rob Herring
0 siblings, 2 replies; 118+ messages in thread
From: Damien Le Moal @ 2023-06-01 23:57 UTC (permalink / raw)
To: Nikita Shubin, Alexander Sverdlin, Arnd Bergmann, Linus Walleij,
Rob Herring, Krzysztof Kozlowski
Cc: Michael Peters, Kris Bahnsen, linux-ide, devicetree, linux-kernel
On 6/1/23 14:45, Nikita Shubin wrote:
> Add YAML bindings for ep93xx SoC PATA.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
>
> Notes:
> v0 -> v1:
>
> - renamed file to ep9312-pata
Looks OK to me but given that this is both for the cirrus,ep9315-pata and
cirrus,ep9312-pata, wouldn't it be better to name the file
cirrus,ep931x-pata.yaml ?
> - changed email to dlemoal@kernel.org
> - dropped label
> - fixed ident
>
> .../bindings/ata/cirrus,ep9312-pata.yaml | 44 +++++++++++++++++++
> 1 file changed, 44 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/ata/cirrus,ep9312-pata.yaml
>
> diff --git a/Documentation/devicetree/bindings/ata/cirrus,ep9312-pata.yaml b/Documentation/devicetree/bindings/ata/cirrus,ep9312-pata.yaml
> new file mode 100644
> index 000000000000..3489be55a6fe
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/ata/cirrus,ep9312-pata.yaml
> @@ -0,0 +1,44 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/ata/cirrus,ep9312-pata.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Cirrus Logic EP9312 PATA controller
> +
> +maintainers:
> + - Damien Le Moal <dlemoal@kernel.org>
> +
> +properties:
> + compatible:
> + oneOf:
> + - const: cirrus,ep9312-pata
I am not a DT specialist, but isn't this line superfluous since it is listed in
the items ?
> + - items:
> + - const: cirrus,ep9315-pata
> + - const: cirrus,ep9312-pata
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + ide@800a0000 {
> + compatible = "cirrus,ep9312-pata";
> + reg = <0x800a0000 0x38>;
> + interrupt-parent = <&vic1>;
> + interrupts = <8>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&ide_default_pins>;
> + };
> +
> +...
--
Damien Le Moal
Western Digital Research
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 33/43] dt-bindings: gpio: Add Cirrus EP93xx
2023-06-01 8:20 ` Krzysztof Kozlowski
@ 2023-06-02 7:40 ` Linus Walleij
2023-06-13 14:55 ` Bartosz Golaszewski
0 siblings, 1 reply; 118+ messages in thread
From: Linus Walleij @ 2023-06-02 7:40 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Nikita Shubin, Alexander Sverdlin, Arnd Bergmann,
Bartosz Golaszewski, Rob Herring, Krzysztof Kozlowski,
Michael Peters, Kris Bahnsen, linux-gpio, devicetree,
linux-kernel
On Thu, Jun 1, 2023 at 10:20 AM Krzysztof Kozlowski
<krzysztof.kozlowski@linaro.org> wrote:
> > +title: EP93xx GPIO controller
> > +
> > +maintainers:
> > + - Linus Walleij <linus.walleij@linaro.org>
> > + - Bartosz Golaszewski <brgl@bgdev.pl>
>
> Did you choose correct maintainers? Bartosz, Linus, do you take care
> about EP93xx platform?
I'm fine with it (I have a platform).
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 25/43] dt-bindings: ata: Add Cirrus EP93xx
2023-06-01 23:57 ` Damien Le Moal
@ 2023-06-04 19:24 ` Nikita Shubin
2023-06-14 19:00 ` Rob Herring
1 sibling, 0 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-06-04 19:24 UTC (permalink / raw)
To: Damien Le Moal, Alexander Sverdlin, Arnd Bergmann, Linus Walleij,
Rob Herring, Krzysztof Kozlowski
Cc: Michael Peters, Kris Bahnsen, linux-ide, devicetree, linux-kernel
Hello Damien!
On Fri, 2023-06-02 at 08:57 +0900, Damien Le Moal wrote:
> On 6/1/23 14:45, Nikita Shubin wrote:
> > Add YAML bindings for ep93xx SoC PATA.
> >
> > Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> > ---
> >
> > Notes:
> > v0 -> v1:
> >
> > - renamed file to ep9312-pata
>
> Looks OK to me but given that this is both for the cirrus,ep9315-pata
> and
> cirrus,ep9312-pata, wouldn't it be better to name the file
> cirrus,ep931x-pata.yaml ?
I was advised against using wildcards by Arnd and Krzysztof.
See
https://lore.kernel.org/all/c981e048-8925-deba-6916-9199844976b9@linaro.org/
As i understood we should have at least one fallback, in out case it's
"cirrus,ep9312-pata" and one for each SoC variant that supports it.
All other comments acknowledged and agreed.
I will also change
```
>> + if (!drv_data)
>> + return -ENXIO;
```
To ENOMEM, as a part of dt conversion patch in v2.
>
>
> > - changed email to dlemoal@kernel.org
> > - dropped label
> > - fixed ident
> >
> > .../bindings/ata/cirrus,ep9312-pata.yaml | 44
> > +++++++++++++++++++
> > 1 file changed, 44 insertions(+)
> > create mode 100644
> > Documentation/devicetree/bindings/ata/cirrus,ep9312-pata.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/ata/cirrus,ep9312-
> > pata.yaml b/Documentation/devicetree/bindings/ata/cirrus,ep9312-
> > pata.yaml
> > new file mode 100644
> > index 000000000000..3489be55a6fe
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/ata/cirrus,ep9312-pata.yaml
> > @@ -0,0 +1,44 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/ata/cirrus,ep9312-pata.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Cirrus Logic EP9312 PATA controller
> > +
> > +maintainers:
> > + - Damien Le Moal <dlemoal@kernel.org>
> > +
> > +properties:
> > + compatible:
> > + oneOf:
> > + - const: cirrus,ep9312-pata
>
> I am not a DT specialist, but isn't this line superfluous since it is
> listed in
> the items ?
>
> > + - items:
> > + - const: cirrus,ep9315-pata
> > + - const: cirrus,ep9312-pata
> > +
> > + reg:
> > + maxItems: 1
> > +
> > + interrupts:
> > + maxItems: 1
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - interrupts
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > + - |
> > + ide@800a0000 {
> > + compatible = "cirrus,ep9312-pata";
> > + reg = <0x800a0000 0x38>;
> > + interrupt-parent = <&vic1>;
> > + interrupts = <8>;
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&ide_default_pins>;
> > + };
> > +
> > +...
>
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 27/43] dt-bindings: input: Add Cirrus EP93xx keypad
2023-06-01 5:45 ` [PATCH v1 27/43] dt-bindings: input: Add Cirrus EP93xx keypad Nikita Shubin
2023-06-01 8:24 ` Rob Herring
@ 2023-06-08 15:01 ` Rob Herring
1 sibling, 0 replies; 118+ messages in thread
From: Rob Herring @ 2023-06-08 15:01 UTC (permalink / raw)
To: Nikita Shubin
Cc: Alexander Sverdlin, Arnd Bergmann, Linus Walleij, Dmitry Torokhov,
Krzysztof Kozlowski, Michael Peters, Kris Bahnsen, linux-input,
devicetree, linux-kernel
On Thu, Jun 01, 2023 at 08:45:32AM +0300, Nikita Shubin wrote:
> Add YAML bindings for ep93xx SoC keypad.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
>
> Notes:
> v0 -> v1:
>
> - remove almost all but debounce-delay-ms and prescale
> - s/ep9301-keypad/ep9307-keypad/ it's actually only for
> ep9307, ep9312, ep9315
>
> Krzysztof Kozlowski:
> - renamed file
> - changed maintainers
> - dropped quotes
> - dropped clock-names
> - use fallback compatible and list all possible compatibles
> - fix ident
>
> .../bindings/input/cirrus,ep9307-keypad.yaml | 86 +++++++++++++++++++
> 1 file changed, 86 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/input/cirrus,ep9307-keypad.yaml
>
> diff --git a/Documentation/devicetree/bindings/input/cirrus,ep9307-keypad.yaml b/Documentation/devicetree/bindings/input/cirrus,ep9307-keypad.yaml
> new file mode 100644
> index 000000000000..c7eb10a84a6b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/input/cirrus,ep9307-keypad.yaml
> @@ -0,0 +1,86 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/input/cirrus,ep9307-keypad.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Cirrus ep93xx keypad
> +
> +maintainers:
> + - Alexander Sverdlin <alexander.sverdlin@gmail.com>
> +
> +allOf:
> + - $ref: /schemas/input/matrix-keymap.yaml#
> +
> +description: |
Don't need '|'.
> + The KPP is designed to interface with a keypad matrix with 2-point contact
> + or 3-point contact keys. The KPP is designed to simplify the software task
> + of scanning a keypad matrix. The KPP is capable of detecting, debouncing,
> + and decoding one or multiple keys pressed simultaneously on a keypad.
> +
> +properties:
> + compatible:
> + oneOf:
> + - const: cirrus,ep9307-keypad
> + - items:
> + - enum:
> + - cirrus,ep9312-keypad
> + - cirrus,ep9315-keypad
> + - const: cirrus,ep9307-keypad
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 1
> +
> + cirrus,debounce-delay-ms:
Use the somewhat standard 'debounce-delay-ms'.
> + description: |
> + Time in microseconds that key must be pressed or
> + released for state change interrupt to trigger.
> +
> + cirrus,prescale:
> + description: row/column counter pre-scaler load value
> + $ref: /schemas/types.yaml#/definitions/uint32
Constraints?
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - clocks
> + - linux,keymap
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/clock/cirrus,ep93xx-clock.h>
> + #include <dt-bindings/input/input.h>
> + keypad@800f0000 {
> + compatible = "cirrus,ep9301-keypad";
> + reg = <0x800f0000 0x0c>;
> + interrupt-parent = <&vic0>;
> + interrupts = <29>;
> + clocks = <&syscon EP93XX_CLK_KEYPAD>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&keypad_default_pins>;
> + linux,keymap = <KEY_UP>,
> + <KEY_DOWN>,
> + <KEY_VOLUMEDOWN>,
> + <KEY_HOME>,
> + <KEY_RIGHT>,
> + <KEY_LEFT>,
> + <KEY_ENTER>,
> + <KEY_VOLUMEUP>,
> + <KEY_F6>,
> + <KEY_F8>,
> + <KEY_F9>,
> + <KEY_F10>,
> + <KEY_F1>,
> + <KEY_F2>,
> + <KEY_F3>,
> + <KEY_POWER>;
> + };
> --
> 2.37.4
>
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 33/43] dt-bindings: gpio: Add Cirrus EP93xx
2023-06-02 7:40 ` Linus Walleij
@ 2023-06-13 14:55 ` Bartosz Golaszewski
2023-06-13 18:09 ` Linus Walleij
0 siblings, 1 reply; 118+ messages in thread
From: Bartosz Golaszewski @ 2023-06-13 14:55 UTC (permalink / raw)
To: Linus Walleij
Cc: Krzysztof Kozlowski, Nikita Shubin, Alexander Sverdlin,
Arnd Bergmann, Rob Herring, Krzysztof Kozlowski, Michael Peters,
Kris Bahnsen, linux-gpio, devicetree, linux-kernel
On Fri, Jun 2, 2023 at 9:41 AM Linus Walleij <linus.walleij@linaro.org> wrote:
>
> On Thu, Jun 1, 2023 at 10:20 AM Krzysztof Kozlowski
> <krzysztof.kozlowski@linaro.org> wrote:
>
> > > +title: EP93xx GPIO controller
> > > +
> > > +maintainers:
> > > + - Linus Walleij <linus.walleij@linaro.org>
> > > + - Bartosz Golaszewski <brgl@bgdev.pl>
> >
> > Did you choose correct maintainers? Bartosz, Linus, do you take care
> > about EP93xx platform?
>
> I'm fine with it (I have a platform).
I don't but I'm actually not sure how DT bindings maintainership works
- do GPIO bindings all fall under the GPIO jurisdiction automatically?
Bart
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 33/43] dt-bindings: gpio: Add Cirrus EP93xx
2023-06-13 14:55 ` Bartosz Golaszewski
@ 2023-06-13 18:09 ` Linus Walleij
0 siblings, 0 replies; 118+ messages in thread
From: Linus Walleij @ 2023-06-13 18:09 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: Krzysztof Kozlowski, Nikita Shubin, Alexander Sverdlin,
Arnd Bergmann, Rob Herring, Krzysztof Kozlowski, Michael Peters,
Kris Bahnsen, linux-gpio, devicetree, linux-kernel
On Tue, Jun 13, 2023 at 4:55 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> On Fri, Jun 2, 2023 at 9:41 AM Linus Walleij <linus.walleij@linaro.org> wrote:
> > On Thu, Jun 1, 2023 at 10:20 AM Krzysztof Kozlowski
> > <krzysztof.kozlowski@linaro.org> wrote:
> > > Did you choose correct maintainers? Bartosz, Linus, do you take care
> > > about EP93xx platform?
> >
> > I'm fine with it (I have a platform).
>
> I don't but I'm actually not sure how DT bindings maintainership works
> - do GPIO bindings all fall under the GPIO jurisdiction automatically?
Not really, more on the people selected by the person writing the
bindings, confirmed by them being merged.
Traditionally, Linux as the biggest software project with the most
active subsystem maintainers do the reviewing and take the
responsibility for them.
Technically, e.g. BSD people could appear
on the devicetree mailinglist and review patches and suggest
maintainership from their side, but I haven't seen them much
around. Neither Apple Computer or anyone else who ought
to be there but isn't.
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 25/43] dt-bindings: ata: Add Cirrus EP93xx
2023-06-01 23:57 ` Damien Le Moal
2023-06-04 19:24 ` Nikita Shubin
@ 2023-06-14 19:00 ` Rob Herring
2023-06-15 0:49 ` Damien Le Moal
1 sibling, 1 reply; 118+ messages in thread
From: Rob Herring @ 2023-06-14 19:00 UTC (permalink / raw)
To: Damien Le Moal
Cc: Nikita Shubin, Alexander Sverdlin, Arnd Bergmann, Linus Walleij,
Krzysztof Kozlowski, Michael Peters, Kris Bahnsen, linux-ide,
devicetree, linux-kernel
On Fri, Jun 02, 2023 at 08:57:37AM +0900, Damien Le Moal wrote:
> On 6/1/23 14:45, Nikita Shubin wrote:
> > Add YAML bindings for ep93xx SoC PATA.
> >
> > Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> > ---
> >
> > Notes:
> > v0 -> v1:
> >
> > - renamed file to ep9312-pata
>
> Looks OK to me but given that this is both for the cirrus,ep9315-pata and
> cirrus,ep9312-pata, wouldn't it be better to name the file
> cirrus,ep931x-pata.yaml ?
cirrus,ep9312-pata makes sense given that is the common fallback.
Wildcards are okay in filenames (only) when there's not a common
fallback.
> > - changed email to dlemoal@kernel.org
> > - dropped label
> > - fixed ident
> >
> > .../bindings/ata/cirrus,ep9312-pata.yaml | 44 +++++++++++++++++++
> > 1 file changed, 44 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/ata/cirrus,ep9312-pata.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/ata/cirrus,ep9312-pata.yaml b/Documentation/devicetree/bindings/ata/cirrus,ep9312-pata.yaml
> > new file mode 100644
> > index 000000000000..3489be55a6fe
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/ata/cirrus,ep9312-pata.yaml
> > @@ -0,0 +1,44 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/ata/cirrus,ep9312-pata.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Cirrus Logic EP9312 PATA controller
> > +
> > +maintainers:
> > + - Damien Le Moal <dlemoal@kernel.org>
> > +
> > +properties:
> > + compatible:
> > + oneOf:
> > + - const: cirrus,ep9312-pata
>
> I am not a DT specialist, but isn't this line superfluous since it is listed in
> the items ?
No, this entry is for ep9312. The next entry is for ep9315 which is
compatible with ep9312 version. The cirrus,ep9315-pata is there in case
a distinction (e.g. quirk/errata) needs to be made by the driver
without having to change the DT.
Rob
>
> > + - items:
> > + - const: cirrus,ep9315-pata
> > + - const: cirrus,ep9312-pata
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 25/43] dt-bindings: ata: Add Cirrus EP93xx
2023-06-14 19:00 ` Rob Herring
@ 2023-06-15 0:49 ` Damien Le Moal
0 siblings, 0 replies; 118+ messages in thread
From: Damien Le Moal @ 2023-06-15 0:49 UTC (permalink / raw)
To: Rob Herring
Cc: Nikita Shubin, Alexander Sverdlin, Arnd Bergmann, Linus Walleij,
Krzysztof Kozlowski, Michael Peters, Kris Bahnsen, linux-ide,
devicetree, linux-kernel
On 6/15/23 04:00, Rob Herring wrote:
> On Fri, Jun 02, 2023 at 08:57:37AM +0900, Damien Le Moal wrote:
>> On 6/1/23 14:45, Nikita Shubin wrote:
>>> Add YAML bindings for ep93xx SoC PATA.
>>>
>>> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
>>> ---
>>>
>>> Notes:
>>> v0 -> v1:
>>>
>>> - renamed file to ep9312-pata
>>
>> Looks OK to me but given that this is both for the cirrus,ep9315-pata and
>> cirrus,ep9312-pata, wouldn't it be better to name the file
>> cirrus,ep931x-pata.yaml ?
>
> cirrus,ep9312-pata makes sense given that is the common fallback.
>
> Wildcards are okay in filenames (only) when there's not a common
> fallback.
Got it.
>
>>> - changed email to dlemoal@kernel.org
>>> - dropped label
>>> - fixed ident
>>>
>>> .../bindings/ata/cirrus,ep9312-pata.yaml | 44 +++++++++++++++++++
>>> 1 file changed, 44 insertions(+)
>>> create mode 100644 Documentation/devicetree/bindings/ata/cirrus,ep9312-pata.yaml
>>>
>>> diff --git a/Documentation/devicetree/bindings/ata/cirrus,ep9312-pata.yaml b/Documentation/devicetree/bindings/ata/cirrus,ep9312-pata.yaml
>>> new file mode 100644
>>> index 000000000000..3489be55a6fe
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/ata/cirrus,ep9312-pata.yaml
>>> @@ -0,0 +1,44 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/ata/cirrus,ep9312-pata.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Cirrus Logic EP9312 PATA controller
>>> +
>>> +maintainers:
>>> + - Damien Le Moal <dlemoal@kernel.org>
>>> +
>>> +properties:
>>> + compatible:
>>> + oneOf:
>>> + - const: cirrus,ep9312-pata
>>
>> I am not a DT specialist, but isn't this line superfluous since it is listed in
>> the items ?
>
> No, this entry is for ep9312. The next entry is for ep9315 which is
> compatible with ep9312 version. The cirrus,ep9315-pata is there in case
> a distinction (e.g. quirk/errata) needs to be made by the driver
> without having to change the DT.
Thanks for all the clarification.
Looks good then.
Acked-by: Damien Le Moal <dlemoal@kernel.org>
I can take this patch through the ata tree, but it may be better to have it with
the entire series (arm tree ?)
--
Damien Le Moal
Western Digital Research
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 33/43] dt-bindings: gpio: Add Cirrus EP93xx
2023-06-01 5:45 ` [PATCH v1 33/43] dt-bindings: gpio: Add Cirrus EP93xx Nikita Shubin
2023-06-01 8:20 ` Krzysztof Kozlowski
@ 2023-06-16 9:15 ` Bartosz Golaszewski
1 sibling, 0 replies; 118+ messages in thread
From: Bartosz Golaszewski @ 2023-06-16 9:15 UTC (permalink / raw)
To: Nikita Shubin
Cc: Alexander Sverdlin, Arnd Bergmann, Linus Walleij, Rob Herring,
Krzysztof Kozlowski, Michael Peters, Kris Bahnsen, linux-gpio,
devicetree, linux-kernel
On Thu, Jun 1, 2023 at 7:46 AM Nikita Shubin <nikita.shubin@maquefel.me> wrote:
>
> Add YAML bindings for ep93xx SoC gpio controller.
>
> Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> ---
Applied, thanks!
Bart
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 29/43] dt-bindings: rtc: Add ST M48T86
2023-06-01 8:18 ` Krzysztof Kozlowski
@ 2023-06-20 7:30 ` Nikita Shubin
0 siblings, 0 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-06-20 7:30 UTC (permalink / raw)
To: Krzysztof Kozlowski, Alexander Sverdlin, Arnd Bergmann,
Linus Walleij, Alessandro Zummo, Alexandre Belloni, Rob Herring,
Krzysztof Kozlowski
Cc: Michael Peters, Kris Bahnsen, linux-rtc, devicetree, linux-kernel
Hello Krzysztof!
On Thu, 2023-06-01 at 10:18 +0200, Krzysztof Kozlowski wrote:
> On 01/06/2023 07:45, Nikita Shubin wrote:
> > Add YAML bindings for ST M48T86 / Dallas DS12887 RTC.
> >
> > Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> > ---
> >
> > Notes:
> > v0 -> v1:
> >
> > - s/dallas/st/
> > - description for regs
> > - s/additionalProperties/unevaluatedProperties/
> > - add ref rtc.yaml
> > - changed compatible to st,m48t86
> > - dropped label in example
> > - replaced Alessandro Alessandro to Alexandre Belloni
> >
> > .../bindings/rtc/st,m48t86-rtc.yaml | 38
> > +++++++++++++++++++
> > 1 file changed, 38 insertions(+)
> > create mode 100644
> > Documentation/devicetree/bindings/rtc/st,m48t86-rtc.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/rtc/st,m48t86-
> > rtc.yaml b/Documentation/devicetree/bindings/rtc/st,m48t86-rtc.yaml
> > new file mode 100644
> > index 000000000000..eb8e6451d7c8
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/rtc/st,m48t86-rtc.yaml
>
> Filename based on compatible, so drop "rtc".
>
> > @@ -0,0 +1,38 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/rtc/st,m48t86-rtc.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: ST M48T86 / Dallas DS12887 RTC wirh SRAM
>
> typo: with
>
> > +
> > +maintainers:
> > + - Alexandre Belloni <alexandre.belloni@bootlin.com>
> > +
> > +properties:
> > + compatible:
> > + enum:
> > + - st,m48t86
> > +
> > + reg:
> > + items:
> > + - description: index register
> > + - description: data register
> > +
> > +allOf:
> > + - $ref: rtc.yaml
> > +
> > +unevaluatedProperties: false
> > +
> > +required:
> > + - compatible
> > + - reg
>
> required goes after properties:
>
> Keep the same order in all your patches.
>
> > +
> > +examples:
> > + - |
> > + rtc@10800000 {
> > + compatible = "st,m48t86";
> > + reg = <0x10800000 0x1>, <0x11700000 0x1>;
>
> One byte long? Not a word?
They are indeed one byte long:
https://elixir.bootlin.com/linux/v6.4-rc7/source/drivers/rtc/rtc-m48t86.c#L46
>
> > + };
> > +
> > +...
>
> Best regards,
> Krzysztof
>
^ permalink raw reply [flat|nested] 118+ messages in thread
* Re: [PATCH v1 35/43] ARM: dts: add device tree for ep93xx Soc
2023-06-01 8:30 ` Krzysztof Kozlowski
@ 2023-07-05 16:06 ` Nikita Shubin
0 siblings, 0 replies; 118+ messages in thread
From: Nikita Shubin @ 2023-07-05 16:06 UTC (permalink / raw)
To: Krzysztof Kozlowski, Alexander Sverdlin, Arnd Bergmann,
Linus Walleij, Olof Johansson, soc, Rob Herring,
Krzysztof Kozlowski
Cc: Michael Peters, Kris Bahnsen, linux-arm-kernel, devicetree,
linux-kernel
Hello Krzysztof!
On Thu, 2023-06-01 at 10:30 +0200, Krzysztof Kozlowski wrote:
> On 01/06/2023 07:45, Nikita Shubin wrote:
> > This adds a divice for Cirrus ep93xx SoC amd ts7250 board that has
> > been
>
> device
>
> > my testing target for ep93xx device support.
> >
> > Also inluded device tree for Liebherr BK3.1 board through it's not
> > a
>
> included
>
> > complete support.
>
> Thank you for your patch. There is something to discuss/improve.
>
>
> >
> > Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
> > ---
> >
> > Notes:
> > v0 -> v1:
> >
> > - add empty chosen node
> > - s/dallas,rtc-m48t86/st,m48t86/
> > - changed phy_id to phy-handle
> > - dropped gpio chip-label's
> > - s/eth@80010000/ethernet@80010000
> > - s/use_dma/ep9301,use-dma
> > - added i2s to bk3
> >
> > arch/arm/boot/dts/Makefile | 1 +
> > arch/arm/boot/dts/ep93xx-bk3.dts | 119 +++++++
> > arch/arm/boot/dts/ep93xx-ts7250.dts | 132 ++++++++
> > arch/arm/boot/dts/ep93xx.dtsi | 466
> > ++++++++++++++++++++++++++++
>
> Split adding DTSI from adding boards.
>
> > 4 files changed, 718 insertions(+)
> > create mode 100644 arch/arm/boot/dts/ep93xx-bk3.dts
> > create mode 100644 arch/arm/boot/dts/ep93xx-ts7250.dts
> > create mode 100644 arch/arm/boot/dts/ep93xx.dtsi
> >
> > diff --git a/arch/arm/boot/dts/Makefile
> > b/arch/arm/boot/dts/Makefile
> > index 59829fc90315..a68f868fffe7 100644
> > --- a/arch/arm/boot/dts/Makefile
> > +++ b/arch/arm/boot/dts/Makefile
> > @@ -1670,3 +1670,4 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
> > aspeed-bmc-vegman-n110.dtb \
> > aspeed-bmc-vegman-rx20.dtb \
> > aspeed-bmc-vegman-sx20.dtb
> > +dtb-$(CONFIG_ARCH_EP93XX) += ep93xx-ts7250.dtb
> > diff --git a/arch/arm/boot/dts/ep93xx-bk3.dts
> > b/arch/arm/boot/dts/ep93xx-bk3.dts
> > new file mode 100644
> > index 000000000000..215587c498e6
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/ep93xx-bk3.dts
> > @@ -0,0 +1,119 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * Device Tree file for Liebherr controller BK3.1 based on Cirrus
> > EP9302 SoC
> > + */
> > +/dts-v1/;
> > +#include "ep93xx.dtsi"
> > +
> > +/ {
> > + model = "Liebherr controller BK3.1";
> > + compatible = "liebherr,bk3", "cirrus,ep9301";
> > +
> > + chosen {
> > + };
> > +
> > + memory {
> > + device_type = "memory";
> > + };
> > +
> > + soc {
> > + nand-controller@60000000 {
>
> Override/extend by label/phandle.
>
> > + compatible = "technologic,ts7200-nand";
> > + reg = <0x60000000 0x8000000>;
> > + #address-cells = <1>;
> > + #size-cells = <1>;
> > +
> > + partitions {
> > + compatible = "fixed-partitions";
> > + #address-cells = <1>;
> > + #size-cells = <1>;
> > +
> > + partition@0 {
> > + label = "System";
> > + reg = <0x00000000
> > 0x01e00000>;
> > + read-only;
> > + };
> > +
> > + partition@1e00000 {
> > + label = "Data";
> > + reg = <0x01e00000
> > 0x05f20000>;
> > + };
> > +
> > + partition@7d20000 {
> > + label = "RedBoot";
> > + reg = <0x07d20000
> > 0x002e0000>;
> > + read-only;
> > + };
> > + };
> > + };
> > +
> > + syscon: syscon@80930000 {
>
> Override/extend by label/phandle.
>
> > + pinctrl: pinctrl {
> > + compatible = "cirrus,ep9301-
> > pinctrl";
>
> Why this is board specific?
You are right - it's SoC specific, but currently we only have boards
with ep9302 with according device trees:
- ts7250
- bk3
- edb9302
We were hoping someone with other SoC's will join - like Hartley
Sweeten with Vision Engraving Systems EP9307 SoM, but no one showed up.
I've changed added compatible "cirrus,ep9301-pinctrl" in ep93xx.dtsi as
default and removed from all other board .dts.
>
> > + };
> > + };
> > +
> > + gpio1: gpio@80840004 {
>
> Override/extend by label/phandle.
>
> > + /* PWM */
> > + gpio-ranges = <&pinctrl 6 163 1>;
> > + };
> > + };
> > +};
> > +
> > +&gpio1 {
> > + /* PWM */
> > + gpio-ranges = <&pinctrl 6 163 1>;
> > +};
> > +
> > +&gpio4 {
> > + gpio-ranges = <&pinctrl 0 97 2>;
> > + status = "okay";
> > +};
> > +
> > +&gpio6 {
> > + gpio-ranges = <&pinctrl 0 87 2>;
> > + status = "okay";
> > +};
> > +
> > +&gpio7 {
> > + gpio-ranges = <&pinctrl 2 199 4>;
> > + status = "okay";
> > +};
> > +
> > +&i2c {
> > + status = "okay";
> > +};
> > +
> > +&spi0: spi@808a0000 {
> > + cs-gpios = <&gpio5 3 0>;
>
> Use proper defines for flags.
>
> > + status = "okay";
>
> What's here? Empty enabled bus?
>
>
> > +};
> > +
> > +ð0 {
> > + phy-handle = <&phy0>;
> > +};
> > +
> > +&mdio0 {
> > + phy0: ethernet-phy@1 {
> > + reg = <1>;
> > + device_type = "ethernet-phy";
> > + };
> > +};
> > +
> > +&uart0 {
> > + status = "okay";
> > +};
> > +
> > +&uart1 {
> > + status = "okay";
> > +};
> > +
> > +&usb {
> > + status = "okay";
> > +};
> > +
> > +&i2s {
>
> Up to you, but I seriously recommend keeping all labels ordered by
> name.
> Avoids conflicts.
>
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&i2s_on_ac97_pins>;
> > + /delete-property/ status;
>
> ??? I don't understand. Why would you do this?
>
> ...
>
> > diff --git a/arch/arm/boot/dts/ep93xx.dtsi
> > b/arch/arm/boot/dts/ep93xx.dtsi
> > new file mode 100644
> > index 000000000000..6da556ceaf04
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/ep93xx.dtsi
> > @@ -0,0 +1,466 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * Device Tree file for Cirrus Logic systems EP93XX SoC
> > + */
> > +#include <dt-bindings/gpio/gpio.h>
> > +#include <dt-bindings/leds/common.h>
> > +#include <dt-bindings/input/input.h>
> > +#include <dt-bindings/clock/cirrus,ep93xx-clock.h>
> > +/ {
> > + soc {
> > + #address-cells = <1>;
> > + #size-cells = <1>;
> > + ranges;
> > + compatible = "simple-bus";
> > +
> > + syscon: syscon@80930000 {
> > + compatible = "cirrus,ep9301-syscon",
> > + "syscon", "simple-
> > mfd";
>
> Broken wrapping. Align these with previous ".
>
> > + reg = <0x80930000 0x1000>;
> > +
> > + ep9301-reboot {
>
> Just "reboot" (and fix bindings)... but why would you need it in the
> first place? I think something is seriously missing in your bindings.
>
> > + compatible = "cirrus,ep9301-
> > reboot";
> > + };
> > +
> > + eclk: clock-controller {
> > + #clock-cells = <1>;
> > + compatible = "cirrus,ep9301-clk";
> > + status = "okay";
> > + clocks = <&xtali>;
> > + };
> > +
> > + pinctrl: pinctrl {
>
> Missing compatible.
>
> > + spi_default_pins: pins-spi {
> > + function = "spi";
> > + groups = "ssp";
> > + };
> > +
> > + ac97_default_pins: pins-ac97 {
> > + function = "ac97";
> > + groups = "ac97";
> > + };
> > +
> > + i2s_on_ssp_pins: pins-i2sonssp {
> > + function = "i2s";
> > + groups = "i2s_on_ssp";
> > + };
> > +
> > + i2s_on_ac97_pins: pins-i2sonac97 {
> > + function = "i2s";
> > + groups = "i2s_on_ac97";
> > + };
> > +
> > + gpio1_default_pins: pins-gpio1 {
> > + function = "gpio";
> > + groups = "gpio1agrp";
> > + };
> > +
> > + pwm1_default_pins: pins-pwm1 {
> > + function = "pwm";
> > + groups = "pwm1";
> > + };
> > +
> > + gpio2_default_pins: pins-gpio2 {
> > + function = "gpio";
> > + groups = "gpio2agrp";
> > + };
> > +
> > + gpio3_default_pins: pins-gpio3 {
> > + function = "gpio";
> > + groups = "gpio3agrp";
> > + };
> > +
> > + keypad_default_pins: pins-keypad {
> > + function = "keypad";
> > + groups = "keypadgrp";
> > + };
> > +
> > + gpio4_default_pins: pins-gpio4 {
> > + function = "gpio";
> > + groups = "gpio4agrp";
> > + };
> > +
> > + gpio6_default_pins: pins-gpio6 {
> > + function = "gpio";
> > + groups = "gpio6agrp";
> > + };
> > +
> > + gpio7_default_pins: pins-gpio7 {
> > + function = "gpio";
> > + groups = "gpio7agrp";
> > + };
> > +
> > + ide_default_pins: pins-ide {
> > + function = "pata";
> > + groups = "idegrp";
> > + };
> > +
> > + lcd_on_dram0_pins: pins-
> > rasteronsdram0 {
> > + function = "lcd";
> > + groups =
> > "rasteronsdram0grp";
> > + };
> > +
> > + lcd_on_dram3_pins: pins-
> > rasteronsdram3 {
> > + function = "lcd";
> > + groups =
> > "rasteronsdram3grp";
>
> I would expect somewhere two groups since you explicitly allow it.
>
> > + };
> > + };
> > + };
> > +
> > + vic0: interrupt-controller@800b0000 {
> > + compatible = "arm,pl192-vic";
> > + interrupt-controller;
> > + reg = <0x800b0000 0x1000>;
>
> compatible first, reg is second. ranges if present - third. Fix it
> everywhere.
>
> > + #interrupt-cells = <1>;
> > + valid-mask = <0x7ffffffc>;
> > + valid-wakeup-mask = <0x0>;
> > + };
> > +
> > + vic1: interrupt-controller@800c0000 {
> > + compatible = "arm,pl192-vic";
> > + interrupt-controller;
> > + reg = <0x800c0000 0x1000>;
> > + #interrupt-cells = <1>;
> > + valid-mask = <0x1fffffff>;
> > + valid-wakeup-mask = <0x0>;
> > + };
> > +
> > + timer: timer@80810000 {
> > + compatible = "cirrus,ep9301-timer";
> > + reg = <0x80810000 0x100>;
> > + interrupt-parent = <&vic1>;
> > + interrupts = <19>;
> > + };
> > +
> > + dma0: dma-controller@80000000 {
> > + compatible = "cirrus,ep9301-dma-m2p";
> > + reg = <0x80000000 0x0040>,
> > + <0x80000040 0x0040>,
> > + <0x80000080 0x0040>,
> > + <0x800000c0 0x0040>,
> > + <0x80000240 0x0040>,
> > + <0x80000200 0x0040>,
> > + <0x800002c0 0x0040>,
> > + <0x80000280 0x0040>,
> > + <0x80000340 0x0040>,
> > + <0x80000300 0x0040>;
> > + clocks = <&eclk EP93XX_CLK_M2P0>,
> > + <&eclk EP93XX_CLK_M2P1>,
> > + <&eclk EP93XX_CLK_M2P2>,
> > + <&eclk EP93XX_CLK_M2P3>,
> > + <&eclk EP93XX_CLK_M2P4>,
> > + <&eclk EP93XX_CLK_M2P5>,
> > + <&eclk EP93XX_CLK_M2P6>,
> > + <&eclk EP93XX_CLK_M2P7>,
> > + <&eclk EP93XX_CLK_M2P8>,
> > + <&eclk EP93XX_CLK_M2P9>;
> > + clock-names = "m2p0", "m2p1",
> > + "m2p2", "m2p3",
> > + "m2p4", "m2p5",
> > + "m2p6", "m2p7",
> > + "m2p8", "m2p9";
> > + interrupt-parent = <&vic0>;
> > + interrupts = <7>, <8>, <9>, <10>, <11>,
> > + <12>, <13>, <14>, <15>, <16>;
> > + #dma-cells = <1>;
> > + };
> > +
> > + dma1: dma-controller@80000100 {
> > + compatible = "cirrus,ep9301-dma-m2m";
> > + reg = <0x80000100 0x0040>,
> > + <0x80000140 0x0040>;
> > + clocks = <&eclk EP93XX_CLK_M2M0>,
> > + <&eclk EP93XX_CLK_M2M1>;
> > + clock-names = "m2m0", "m2m1";
> > + interrupt-parent = <&vic0>;
> > + interrupts = <17>, <18>;
> > + #dma-cells = <1>;
> > + };
> > +
> > + i2s: i2s@80820000 {
> > + compatible = "cirrus,ep9301-i2s";
> > + #sound-dai-cells = <0>;
> > + reg = <0x80820000 0x100>;
> > + interrupt-parent = <&vic1>;
> > + interrupts = <28>;
> > + clocks = <&eclk EP93XX_CLK_I2S_MCLK
> > + &eclk EP93XX_CLK_I2S_SCLK
> > + &eclk EP93XX_CLK_I2S_LRCLK>;
> > + clock-names = "mclk", "sclk", "lrclk";
> > + status = "disabled";
> > + };
> > +
> > + gpio0: gpio@80840000 {
> > + compatible = "cirrus,ep9301-gpio";
> > + reg = <0x80840000 0x04>,
> > + <0x80840010 0x04>,
> > + <0x80840090 0x1c>;
>
> Messed wrapping.
>
> > + reg-names = "data", "dir", "intr";
> > + gpio-controller;
> > + #gpio-cells = <2>;
> > + interrupt-controller;
> > + interrupt-parent = <&vic1>;
> > + interrupts = <27>;
> > + };
> > +
> > + gpio1: gpio@80840004 {
> > + compatible = "cirrus,ep9301-gpio";
> > + reg = <0x80840004 0x04>,
> > + <0x80840014 0x04>,
> > + <0x808400ac 0x1c>;
>
> Ditto, in other places as well.
>
> > + reg-names = "data", "dir", "intr";
> > + gpio-controller;
> > + #gpio-cells = <2>;
> > + interrupt-controller;
> > + interrupt-parent = <&vic1>;
> > + interrupts = <27>;
> > + };
> > +
> > + gpio2: gpio@80840008 {
> > + compatible = "cirrus,ep9301-gpio";
> > + reg = <0x80840008 0x04>,
> > + <0x80840018 0x04>;
> > + reg-names = "data", "dir";
> > + gpio-controller;
> > + #gpio-cells = <2>;
> > + status = "disabled";
>
> Status is usually last.
>
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&gpio2_default_pins>;
> > + };
> > +
> > + gpio3: gpio@8084000c {
> > + compatible = "cirrus,ep9301-gpio";
> > + reg = <0x8084000c 0x04>,
> > + <0x8084001c 0x04>;
> > + reg-names = "data", "dir";
> > + gpio-controller;
> > + #gpio-cells = <2>;
> > + status = "disabled";
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&gpio3_default_pins>;
> > + };
> > +
> > + gpio4: gpio@80840020 {
> > + compatible = "cirrus,ep9301-gpio";
> > + reg = <0x80840020 0x04>,
> > + <0x80840024 0x04>;
> > + reg-names = "data", "dir";
> > + gpio-controller;
> > + #gpio-cells = <2>;
> > + status = "disabled";
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&gpio4_default_pins>;
> > + };
> > +
> > + gpio5: gpio@80840030 {
> > + compatible = "cirrus,ep9301-gpio";
> > + reg = <0x80840030 0x04>,
> > + <0x80840034 0x04>,
> > + <0x8084004c 0x1c>;
> > + reg-names = "data", "dir", "intr";
> > + gpio-controller;
> > + #gpio-cells = <2>;
> > + interrupt-controller;
> > + interrupts-extended = <&vic0 19>, <&vic0
> > 20>,
> > + <&vic0 21>, <&vic0 22>,
> > + <&vic1 15>, <&vic1 16>,
> > + <&vic1 17>, <&vic1 18>;
> > + };
> > +
> > + gpio6: gpio@80840038 {
> > + compatible = "cirrus,ep9301-gpio";
> > + reg = <0x80840038 0x04>,
> > + <0x8084003c 0x04>;
> > + reg-names = "data", "dir";
> > + gpio-controller;
> > + #gpio-cells = <2>;
> > + status = "disabled";
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&gpio6_default_pins>;
> > + };
> > +
> > + gpio7: gpio@80840040 {
> > + compatible = "cirrus,ep9301-gpio";
> > + reg = <0x80840040 0x04>,
> > + <0x80840044 0x04>;
> > + reg-names = "data", "dir";
> > + gpio-controller;
> > + #gpio-cells = <2>;
> > + status = "disabled";
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&gpio7_default_pins>;
> > + };
> > +
> > + ide: ide@800a0000 {
> > + compatible = "cirrus,ep9312-pata";
> > + reg = <0x800a0000 0x38>;
> > + interrupt-parent = <&vic1>;
> > + interrupts = <8>;
> > + status = "disabled";
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&ide_default_pins>;
> > + };
> > +
> > + uart0: uart@808c0000 {
>
> This should scream with dtbs_check. serial.
>
> It does not look like you tested the DTS against bindings. Please run
> `make dtbs_check` (see
> Documentation/devicetree/bindings/writing-schema.rst for
> instructions).
make dtbs_check is totally clean now:
```
make -j34 -C build-linux ARCH=arm CROSS_COMPILE=armv4t-softfloat-linux-
gnueabi- dtbs_check
make[1]: Entering directory '/home/maquefel/workshop/ts7250-boot-
build/build-linux'
UPD include/config/kernel.release
DTC_CHK arch/arm/boot/dts/cirrus/ep93xx-edb9302.dtb
arch/arm/boot/dts/cirrus/ep93xx-edb9302.dtb:0:0: /soc/ac97@80880000:
failed to match any schema with compatible: ['cirrus,ep9301-ac97']
arch/arm/boot/dts/cirrus/ep93xx-edb9302.dtb:0:0:
/soc/spi@808a0000/codec@0: failed to match any schema with compatible:
['cirrus,cs4271']
/home/maquefel/workshop/ts7250-boot-build/build-
linux/arch/arm/boot/dts/cirrus/ep93xx-edb9302.dtb: sound: 'simple-
audio-card,convert-sample-format' does not match any of the regexes:
'^simple-audio-card,codec(@[0-9a-f]+)?$', '^simple-audio-card,cpu(@[0-
9a-f]+)?$', '^simple-audio-card,dai-link(@[0-9a-f]+)?$', '^simple-
audio-card,plat(@[0-9a-f]+)?$', 'pinctrl-[0-9]+'
From schema: /home/maquefel/workshop/ts7250-boot-
build/linux/Documentation/devicetree/bindings/sound/simple-card.yaml
make[1]: Leaving directory '/home/maquefel/workshop/ts7250-boot-
build/build-linux'
```
>
> > + compatible = "arm,primecell";
> > + reg = <0x808c0000 0x1000>;
> > + arm,primecell-periphid = <0x00041010>;
> > + clocks = <&eclk EP93XX_CLK_UART1>, <&eclk
> > EP93XX_CLK_UART>;
> > + clock-names = "apb:uart1", "apb_pclk";
> > + interrupt-parent = <&vic1>;
> > + interrupts = <20>;
> > + status = "disabled";
> > + };
> > +
> > + uart1: uart@808d0000 {
> > + compatible = "arm,primecell";
> > + reg = <0x808d0000 0x1000>;
> > + arm,primecell-periphid = <0x00041010>;
> > + clocks = <&eclk EP93XX_CLK_UART2>, <&eclk
> > EP93XX_CLK_UART>;
> > + clock-names = "apb:uart2", "apb_pclk";
> > + interrupt-parent = <&vic1>;
> > + interrupts = <22>;
> > + status = "disabled";
> > + };
> > +
> > + uart2: uart@808b0000 {
> > + compatible = "arm,primecell";
> > + reg = <0x808b0000 0x1000>;
> > + arm,primecell-periphid = <0x00041010>;
> > + clocks = <&eclk EP93XX_CLK_UART3>, <&eclk
> > EP93XX_CLK_UART>;
> > + clock-names = "apb:uart3", "apb_pclk";
> > + interrupt-parent = <&vic1>;
> > + interrupts = <23>;
> > + status = "disabled";
> > + };
> > +
> > + usb0: usb@80020000 {
> > + compatible = "generic-ohci";
> > + reg = <0x80020000 0x10000>;
> > + interrupt-parent = <&vic1>;
> > + interrupts = <24>;
> > + clocks = <&eclk EP93XX_CLK_USB>;
> > + status = "disabled";
> > + };
> > +
> > + eth0: ethernet@80010000 {
> > + compatible = "cirrus,ep9301-eth";
> > + reg = <0x80010000 0x10000>;
> > + interrupt-parent = <&vic1>;
> > + interrupts = <7>;
> > + mdio0: mdio {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
>
> Your SoC comes with mdio? If so, why is this empty?
It has a builtin MDIO and only reason for this is to provide phy-id via
device tree in a correct way:
```
ð0 {
phy-handle = <&phy0>;
};
&mdio0 {
phy0: ethernet-phy@1 {
reg = <1>;
device_type = "ethernet-phy";
};
};
```
There is no other purpose for this node.
Thank you Krzysztof!
All other issues fixed.
>
> > + };
> > + };
> > +
> > + rtc0: rtc@80920000 {
> > + compatible = "cirrus,ep9301-rtc";
> > + reg = <0x80920000 0x100>;
> > + };
> > +
> > + spi0: spi@808a0000 {
> > + compatible = "cirrus,ep9301-spi";
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > + reg = <0x808a0000 0x18>;
> > + interrupt-parent = <&vic1>;
> > + interrupts = <21>;
> > + clocks = <&eclk EP93XX_CLK_SPI>;
> > + cs-gpios = <&gpio5 2 0>;
>
> defines... but why is it here in the first place? Rarely CS gpios are
> part of the SoC. I have several of such questions further as well, so
> this looks like you are mixing SoC and boards in one file.
>
> > + cirrus,ep9301-use-dma;
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&spi_default_pins>;
> > + status = "disabled";
> > + };
> > +
> > + adc: adc@80900000 {
> > + compatible = "cirrus,ep9301-adc";
> > + reg = <0x80900000 0x28>;
> > + clocks = <&eclk EP93XX_CLK_ADC>;
> > + interrupt-parent = <&vic0>;
> > + interrupts = <30>;
> > + status = "disabled";
> > + };
> > +
> > + watchdog0: watchdog@80940000 {
> > + compatible = "cirrus,ep9301-wdt";
> > + reg = <0x80940000 0x08>;
> > + };
> > +
> > + pwm0: pwm@80910000 {
> > + compatible = "cirrus,ep9301-pwm";
> > + reg = <0x80910000 0x10>;
> > + clocks = <&eclk EP93XX_CLK_PWM>;
> > + status = "disabled";
> > + };
> > +
> > + pwm1: pwm@80910020 {
> > + compatible = "cirrus,ep9301-pwm";
> > + reg = <0x80910020 0x10>;
> > + clocks = <&eclk EP93XX_CLK_PWM>;
> > + status = "disabled";
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&pwm1_default_pins>;
> > + };
> > +
> > + keypad: keypad@800f0000 {
> > + compatible = "cirrus,ep9307-keypad";
> > + reg = <0x800f0000 0x0c>;
> > + interrupt-parent = <&vic0>;
> > + interrupts = <29>;
> > + clocks = <&eclk EP93XX_CLK_KEYPAD>;
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&keypad_default_pins>;
> > + linux,keymap =
> > + <KEY_UP>,
> > + <KEY_DOWN>,
> > + <KEY_VOLUMEDOWN>,
> > + <KEY_HOME>,
> > + <KEY_RIGHT>,
> > + <KEY_LEFT>,
> > + <KEY_ENTER>,
> > + <KEY_VOLUMEUP>,
> > + <KEY_F6>,
> > + <KEY_F8>,
> > + <KEY_F9>,
> > + <KEY_F10>,
> > + <KEY_F1>,
> > + <KEY_F2>,
> > + <KEY_F3>,
> > + <KEY_POWER>;
> > + };
> > + };
> > +
> > + xtali: oscillator {
> > + compatible = "fixed-clock";
> > + #clock-cells = <0>;
> > + clock-frequency = <14745600>;
> > + clock-output-names = "xtali";
> > + };
> > +
> > + i2c0: i2c0 {
>
> i2c or i2c-0
>
> > + compatible = "i2c-gpio";
> > + sda-gpios = <&gpio6 1
> > (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
> > + scl-gpios = <&gpio6 0
> > (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > + status = "disabled";
>
> Wait, what? Why this is disabled? If this is part of the SoC,
> although
> hardly looks like, then it should be complete. What is missing? How
> one
> could design SoC with incomplete GPIO I2C controller?
>
> > + };
> > +
> > + leds {
> > + compatible = "gpio-leds";
>
> I really doubt this is property of the SoC. Please double check as it
> really looks wrong.
>
>
> > + led0 {
>
> led-0
>
> > + label = "grled";
> > + gpios = <&gpio4 0 GPIO_ACTIVE_HIGH>;
> > + linux,default-trigger = "heartbeat";
> > + function = LED_FUNCTION_HEARTBEAT;
> > + };
> > +
> > + led1 {
> led-1
>
> > + label = "rdled";
> > + gpios = <&gpio4 1 GPIO_ACTIVE_HIGH>;
> > + function = LED_FUNCTION_FAULT;
> > + };
> > + };
> > +};
>
> Best regards,
> Krzysztof
>
^ permalink raw reply [flat|nested] 118+ messages in thread
end of thread, other threads:[~2023-07-05 13:06 UTC | newest]
Thread overview: 118+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-24 12:34 [PATCH 00/43] ep93xx device tree conversion Nikita Shubin
2023-04-24 11:31 ` Arnd Bergmann
[not found] ` <20230424152933.48b2ede1@kernel.org>
2023-04-25 9:20 ` Krzysztof Kozlowski
2023-04-25 13:27 ` Arnd Bergmann
2023-04-24 12:34 ` [PATCH 03/43] dt-bindings: pinctrl: Add DT bindings ep93xx pinctrl Nikita Shubin
2023-04-24 13:28 ` Rob Herring
2023-04-25 9:24 ` Krzysztof Kozlowski
2023-04-24 12:34 ` [PATCH 05/43] dt-bindings: timers: add DT bindings for Cirrus EP93xx Nikita Shubin
2023-04-25 9:26 ` Krzysztof Kozlowski
2023-04-25 9:29 ` Krzysztof Kozlowski
2023-04-28 14:34 ` Nikita Shubin
2023-04-28 12:18 ` Krzysztof Kozlowski
2023-04-24 12:34 ` [PATCH 07/43] dt-bindings: rtc: " Nikita Shubin
2023-04-24 10:08 ` Alexandre Belloni
2023-04-25 9:28 ` Krzysztof Kozlowski
2023-04-28 14:35 ` Nikita Shubin
2023-04-28 12:21 ` Krzysztof Kozlowski
2023-04-24 12:34 ` [PATCH 09/43] dt-bindings: watchdog: add DT bindings for Cirrus EP93x Nikita Shubin
2023-04-24 14:16 ` Guenter Roeck
2023-04-24 14:18 ` Guenter Roeck
2023-04-24 15:59 ` Rob Herring
2023-04-25 9:31 ` Krzysztof Kozlowski
2023-04-28 14:33 ` Nikita Shubin
2023-04-28 12:20 ` Krzysztof Kozlowski
2023-04-28 17:42 ` Nikita Shubin
2023-04-30 11:30 ` Krzysztof Kozlowski
2023-04-24 12:34 ` [PATCH 11/43] dt-bindings: clock: add DT bindings for Cirrus EP93xx Nikita Shubin
2023-04-24 13:28 ` Rob Herring
2023-04-28 23:15 ` Stephen Boyd
2023-04-24 12:34 ` [PATCH 14/43] dt-bindings: pwm: Add DT bindings ep93xx PWM Nikita Shubin
2023-04-24 16:02 ` Rob Herring
2023-04-24 12:34 ` [PATCH 16/43] dt-bindings: spi: Add DT bindings ep93xx spi Nikita Shubin
2023-04-24 15:54 ` Mark Brown
2023-04-24 16:08 ` Rob Herring
2023-04-24 12:34 ` [PATCH 18/43] dt-bindings: net: Add DT bindings ep93xx eth Nikita Shubin
2023-04-24 16:11 ` Rob Herring
[not found] ` <7f05ecdc-cbbd-40b0-9a40-229e18aec721@lunn.ch>
2023-05-15 13:42 ` Nikita Shubin
2023-04-24 12:34 ` [PATCH 20/43] dt-bindings: dma: Add DT bindings ep93xx dma Nikita Shubin
2023-04-24 16:15 ` Rob Herring
2023-04-24 12:34 ` [PATCH 22/43] dt-bindings: mtd: add DT bindings for ts7250 nand Nikita Shubin
2023-04-24 16:17 ` Rob Herring
2023-05-02 9:48 ` Miquel Raynal
2023-05-15 15:48 ` Nikita Shubin
2023-05-22 14:18 ` Miquel Raynal
2023-04-24 12:34 ` [PATCH 24/43] dt-bindings: ata: Add DT bindings ep93xx pata Nikita Shubin
2023-04-24 13:16 ` Damien Le Moal
2023-04-24 12:34 ` [PATCH 26/43] dt-bindings: input: Add DT bindings ep93xx keypad Nikita Shubin
2023-04-24 16:21 ` Rob Herring
2023-04-24 12:34 ` [PATCH 28/43] dt-bindings: rtc: Add DT binding m48t86 rtc Nikita Shubin
2023-04-24 16:25 ` Rob Herring
2023-04-24 16:40 ` Alexandre Belloni
2023-04-24 12:34 ` [PATCH 30/43] dt-bindings: wdt: Add DT binding ts72xx wdt Nikita Shubin
2023-04-24 16:26 ` Rob Herring
2023-04-24 12:34 ` [PATCH 32/43] dt-bindings: gpio: Add DT bindings ep93xx gpio Nikita Shubin
2023-04-24 16:32 ` Rob Herring
2023-04-26 20:48 ` Linus Walleij
2023-04-28 14:44 ` Nikita Shubin
2023-04-24 12:34 ` [PATCH 34/43] ARM: dts: add device tree for ep93xx Soc Nikita Shubin
2023-04-24 11:28 ` Arnd Bergmann
2023-04-28 15:13 ` Nikita Shubin
2023-04-28 21:56 ` Kris Bahnsen
2023-04-24 12:34 ` [PATCH 40/43] ARM: dts: ep93xx: Add ADC node Nikita Shubin
2023-04-24 12:34 ` [PATCH 41/43] ARM: dts: ep93xx: Add I2S and AC97 nodes Nikita Shubin
2023-04-24 12:34 ` [PATCH 42/43] ARM: dts: ep93xx: Add EDB9302 DT Nikita Shubin
2023-04-26 20:56 ` [PATCH 00/43] ep93xx device tree conversion Linus Walleij
[not found] ` <b5396ef5-3fed-4e98-8f37-a9cd4473bddc@sirena.org.uk>
2023-04-26 21:06 ` Linus Walleij
2023-05-16 3:47 ` Florian Fainelli
2023-05-16 10:37 ` Nikita Shubin
2023-06-01 5:33 ` [PATCH v1 02/43] dt-bindings: soc: Add Cirrus EP93xx Nikita Shubin
2023-06-01 6:37 ` Krzysztof Kozlowski
2023-06-01 7:04 ` Nikita Shubin
2023-06-01 5:33 ` [PATCH v1 04/43] dt-bindings: clock: " Nikita Shubin
2023-06-01 6:39 ` Krzysztof Kozlowski
2023-06-01 6:40 ` Krzysztof Kozlowski
2023-06-01 5:33 ` [PATCH v1 06/43] dt-bindings: pinctrl: " Nikita Shubin
2023-06-01 6:42 ` Krzysztof Kozlowski
2023-06-01 5:33 ` [PATCH v1 08/43] dt-bindings: timers: " Nikita Shubin
2023-06-01 6:43 ` Krzysztof Kozlowski
2023-06-01 6:44 ` Krzysztof Kozlowski
2023-06-01 5:34 ` [PATCH v1 10/43] dt-bindings: rtc: " Nikita Shubin
2023-06-01 5:34 ` [PATCH v1 12/43] dt-bindings: watchdog: Add Cirrus EP93x Nikita Shubin
2023-06-01 5:34 ` [PATCH v1 15/43] dt-bindings: pwm: Add Cirrus EP93xx Nikita Shubin
2023-06-01 5:34 ` [PATCH v1 17/43] dt-bindings: spi: " Nikita Shubin
2023-06-01 8:16 ` Krzysztof Kozlowski
2023-06-01 11:17 ` Mark Brown
2023-06-01 12:41 ` Nikita Shubin
2023-06-01 12:55 ` Mark Brown
2023-06-01 13:15 ` Nikita Shubin
2023-06-01 5:45 ` [PATCH v1 19/43] dt-bindings: net: " Nikita Shubin
2023-06-01 5:45 ` [PATCH v1 21/43] dt-bindings: dma: " Nikita Shubin
2023-06-01 5:45 ` [PATCH v1 23/43] dt-bindings: mtd: Add ts7250 nand-controller Nikita Shubin
2023-06-01 7:45 ` Miquel Raynal
2023-06-01 8:11 ` Krzysztof Kozlowski
2023-06-01 5:45 ` [PATCH v1 25/43] dt-bindings: ata: Add Cirrus EP93xx Nikita Shubin
2023-06-01 23:57 ` Damien Le Moal
2023-06-04 19:24 ` Nikita Shubin
2023-06-14 19:00 ` Rob Herring
2023-06-15 0:49 ` Damien Le Moal
2023-06-01 5:45 ` [PATCH v1 27/43] dt-bindings: input: Add Cirrus EP93xx keypad Nikita Shubin
2023-06-01 8:24 ` Rob Herring
2023-06-08 15:01 ` Rob Herring
2023-06-01 5:45 ` [PATCH v1 29/43] dt-bindings: rtc: Add ST M48T86 Nikita Shubin
2023-06-01 8:18 ` Krzysztof Kozlowski
2023-06-20 7:30 ` Nikita Shubin
2023-06-01 5:45 ` [PATCH v1 31/43] dt-bindings: wdt: Add ts72xx Nikita Shubin
2023-06-01 5:45 ` [PATCH v1 33/43] dt-bindings: gpio: Add Cirrus EP93xx Nikita Shubin
2023-06-01 8:20 ` Krzysztof Kozlowski
2023-06-02 7:40 ` Linus Walleij
2023-06-13 14:55 ` Bartosz Golaszewski
2023-06-13 18:09 ` Linus Walleij
2023-06-16 9:15 ` Bartosz Golaszewski
2023-06-01 5:45 ` [PATCH v1 35/43] ARM: dts: add device tree for ep93xx Soc Nikita Shubin
2023-06-01 8:30 ` Krzysztof Kozlowski
2023-07-05 16:06 ` Nikita Shubin
2023-06-01 5:45 ` [PATCH v1 41/43] ARM: dts: ep93xx: Add I2S and AC97 nodes Nikita Shubin
2023-06-01 8:31 ` Krzysztof Kozlowski
2023-06-01 5:45 ` [PATCH v1 42/43] ARM: dts: ep93xx: Add EDB9302 DT Nikita Shubin
2023-06-01 8:33 ` Krzysztof Kozlowski
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).