ARM: dts: allwinner: Fix remaining DT validation errors
Subsystems (5)
Chen-Yu Tsai
maintainercover ARM: dts: allwinner: Fix remaining DT validation errors
Hi folks,
This series gets rid of the remaining DT validation errors for Allwinner (sunxi) ARM 32-bit device trees. The patches are self explaining.
I plan to take all four patches through the sunxi tree.
ChenYu
Chen-Yu Tsai (4):
dt-bindings: media: sun4i-a10-video-engine: Add interconnect
properties
dt-bindings: pinctrl: sunxi: Allow pinmux sub-pattern with leading
numbers
ARM: dts: allwinner: sun5i-a13-utoo-p66: delete "power-gpios" property
ARM: dts: allwinner: Replace status "failed" with "fail"
.../media/allwinner,sun4i-a10-video-engine.yaml | 10 ++++++++++ .../bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yaml | 2 +- .../boot/dts/allwinner/sun4i-a10-dserve-dsrv9703c.dts | 2 +- .../boot/dts/allwinner/sun4i-a10-pov-protab2-ips9.dts | 2 +- arch/arm/boot/dts/allwinner/sun5i-a13-utoo-p66.dts | 1 + arch/arm/boot/dts/allwinner/sun6i-a31-hummingbird.dts | 2 +- arch/arm/boot/dts/allwinner/sun6i-a31s-primo81.dts | 2 +- 7 files changed, 16 insertions(+), 5 deletions(-)
Signature · 1 line
2.47.3
Chen-Yu Tsai
maintainerPATCH 1/4 dt-bindings: media: sun4i-a10-video-engine: Add interconnect properties
The Allwinner video engine sits behind the MBUS that is represented as an interconnect.
Make sure that the interconnect properties are valid in the binding.
--- .../media/allwinner,sun4i-a10-video-engine.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+)
Documentation/devicetree/bindings/media/allwinner,sun4i-a10-video-engine.yaml +10 -0
@@ -63,6 +63,16 @@ properties: CMA pool to use for buffers allocation instead of the default CMA pool. + # FIXME: This should be made required eventually once every SoC will + # have the MBUS declared. + interconnects: + maxItems: 1 + + # FIXME: This should be made required eventually once every SoC will + # have the MBUS declared. + interconnect-names: + const: dma-mem + required: - compatible - reg
Signature · 1 line
2.47.3
Re: [PATCH 1/4] dt-bindings: media: sun4i-a10-video-engine: Add interconnect properties
Dne četrtek, 25. december 2025 ob 11:36:12 Srednjeevropski standardni čas je Chen-Yu Tsai napisal(a):
Quoted 7 lines
The Allwinner video engine sits behind the MBUS that is represented as an interconnect.
Make sure that the interconnect properties are valid in the binding.
Fixes d41662e52a03 ("media: dt-bindings: media: allwinner,sun4i-a10-video-engine: Add R40 compatible")Signed-off-by Chen-Yu Tsai <[email protected]>
Best regards,
Jernej
Re: [PATCH 1/4] dt-bindings: media: sun4i-a10-video-engine: Add interconnect properties
In reply to Chen-Yu TsaiQuoted 11 lines · Chen-Yu Tsai
The Allwinner video engine sits behind the MBUS that is represented as an interconnect.
Make sure that the interconnect properties are valid in the binding.
Fixes d41662e52a03 ("media: dt-bindings: media: allwinner,sun4i-a10-video-engine: Add R40 compatible")Signed-off-by Chen-Yu Tsai <[email protected]>--- .../media/allwinner,sun4i-a10-video-engine.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+)
Chen-Yu Tsai
maintainerPATCH 2/4 dt-bindings: pinctrl: sunxi: Allow pinmux sub-pattern with leading numbers
In reply to Chen-Yu TsaiThe pattern for pinmux node names is typically the peripheral name and instance number, followed by pingroup name if there are multiple options.
Normally the instance number is directly appended to the peripheral name, like "mmc0" or "i2c2". But if the peripheral name ends with a number, then it becomes confusing.
On the A20, the PS2 interface controller has two instances. This produces pinmux node names like "ps2-0-pins". Make the sub-pattern "[0-9]-" valid to fit this pattern. Avoid having to confusing "ps20-pins" name.
--- .../bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Documentation/devicetree/bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yaml +1 -1
@@ -106,7 +106,7 @@ patternProperties: # the pin numbers then, # - Finally, the name will end with either -pin or pins. - "^([rs]-)?(([a-z0-9]{3,}|[a-oq-z][a-z0-9]*?)?-)+?(p[a-ilm][0-9]*?-)??pins?$": + "^([rs]-)?(([a-z0-9]{3,}|[a-oq-z0-9][a-z0-9]*?)?-)+?(p[a-ilm][0-9]*?-)??pins?$": type: object properties:
Signature · 1 line
2.47.3
Re: [PATCH 2/4] dt-bindings: pinctrl: sunxi: Allow pinmux sub-pattern with leading numbers
Dne četrtek, 25. december 2025 ob 11:36:13 Srednjeevropski standardni čas je Chen-Yu Tsai napisal(a):
Quoted 7 lines
The pattern for pinmux node names is typically the peripheral name and instance number, followed by pingroup name if there are multiple options.
Normally the instance number is directly appended to the peripheral name, like "mmc0" or "i2c2". But if the peripheral name ends with a number, then it becomes confusing.
Quoted 6 lines
On the A20, the PS2 interface controller has two instances. This produces pinmux node names like "ps2-0-pins". Make the sub-pattern "[0-9]-" valid to fit this pattern. Avoid having to confusing "ps20-pins" name.
Signed-off-by Chen-Yu Tsai <[email protected]>
Best regards,
Jernej
Re: [PATCH 2/4] dt-bindings: pinctrl: sunxi: Allow pinmux sub-pattern with leading numbers
In reply to Chen-Yu TsaiQuoted 12 lines · Chen-Yu Tsai
The pattern for pinmux node names is typically the peripheral name and instance number, followed by pingroup name if there are multiple options.
Normally the instance number is directly appended to the peripheral name, like "mmc0" or "i2c2". But if the peripheral name ends with a number, then it becomes confusing.
On the A20, the PS2 interface controller has two instances. This produces pinmux node names like "ps2-0-pins". Make the sub-pattern "[0-9]-" valid to fit this pattern. Avoid having to confusing "ps20-pins" name.
Quoted 5 lines
Signed-off-by Chen-Yu Tsai <[email protected]>--- .../bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Linus Walleij
maintainerRe: [PATCH 2/4] dt-bindings: pinctrl: sunxi: Allow pinmux sub-pattern with leading numbers
In reply to Chen-Yu TsaiQuoted 7 lines · Chen-Yu Tsai
The pattern for pinmux node names is typically the peripheral name and instance number, followed by pingroup name if there are multiple options.
Normally the instance number is directly appended to the peripheral name, like "mmc0" or "i2c2". But if the peripheral name ends with a number, then it becomes confusing.
Quoted 6 lines
On the A20, the PS2 interface controller has two instances. This produces pinmux node names like "ps2-0-pins". Make the sub-pattern "[0-9]-" valid to fit this pattern. Avoid having to confusing "ps20-pins" name.
Signed-off-by Chen-Yu Tsai <[email protected]>
This patch 2/4 applied to the pin control tree.
Yours,
Linus Walleij
Chen-Yu Tsai
maintainerPATCH 3/4 ARM: dts: allwinner: sun5i-a13-utoo-p66: delete "power-gpios" property
In reply to Chen-Yu TsaiThe P66's device tree includes the reference design dtsi files, which defines a node and properties for the touchpanel in the common design. The P66 dts file then overrides all the properties to match its own design, but as the touchpanel model is different, a different schema is matched. This other schema uses a different name for the GPIO.
The original submission added the correct GPIO property, but did not delete the one inherited from the reference design, causing validation errors.
Explicitly delete the incorrect GPIO property.
---
Cc: Hans de Goede <[email protected]>
--- arch/arm/boot/dts/allwinner/sun5i-a13-utoo-p66.dts | 1 + 1 file changed, 1 insertion(+)
arch/arm/boot/dts/allwinner/sun5i-a13-utoo-p66.dts +1 -0
@@ -102,6 +102,7 @@ &touchscreen { /* The P66 uses a different EINT then the reference design */ interrupts = <6 9 IRQ_TYPE_EDGE_FALLING>; /* EINT9 (PG9) */ /* The icn8318 binding expects wake-gpios instead of power-gpios */ + /delete-property/ power-gpios; wake-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */ touchscreen-size-x = <800>; touchscreen-size-y = <480>;
Signature · 1 line
2.47.3
Re: [PATCH 3/4] ARM: dts: allwinner: sun5i-a13-utoo-p66: delete "power-gpios" property
Dne četrtek, 25. december 2025 ob 11:36:14 Srednjeevropski standardni čas je Chen-Yu Tsai napisal(a):
Quoted 6 lines
The P66's device tree includes the reference design dtsi files, which defines a node and properties for the touchpanel in the common design. The P66 dts file then overrides all the properties to match its own design, but as the touchpanel model is different, a different schema is matched. This other schema uses a different name for the GPIO.
Quoted 9 lines
The original submission added the correct GPIO property, but did not delete the one inherited from the reference design, causing validation errors.
Explicitly delete the incorrect GPIO property.
Fixes 2a53aff27236 ("ARM: dts: sun5i: Enable touchscreen on Utoo P66")Signed-off-by Chen-Yu Tsai <[email protected]>
Best regards,
Jernej
Chen-Yu Tsai
maintainerPATCH 4/4 ARM: dts: allwinner: Replace status "failed" with "fail"
In reply to Chen-Yu TsaiThe device tree bindings specify using "fail", not "failed".
Fix up all the ones that are wrong.
--- arch/arm/boot/dts/allwinner/sun4i-a10-dserve-dsrv9703c.dts | 2 +- arch/arm/boot/dts/allwinner/sun4i-a10-pov-protab2-ips9.dts | 2 +- arch/arm/boot/dts/allwinner/sun6i-a31-hummingbird.dts | 2 +- arch/arm/boot/dts/allwinner/sun6i-a31s-primo81.dts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-)
arch/arm/boot/dts/allwinner/sun4i-a10-dserve-dsrv9703c.dts +1 -1
@@ -112,7 +112,7 @@ axp209: pmic@34 { &i2c1 { /* pull-ups and devices require AXP209 LDO3 */ - status = "failed"; + status = "fail"; }; &i2c2 {
arch/arm/boot/dts/allwinner/sun4i-a10-pov-protab2-ips9.dts +1 -1
@@ -96,7 +96,7 @@ axp209: pmic@34 { &i2c1 { /* pull-ups and devices require AXP209 LDO3 */ - status = "failed"; + status = "fail"; }; &i2c2 {
arch/arm/boot/dts/allwinner/sun6i-a31-hummingbird.dts +1 -1
@@ -170,7 +170,7 @@ hdmi_out_con: endpoint { &i2c0 { /* pull-ups and devices require AXP221 DLDO3 */ - status = "failed"; + status = "fail"; }; &i2c1 {
arch/arm/boot/dts/allwinner/sun6i-a31s-primo81.dts +1 -1
@@ -90,7 +90,7 @@ hdmi_out_con: endpoint { &i2c0 { /* pull-ups and device VDDIO use AXP221 DLDO3 */ - status = "failed"; + status = "fail"; }; &i2c1 {
Signature · 1 line
2.47.3
Jernej Škrabec
maintainerRe: [PATCH 4/4] ARM: dts: allwinner: Replace status "failed" with "fail"
Dne četrtek, 25. december 2025 ob 11:36:15 Srednjeevropski standardni čas je Chen-Yu Tsai napisal(a):
Quoted 3 lines
The device tree bindings specify using "fail", not "failed".
Fix up all the ones that are wrong.
While patch indeed fixes the issue, I wonder if "fail" is proper value? According to specs, it means that device needs repair. What about just keep "disabled"?
Best regards,
Jernej
Quoted 62 lines
Signed-off-by Chen-Yu Tsai <[email protected]>--- arch/arm/boot/dts/allwinner/sun4i-a10-dserve-dsrv9703c.dts | 2 +- arch/arm/boot/dts/allwinner/sun4i-a10-pov-protab2-ips9.dts | 2 +- arch/arm/boot/dts/allwinner/sun6i-a31-hummingbird.dts | 2 +- arch/arm/boot/dts/allwinner/sun6i-a31s-primo81.dts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-)arch/arm/boot/dts/allwinner/sun4i-a10-dserve-dsrv9703c.dts +1
-1@@ -112,7 +112,7 @@ axp209: pmic@34 { &i2c1 { /* pull-ups and devices require AXP209 LDO3 */ - status = "failed"; + status = "fail"; }; &i2c2 {arch/arm/boot/dts/allwinner/sun4i-a10-pov-protab2-ips9.dts +1
-1@@ -96,7 +96,7 @@ axp209: pmic@34 { &i2c1 { /* pull-ups and devices require AXP209 LDO3 */ - status = "failed"; + status = "fail"; }; &i2c2 {arch/arm/boot/dts/allwinner/sun6i-a31-hummingbird.dts +1
-1@@ -170,7 +170,7 @@ hdmi_out_con: endpoint { &i2c0 { /* pull-ups and devices require AXP221 DLDO3 */ - status = "failed"; + status = "fail"; }; &i2c1 {arch/arm/boot/dts/allwinner/sun6i-a31s-primo81.dts +1
-1@@ -90,7 +90,7 @@ hdmi_out_con: endpoint { &i2c0 { /* pull-ups and device VDDIO use AXP221 DLDO3 */ - status = "failed"; + status = "fail"; }; &i2c1 {
Chen-Yu Tsai
maintainerRe: [PATCH 4/4] ARM: dts: allwinner: Replace status "failed" with "fail"
Quoted 9 lines · Jernej Škrabec
Dne četrtek, 25. december 2025 ob 11:36:15 Srednjeevropski standardni čas je Chen-Yu Tsai napisal(a):
Quoted 3 lines
The device tree bindings specify using "fail", not "failed".
Fix up all the ones that are wrong.
While patch indeed fixes the issue, I wonder if "fail" is proper value? According to specs, it means that device needs repair. What about just keep "disabled"?
"disabled" isn't right either, as that means its disconnected or not used. These are definitely connected.
On the other hand we could fix these and describe the supplies for the external as supplies for the pin banks? But I doubt anyone has these devices around for testing.
ChenYu
Quoted 70 lines
Best regards,
JernejQuoted 62 lines
Signed-off-by Chen-Yu Tsai <[email protected]>--- arch/arm/boot/dts/allwinner/sun4i-a10-dserve-dsrv9703c.dts | 2 +- arch/arm/boot/dts/allwinner/sun4i-a10-pov-protab2-ips9.dts | 2 +- arch/arm/boot/dts/allwinner/sun6i-a31-hummingbird.dts | 2 +- arch/arm/boot/dts/allwinner/sun6i-a31s-primo81.dts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-)arch/arm/boot/dts/allwinner/sun4i-a10-dserve-dsrv9703c.dts +1
-1@@ -112,7 +112,7 @@ axp209: pmic@34 { &i2c1 { /* pull-ups and devices require AXP209 LDO3 */ - status = "failed"; + status = "fail"; }; &i2c2 {arch/arm/boot/dts/allwinner/sun4i-a10-pov-protab2-ips9.dts +1
-1@@ -96,7 +96,7 @@ axp209: pmic@34 { &i2c1 { /* pull-ups and devices require AXP209 LDO3 */ - status = "failed"; + status = "fail"; }; &i2c2 {arch/arm/boot/dts/allwinner/sun6i-a31-hummingbird.dts +1
-1@@ -170,7 +170,7 @@ hdmi_out_con: endpoint { &i2c0 { /* pull-ups and devices require AXP221 DLDO3 */ - status = "failed"; + status = "fail"; }; &i2c1 {arch/arm/boot/dts/allwinner/sun6i-a31s-primo81.dts +1
-1@@ -90,7 +90,7 @@ hdmi_out_con: endpoint { &i2c0 { /* pull-ups and device VDDIO use AXP221 DLDO3 */ - status = "failed"; + status = "fail"; }; &i2c1 {
Quoted 6 lines · Chen-Yu Tsai
Hi folks,
This series gets rid of the remaining DT validation errors for Allwinner (sunxi) ARM 32-bit device trees. The patches are self explaining.
I plan to take all four patches through the sunxi tree.
It's v1 and not a resend, thus subsystem patches should go via subsystem trees.
Best regards,
Krzysztof
Chen-Yu Tsai
maintainerRe: (subset) [PATCH 0/4] ARM: dts: allwinner: Fix remaining DT validation errors
In reply to Chen-Yu TsaiQuoted 9 lines · Chen-Yu Tsai
This series gets rid of the remaining DT validation errors for Allwinner (sunxi) ARM 32-bit device trees. The patches are self explaining.
I plan to take all four patches through the sunxi tree.
ChenYu
[...]
Applied to sunxi/dt-for-6.20 in local tree, thanks!
[3/4] ARM: dts: allwinner: sun5i-a13-utoo-p66: delete "power-gpios" property
commit: 0b2761eb1287bd9f62367cccf6626eb3107cef6f
[4/4] ARM: dts: allwinner: Replace status "failed" with "fail"
(no commit info)
Best regards,
Signature · 1 line
Chen-Yu Tsai <[email protected]>
Chen-Yu Tsai
maintainerRe: (subset) [PATCH 0/4] ARM: dts: allwinner: Fix remaining DT validation errors
In reply to Chen-Yu TsaiQuoted 9 lines · Chen-Yu Tsai
This series gets rid of the remaining DT validation errors for Allwinner (sunxi) ARM 32-bit device trees. The patches are self explaining.
I plan to take all four patches through the sunxi tree.
ChenYu
[...]
Applied to sunxi/dt-for-6.20 in local tree, thanks!
[4/4] ARM: dts: allwinner: Replace status "failed" with "fail"
commit: db5e9260be8d3437222df74b5074359b22f1f029
Best regards,
Signature · 1 line
Chen-Yu Tsai <[email protected]>