2024-01-04 17:48:21

by Josua Mayer

[permalink] [raw]
Subject: [PATCH v5 00/10] dt-bindings: marvell: a38x: add solidrun armada 388 clearfog boards

Dear Maintainers,

The initially merged device-tree for Clearfog GTR devices contained
various subtle mistakes and omissions:

- missing board-specific compatible strings
- missing pinctrl entries
- missing second sfp connector
- invalid sfp loss-of-signal gpio
- mismatch of labels between dsa ports and enclosure

Most notably this had caused functional issues with the sfp connectors.

This patch-set first converts the existing armada-38x dt-bindings to
yaml, replacing invalid soc-only compatibles with specific boards that
already exist in tree and represent the three SoCs (380,385,388).

Secondly for clearfog gtr pinctrl nodes are added for all referenced
gpios for independence from bootloader defaults. U-Boot is shared
between armada-388 clearfog and armada-385 clearfog gtr.

Further remove an invalid io from the first sfp connector description,
and add descriptions for the secondary sfp connector which is driven
by dsa switch port number 9.

Finally labels of dsa switch ports were updated to match the enclosure.
That patch is not suitable for stable.

Signed-off-by: Josua Mayer <[email protected]>
---
Changes in v5:
- remove empty lines between description and items yaml entries
(reported by Krzysztof Kozlowski <[email protected]>)
- bindings text to yaml conversion is now single commit
(reported by Krzysztof Kozlowski <[email protected]>)
- added bindings for some existing a380, a385 and a388 boards
- removed code from commit description
(reported by Krzysztof Kozlowski <[email protected]>)
- Link to v4: https://lore.kernel.org/r/20231230-support-clearfog-gtr-l8-sfp-v4-0-1d7f0e2c7128@solid-run.com

