Skip to contentSkip to conversation

dt-bindings: serial: 8250: add marvell,armada-38x-uart compatible

PATCH In review Rosen Penev 4 participants 7 messages Sep 1 – Sep 3

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 dt-bindings: serial: 8250: add marvell,armada-38x-uart compatible

The Armada 38x and 98DX3236 SoCs use this compatible, either paired with "ns16550a" (armada-38x.dtsi) or on its own (armada-xp-98dx3236.dtsi). Neither form is covered by the 8250 binding, so dtbs_check reports:

serial@12000: failed to match any schema with compatible:
['marvell,armada-38x-uart', 'ns16550a']

Add a standalone const entry and a two-string variant paired with "ns16550a".

Validated with make dt_binding_check (8250.yaml) and dt-validate on armada-38x and armada-xp 98DX3236 boards: the UART schema errors are gone.

Assisted-by opencode:big-pickle
---
 Documentation/devicetree/bindings/serial/8250.yaml | 4 ++++
 1 file changed, 4 insertions(+)
Documentation/devicetree/bindings/serial/8250.yaml +4 -0
index 8c2c177faf89..f71c6afe02f2 100644
@@ -109,6 +109,7 @@ properties:
       - const: aspeed,ast2500-vuart
       - const: intel,xscale-uart
       - const: mrvl,pxa-uart
+      - const: marvell,armada-38x-uart
       - const: nuvoton,wpcm450-uart
       - const: nuvoton,npcm750-uart
       - const: nvidia,tegra20-uart
@@ -119,6 +120,9 @@ properties:
               - exar,xr16l2551
               - exar,xr16l2550
           - const: ns8250
+      - items:
+          - const: marvell,armada-38x-uart
+          - const: ns16550a
       - items:
           - enum:
               - altr,16550-FIFO32
Signature · 1 line
2.55.0
#1 lore raw
Sashiko has reviewed this patch and found no issues. It looks great!
Quoted 11 lines

The Armada 38x and 98DX3236 SoCs use this compatible, either paired with "ns16550a" (armada-38x.dtsi) or on its own (armada-xp-98dx3236.dtsi). Neither form is covered by the 8250 binding, so dtbs_check reports:

serial@12000: failed to match any schema with compatible:
['marvell,armada-38x-uart', 'ns16550a']

Add a standalone const entry and a two-string variant paired with "ns16550a".

Quoted 6 lines

Validated with make dt_binding_check (8250.yaml) and dt-validate on armada-38x and armada-xp 98DX3236 boards: the UART schema errors are gone.

Assisted-by opencode:big-pickle

Sashiko has reviewed this patch and found no issues. It looks great!

Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=1
#2 lore raw
In reply to Rosen Penev
Quoted 8 lines · Rosen Penev

The Armada 38x and 98DX3236 SoCs use this compatible, either paired with "ns16550a" (armada-38x.dtsi) or on its own (armada-xp-98dx3236.dtsi). Neither form is covered by the 8250 binding, so dtbs_check reports:

serial@12000: failed to match any schema with compatible:
['marvell,armada-38x-uart', 'ns16550a']

Quoted 6 lines

Add a standalone const entry and a two-string variant paired with "ns16550a".

Validated with make dt_binding_check (8250.yaml) and dt-validate on armada-38x and armada-xp 98DX3236 boards: the UART schema errors are gone.

Drop last paragraph. If AI tool added it, then NEVER DO THAT. We don't need to read LLM hallucinations.

Commit msgs do not have obvious build process outputs as confirmation that you did absolutely basic build process step.

The same you do not say:
1. Code compiles
2. Code passes checkpatch
3. Code passes sparse, smatch etc.

Quoted 12 lines
Assisted-by opencode:big-pickle
---
 Documentation/devicetree/bindings/serial/8250.yaml | 4 ++++
 1 file changed, 4 insertions(+)
Documentation/devicetree/bindings/serial/8250.yaml +0 -0
index 8c2c177faf89..f71c6afe02f2 100644

Documentation/devicetree/bindings/serial/8250.yaml properties: · line 112

Quoted 4 lines
Documentation/devicetree/bindings/serial/8250.yaml +1 -0
@@ -109,6 +109,7 @@ properties:
       - const: aspeed,ast2500-vuart
       - const: intel,xscale-uart
       - const: mrvl,pxa-uart
+      - const: marvell,armada-38x-uart

ma < mr, keep list ordered.

Documentation/devicetree/bindings/serial/8250.yaml properties: · line 124

Quoted 9 lines
Documentation/devicetree/bindings/serial/8250.yaml +2 -0
       - const: nuvoton,wpcm450-uart
       - const: nuvoton,npcm750-uart
       - const: nvidia,tegra20-uart
@@ -119,6 +120,9 @@ properties:
               - exar,xr16l2551
               - exar,xr16l2550
           - const: ns8250
+      - items:
+          - const: marvell,armada-38x-uart

And what if the DTS is just wrong? So warning about wrong DTS is now suppressed and made documented ABI change?

Best regards,
Krzysztof

#3 lore raw
In reply to Rosen Penev
Quoted 10 lines · Rosen Penev

The Armada 38x and 98DX3236 SoCs use this compatible, either paired with "ns16550a" (armada-38x.dtsi) or on its own (armada-xp-98dx3236.dtsi). Neither form is covered by the 8250 binding, so dtbs_check reports:

serial@12000: failed to match any schema with compatible:
['marvell,armada-38x-uart', 'ns16550a']

Add a standalone const entry and a two-string variant paired with "ns16550a".

Only one of these is correct, add one and fix the users. Given there's match data, it's probably the standalone one.

pw-bot: changes-requested

Thanks,
Conor.

Quoted 36 lines

Validated with make dt_binding_check (8250.yaml) and dt-validate on armada-38x and armada-xp 98DX3236 boards: the UART schema errors are gone.

Assisted-by opencode:big-pickle
---
 Documentation/devicetree/bindings/serial/8250.yaml | 4 ++++
 1 file changed, 4 insertions(+)
Documentation/devicetree/bindings/serial/8250.yaml +4 -0
index 8c2c177faf89..f71c6afe02f2 100644
@@ -109,6 +109,7 @@ properties:
       - const: aspeed,ast2500-vuart
       - const: intel,xscale-uart
       - const: mrvl,pxa-uart
+      - const: marvell,armada-38x-uart
       - const: nuvoton,wpcm450-uart
       - const: nuvoton,npcm750-uart
       - const: nvidia,tegra20-uart
@@ -119,6 +120,9 @@ properties:
               - exar,xr16l2551
               - exar,xr16l2550
           - const: ns8250
+      - items:
+          - const: marvell,armada-38x-uart
+          - const: ns16550a
       - items:
           - enum:
               - altr,16550-FIFO32
Signature · 1 line
2.55.0
#4 lore raw
Quoted 7 lines · Conor Dooley
Quoted 5 lines · Rosen Penev

The Armada 38x and 98DX3236 SoCs use this compatible, either paired with "ns16550a" (armada-38x.dtsi) or on its own (armada-xp-98dx3236.dtsi). Neither form is covered by the 8250 binding, so dtbs_check reports:

Quoted 8 lines
Quoted 5 lines

serial@12000: failed to match any schema with compatible:
['marvell,armada-38x-uart', 'ns16550a']

Add a standalone const entry and a two-string variant paired with "ns16550a".

Only one of these is correct, add one and fix the users. Given there's match data, it's probably the standalone one.

Commit 62480772263a adds the second one to support earlycon.

Quoted 42 lines

pw-bot: changes-requested

Thanks,
Conor.

Quoted 36 lines

Validated with make dt_binding_check (8250.yaml) and dt-validate on armada-38x and armada-xp 98DX3236 boards: the UART schema errors are gone.

Assisted-by opencode:big-pickle
---
 Documentation/devicetree/bindings/serial/8250.yaml | 4 ++++
 1 file changed, 4 insertions(+)
Documentation/devicetree/bindings/serial/8250.yaml +4 -1
index 8c2c177faf89..f71c6afe02f2 100644
@@ -109,6 +109,7 @@ properties:
       - const: aspeed,ast2500-vuart
       - const: intel,xscale-uart
       - const: mrvl,pxa-uart
+      - const: marvell,armada-38x-uart
       - const: nuvoton,wpcm450-uart
       - const: nuvoton,npcm750-uart
       - const: nvidia,tegra20-uart
@@ -119,6 +120,9 @@ properties:
               - exar,xr16l2551
               - exar,xr16l2550
           - const: ns8250
+      - items:
+          - const: marvell,armada-38x-uart
+          - const: ns16550a
       - items:
           - enum:
               - altr,16550-FIFO32
--

2.55.0