Changes in v4:
- dropped invalid soc-only armada-38x (txt) bindings
(reported by Krzysztof Kozlowski <[email protected]>)
- add bindings for armada 388 helios-4
- updated yaml whitespace indentation count
(reported by Rob Hering's bot)
- Link to v3: https://lore.kernel.org/r/20231226-support-clearfog-gtr-l8-sfp-v3-0-fd1ac2d6bf2e@solid-run.com

Changes in v3:
- armada-38x.yaml: removed '|', no need to prerserve formatting
(reported by Conor Dooley [email protected])
- update commit descriptions to clarify confusing board names and
compatible strings
(reported by Krzysztof Kozlowski <[email protected]>)
- send to all relevant lists
(reported by Krzysztof Kozlowski <[email protected]>)
- remove duplicate binding for clearfog / clearfog
- Link to v2 (patches 0-2):
https://lore.kernel.org/r/[email protected]
- Link to v2 (patches 3-8):
https://lore.kernel.org/r/[email protected]

Changes in v2:
- removed changes changes to gpio numbers because they were wrong
- added bindings documentation
- Link to v1: https://lore.kernel.org/r/[email protected]

---
Josua Mayer (10):
dt-bindings: marvell: a38x: convert soc compatibles to yaml
dt-bindings: marvell: a38x: add solidrun armada 388 clearfog boards
dt-bindings: marvell: a38x: add kobol helios-4 board
dt-bindings: marvell: a38x: add solidrun armada 385 clearfog gtr boards
arm: dts: marvell: clearfog: add pro variant compatible in legacy dts
arm: dts: marvell: clearfog-gtr: add board-specific compatible strings
arm: dts: marvell: clearfog-gtr: sort pinctrl nodes alphabetically
arm: dts: marvell: clearfog-gtr: add missing pinctrl for all used gpios
arm: dts: marvell: clearfog-gtr-l8: add support for second sfp connector
arm: dts: marvell: clearfog-gtr-l8: align port numbers with enclosure

.../devicetree/bindings/arm/marvell/armada-38x.txt | 27 -------
.../bindings/arm/marvell/armada-38x.yaml | 70 ++++++++++++++++++
.../dts/marvell/armada-385-clearfog-gtr-l8.dts | 38 +++++++---
.../dts/marvell/armada-385-clearfog-gtr-s4.dts | 2 +
.../boot/dts/marvell/armada-385-clearfog-gtr.dtsi | 84 ++++++++++++++++------
arch/arm/boot/dts/marvell/armada-388-clearfog.dts | 5 +-
6 files changed, 167 insertions(+), 59 deletions(-)
---
base-commit: 861deac3b092f37b2c5e6871732f3e11486f7082
change-id: 20231226-support-clearfog-gtr-l8-sfp-d87ae715a787

Sincerely,
--
Josua Mayer <[email protected]>



2024-01-04 17:48:55

by Josua Mayer

[permalink] [raw]
Subject: [PATCH v5 02/10] dt-bindings: marvell: a38x: add solidrun armada 388 clearfog boards

Add DT compatible for SolidRun Armada-388 based Clearfog Base and Pro
boards, which are already in place in-tree.

There are already 3 distinct dts in tree for these *two* boards,
declaring particular compatible strings:
the generic "armada-388-clearfog.dts" is a legacy name for the Pro
version, old versions of u-boot built when only one variant existed
explicitly boot by this name.
The other two add explicit -pro / -base suffix to the filename, these
are preferred and chosen by latest u-boot.

Note that both compatibles and model field include the string "A1".
At least up to revision 2.0 of the board, this had been printed
on the pcb. However in marketing material and conversations it is
usually omitted. "Clearfog Pro" and "Clearfog Pro A1" always mean
exactly the same product.

Technically Base and Pro variants are similar enough that they can
successfully boot with each other's dts. Hence it makes (some)
sense for them to share the "clearfog-a1" compatible.

Add bindings for the explicit variants -pro and -base - including a
shared compatible string between the two.

Signed-off-by: Josua Mayer <[email protected]>
---
Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml b/Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml
index 108d665220b5..f4e930d8cc26 100644
--- a/Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml
+++ b/Documentation/devicetree/bindings/arm/marvell/armada-38x.yaml
@@ -39,4 +39,15 @@ properties:
- const: marvell,armada385
- const: marvell,armada380

+ - description:
+ SolidRun Armada 388 clearfog family single-board computers.
+ items:
+ - enum:
+ - solidrun,clearfog-base-a1
+ - solidrun,clearfog-pro-a1
+ - const: solidrun,clearfog-a1
+ - const: marvell,armada388
+ - const: marvell,armada385
+ - const: marvell,armada380
+
additionalProperties: true

--
2.35.3


2024-01-04 19:13:49

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v5 02/10] dt-bindings: marvell: a38x: add solidrun armada 388 clearfog boards

On 04/01/2024 18:48, Josua Mayer wrote:
> Add DT compatible for SolidRun Armada-388 based Clearfog Base and Pro
> boards, which are already in place in-tree.
>

Reviewed-by: Krzysztof Kozlowski <[email protected]>


Best regards,
Krzysztof


2024-02-27 16:27:10

by Gregory CLEMENT

[permalink] [raw]
Subject: Re: [PATCH v5 00/10] dt-bindings: marvell: a38x: add solidrun armada 388 clearfog boards

Hello Josua Mayer,

> Dear Maintainers,
>
> The initially merged device-tree for Clearfog GTR devices contained
> various subtle mistakes and omissions:
>
> - missing board-specific compatible strings
> - missing pinctrl entries
> - missing second sfp connector
> - invalid sfp loss-of-signal gpio
> - mismatch of labels between dsa ports and enclosure
>
> Most notably this had caused functional issues with the sfp connectors.
>
> This patch-set first converts the existing armada-38x dt-bindings to
> yaml, replacing invalid soc-only compatibles with specific boards that
> already exist in tree and represent the three SoCs (380,385,388).
>
> Secondly for clearfog gtr pinctrl nodes are added for all referenced
> gpios for independence from bootloader defaults. U-Boot is shared
> between armada-388 clearfog and armada-385 clearfog gtr.
>
> Further remove an invalid io from the first sfp connector description,
> and add descriptions for the secondary sfp connector which is driven
> by dsa switch port number 9.
>
> Finally labels of dsa switch ports were updated to match the enclosure.
> That patch is not suitable for stable.
>
> Signed-off-by: Josua Mayer <[email protected]>