#5 lore raw
Quoted 11 lines · Rosen Penev
Quoted 10 lines · Conor Dooley
Quoted 8 lines · Rosen Penev

The Armada 38x and 98DX3236 SoCs use this compatible, either paired with "ns16550a" (armada-38x.dtsi) or on its own (armada-xp-98dx3236.dtsi). Neither form is covered by the 8250 binding, so dtbs_check reports:

serial@12000: failed to match any schema with compatible:
['marvell,armada-38x-uart', 'ns16550a']

Quoted 7 lines
Quoted 5 lines
Quoted 2 lines

Add a standalone const entry and a two-string variant paired with "ns16550a".

Only one of these is correct, add one and fix the users. Given there's match data, it's probably the standalone one.

Commit 62480772263a adds the second one to support earlycon.

So the one with the ns16550a fallback is the correct one?

Quoted 42 lines
Quoted 42 lines

pw-bot: changes-requested

Thanks,
Conor.

Quoted 36 lines

Validated with make dt_binding_check (8250.yaml) and dt-validate on armada-38x and armada-xp 98DX3236 boards: the UART schema errors are gone.

Assisted-by opencode:big-pickle
---
 Documentation/devicetree/bindings/serial/8250.yaml | 4 ++++
 1 file changed, 4 insertions(+)
Documentation/devicetree/bindings/serial/8250.yaml +4 -1
index 8c2c177faf89..f71c6afe02f2 100644
@@ -109,6 +109,7 @@ properties:
       - const: aspeed,ast2500-vuart
       - const: intel,xscale-uart
       - const: mrvl,pxa-uart
+      - const: marvell,armada-38x-uart
       - const: nuvoton,wpcm450-uart
       - const: nuvoton,npcm750-uart
       - const: nvidia,tegra20-uart
@@ -119,6 +120,9 @@ properties:
               - exar,xr16l2551
               - exar,xr16l2550
           - const: ns8250
+      - items:
+          - const: marvell,armada-38x-uart
+          - const: ns16550a
       - items:
           - enum:
               - altr,16550-FIFO32
--

2.55.0

#6 lore raw
Quoted 16 lines · Conor Dooley
Quoted 14 lines · Rosen Penev
Quoted 13 lines · Conor Dooley
Quoted 10 lines · Rosen Penev

The Armada 38x and 98DX3236 SoCs use this compatible, either paired with "ns16550a" (armada-38x.dtsi) or on its own (armada-xp-98dx3236.dtsi). Neither form is covered by the 8250 binding, so dtbs_check reports:

serial@12000: failed to match any schema with compatible:
['marvell,armada-38x-uart', 'ns16550a']

Add a standalone const entry and a two-string variant paired with "ns16550a".

Quoted 6 lines
Quoted 4 lines
Quoted 2 lines

Only one of these is correct, add one and fix the users. Given there's match data, it's probably the standalone one.

Commit 62480772263a adds the second one to support earlycon.

So the one with the ns16550a fallback is the correct one?

Good question. I posted an alternative to this patch here:
https://lore.kernel.org/linux-serial/[email protected]/T/#t

If accepted, it would avoid needing ns16550a in dts, and a v2 of this patch would be the first hunk + dts fixup.

Quoted 43 lines
Quoted 43 lines
Quoted 43 lines

pw-bot: changes-requested

Thanks,
Conor.

Quoted 36 lines

Validated with make dt_binding_check (8250.yaml) and dt-validate on armada-38x and armada-xp 98DX3236 boards: the UART schema errors are gone.

Assisted-by opencode:big-pickle
---
 Documentation/devicetree/bindings/serial/8250.yaml | 4 ++++
 1 file changed, 4 insertions(+)
Documentation/devicetree/bindings/serial/8250.yaml +4 -1
index 8c2c177faf89..f71c6afe02f2 100644
@@ -109,6 +109,7 @@ properties:
       - const: aspeed,ast2500-vuart
       - const: intel,xscale-uart
       - const: mrvl,pxa-uart
+      - const: marvell,armada-38x-uart
       - const: nuvoton,wpcm450-uart
       - const: nuvoton,npcm750-uart
       - const: nvidia,tegra20-uart
@@ -119,6 +120,9 @@ properties:
               - exar,xr16l2551
               - exar,xr16l2550
           - const: ns8250
+      - items:
+          - const: marvell,armada-38x-uart
+          - const: ns16550a
       - items:
           - enum:
               - altr,16550-FIFO32
--

2.55.0