Rebased on v6.8-rc1, fixed merge conflict and applied on mvebu/dt

Thanks,

Gregory

> ---
> Changes in v5:
> - remove empty lines between description and items yaml entries
> (reported by Krzysztof Kozlowski <[email protected]>)
> - bindings text to yaml conversion is now single commit
> (reported by Krzysztof Kozlowski <[email protected]>)
> - added bindings for some existing a380, a385 and a388 boards
> - removed code from commit description
> (reported by Krzysztof Kozlowski <[email protected]>)
> - Link to v4: https://lore.kernel.org/r/20231230-support-clearfog-gtr-l8-sfp-v4-0-1d7f0e2c7128@solid-run.com
>
> Changes in v4:
> - dropped invalid soc-only armada-38x (txt) bindings
> (reported by Krzysztof Kozlowski <[email protected]>)
> - add bindings for armada 388 helios-4
> - updated yaml whitespace indentation count
> (reported by Rob Hering's bot)
> - Link to v3: https://lore.kernel.org/r/20231226-support-clearfog-gtr-l8-sfp-v3-0-fd1ac2d6bf2e@solid-run.com
>
> Changes in v3:
> - armada-38x.yaml: removed '|', no need to prerserve formatting
> (reported by Conor Dooley [email protected])
> - update commit descriptions to clarify confusing board names and
> compatible strings
> (reported by Krzysztof Kozlowski <[email protected]>)
> - send to all relevant lists
> (reported by Krzysztof Kozlowski <[email protected]>)
> - remove duplicate binding for clearfog / clearfog
> - Link to v2 (patches 0-2):
> https://lore.kernel.org/r/[email protected]
> - Link to v2 (patches 3-8):
> https://lore.kernel.org/r/[email protected]
>
> Changes in v2:
> - removed changes changes to gpio numbers because they were wrong
> - added bindings documentation
> - Link to v1: https://lore.kernel.org/r/[email protected]
>
> ---
> Josua Mayer (10):
> dt-bindings: marvell: a38x: convert soc compatibles to yaml
> dt-bindings: marvell: a38x: add solidrun armada 388 clearfog boards
> dt-bindings: marvell: a38x: add kobol helios-4 board
> dt-bindings: marvell: a38x: add solidrun armada 385 clearfog gtr boards
> arm: dts: marvell: clearfog: add pro variant compatible in legacy dts
> arm: dts: marvell: clearfog-gtr: add board-specific compatible strings
> arm: dts: marvell: clearfog-gtr: sort pinctrl nodes alphabetically
> arm: dts: marvell: clearfog-gtr: add missing pinctrl for all used gpios
> arm: dts: marvell: clearfog-gtr-l8: add support for second sfp connector
> arm: dts: marvell: clearfog-gtr-l8: align port numbers with enclosure
>
> .../devicetree/bindings/arm/marvell/armada-38x.txt | 27 -------
> .../bindings/arm/marvell/armada-38x.yaml | 70 ++++++++++++++++++
> .../dts/marvell/armada-385-clearfog-gtr-l8.dts | 38 +++++++---
> .../dts/marvell/armada-385-clearfog-gtr-s4.dts | 2 +
> .../boot/dts/marvell/armada-385-clearfog-gtr.dtsi | 84 ++++++++++++++++------
> arch/arm/boot/dts/marvell/armada-388-clearfog.dts | 5 +-
> 6 files changed, 167 insertions(+), 59 deletions(-)
> ---
> base-commit: 861deac3b092f37b2c5e6871732f3e11486f7082
> change-id: 20231226-support-clearfog-gtr-l8-sfp-d87ae715a787
>
> Sincerely,
> --
> Josua Mayer <[email protected]>
>

--
Gregory Clement, Bootlin
Embedded Linux and Kernel engineering
http://bootlin.com