* [PATCH 01/13] dt-bindings: i2c: i2c-wmt: Convert to YAML
2025-04-16 8:21 [PATCH 00/13] ARM: vt8500: DT bindings and dts updates Alexey Charkov
@ 2025-04-16 8:21 ` Alexey Charkov
2025-04-23 11:50 ` Alexey Charkov
2025-04-25 11:42 ` Krzysztof Kozlowski
2025-04-16 8:21 ` [PATCH 02/13] dt-bindings: interrupt-controller: via,vt8500-intc: " Alexey Charkov
` (12 subsequent siblings)
13 siblings, 2 replies; 37+ messages in thread
From: Alexey Charkov @ 2025-04-16 8:21 UTC (permalink / raw)
To: Krzysztof Kozlowski, Andi Shyti, Rob Herring, Conor Dooley,
Thomas Gleixner, Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Uwe Kleine-König, Daniel Lezcano
Cc: linux-arm-kernel, linux-i2c, devicetree, linux-kernel, linux-mmc,
netdev, linux-pwm, Alexey Charkov
Rewrite the textual description for the WonderMedia I2C controller
as YAML schema, and switch the filename to follow the compatible
string.
The controller only supports two bus speeds (100kHz and 400kHz)
so restrict clock-frequency values accordingly.
Signed-off-by: Alexey Charkov <alchark@gmail.com>
---
Documentation/devicetree/bindings/i2c/i2c-wmt.txt | 24 -----------
.../devicetree/bindings/i2c/wm,wm8505-i2c.yaml | 47 ++++++++++++++++++++++
MAINTAINERS | 2 +-
3 files changed, 48 insertions(+), 25 deletions(-)
diff --git a/Documentation/devicetree/bindings/i2c/i2c-wmt.txt b/Documentation/devicetree/bindings/i2c/i2c-wmt.txt
deleted file mode 100644
index 94a425eaa6c78bc9e3136ae7055b51635baf16ca..0000000000000000000000000000000000000000
--- a/Documentation/devicetree/bindings/i2c/i2c-wmt.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-* Wondermedia I2C Controller
-
-Required properties :
-
- - compatible : should be "wm,wm8505-i2c"
- - reg : Offset and length of the register set for the device
- - interrupts : <IRQ> where IRQ is the interrupt number
- - clocks : phandle to the I2C clock source
-
-Optional properties :
-
- - clock-frequency : desired I2C bus clock frequency in Hz.
- Valid values are 100000 and 400000.
- Default to 100000 if not specified, or invalid value.
-
-Example :
-
- i2c_0: i2c@d8280000 {
- compatible = "wm,wm8505-i2c";
- reg = <0xd8280000 0x1000>;
- interrupts = <19>;
- clocks = <&clki2c0>;
- clock-frequency = <400000>;
- };
diff --git a/Documentation/devicetree/bindings/i2c/wm,wm8505-i2c.yaml b/Documentation/devicetree/bindings/i2c/wm,wm8505-i2c.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e498ce47b885203fcfe233b946f987abdac6784a
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/wm,wm8505-i2c.yaml
@@ -0,0 +1,47 @@
+# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/i2c/wm,wm8505-i2c.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: I2C Controller on WonderMedia WM8505 and related SoCs
+
+maintainers:
+ - Alexey Charkov <alchark@gmail.com>
+
+allOf:
+ - $ref: /schemas/i2c/i2c-controller.yaml#
+
+properties:
+ compatible:
+ const: wm,wm8505-i2c
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ clock-frequency:
+ enum: [100000, 400000]
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - clocks
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ i2c_0: i2c@d8280000 {
+ compatible = "wm,wm8505-i2c";
+ reg = <0xd8280000 0x1000>;
+ interrupts = <19>;
+ clocks = <&clki2c0>;
+ clock-frequency = <400000>;
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index 96b82704950184bd71623ff41fc4df31e4c7fe87..c5195a98b15a39583d337fb6310b80432b0f6922 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3427,7 +3427,7 @@ M: Alexey Charkov <alchark@gmail.com>
M: Krzysztof Kozlowski <krzk@kernel.org>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S: Odd Fixes
-F: Documentation/devicetree/bindings/i2c/i2c-wmt.txt
+F: Documentation/devicetree/bindings/i2c/wm,wm8505-i2c.yaml
F: arch/arm/boot/dts/vt8500/
F: arch/arm/mach-vt8500/
F: drivers/clocksource/timer-vt8500.c
--
2.49.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* Re: [PATCH 01/13] dt-bindings: i2c: i2c-wmt: Convert to YAML
2025-04-16 8:21 ` [PATCH 01/13] dt-bindings: i2c: i2c-wmt: Convert to YAML Alexey Charkov
@ 2025-04-23 11:50 ` Alexey Charkov
2025-04-25 11:42 ` Krzysztof Kozlowski
1 sibling, 0 replies; 37+ messages in thread
From: Alexey Charkov @ 2025-04-23 11:50 UTC (permalink / raw)
To: Krzysztof Kozlowski, Andi Shyti, Rob Herring, Conor Dooley,
Thomas Gleixner, Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Uwe Kleine-König, Daniel Lezcano
Cc: linux-arm-kernel, linux-i2c, devicetree, linux-kernel, linux-mmc,
netdev, linux-pwm
On Wed, Apr 16, 2025 at 12:21 PM Alexey Charkov <alchark@gmail.com> wrote:
>
> Rewrite the textual description for the WonderMedia I2C controller
> as YAML schema, and switch the filename to follow the compatible
> string.
>
> The controller only supports two bus speeds (100kHz and 400kHz)
> so restrict clock-frequency values accordingly.
>
> Signed-off-by: Alexey Charkov <alchark@gmail.com>
> ---
> Documentation/devicetree/bindings/i2c/i2c-wmt.txt | 24 -----------
> .../devicetree/bindings/i2c/wm,wm8505-i2c.yaml | 47 ++++++++++++++++++++++
> MAINTAINERS | 2 +-
> 3 files changed, 48 insertions(+), 25 deletions(-)
Dear all,
There haven't been any review comments on this one. Shall I resubmit
this patch separately from the big series for easier merging (perhaps
also dropping the MAINTAINERS update until later, so as to minimize
conflicts in linux-next)? It doesn't have any external dependencies,
and the binding itself is rather boring/trivial.
Best regards,
Alexey
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 01/13] dt-bindings: i2c: i2c-wmt: Convert to YAML
2025-04-16 8:21 ` [PATCH 01/13] dt-bindings: i2c: i2c-wmt: Convert to YAML Alexey Charkov
2025-04-23 11:50 ` Alexey Charkov
@ 2025-04-25 11:42 ` Krzysztof Kozlowski
1 sibling, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2025-04-25 11:42 UTC (permalink / raw)
To: Alexey Charkov, Andi Shyti, Rob Herring, Conor Dooley,
Thomas Gleixner, Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Uwe Kleine-König, Daniel Lezcano
Cc: linux-arm-kernel, linux-i2c, devicetree, linux-kernel, linux-mmc,
netdev, linux-pwm
On 16/04/2025 10:21, Alexey Charkov wrote:
> Rewrite the textual description for the WonderMedia I2C controller
> as YAML schema, and switch the filename to follow the compatible
> string.
>
> The controller only supports two bus speeds (100kHz and 400kHz)
> so restrict clock-frequency values accordingly.
>
> Signed-off-by: Alexey Charkov <alchark@gmail.com>
> ---
> Documentation/devicetree/bindings/i2c/i2c-wmt.txt | 24 -----------
> .../devicetree/bindings/i2c/wm,wm8505-i2c.yaml | 47 ++++++++++++++++++++++
> MAINTAINERS | 2 +-
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 37+ messages in thread
* [PATCH 02/13] dt-bindings: interrupt-controller: via,vt8500-intc: Convert to YAML
2025-04-16 8:21 [PATCH 00/13] ARM: vt8500: DT bindings and dts updates Alexey Charkov
2025-04-16 8:21 ` [PATCH 01/13] dt-bindings: i2c: i2c-wmt: Convert to YAML Alexey Charkov
@ 2025-04-16 8:21 ` Alexey Charkov
2025-04-16 20:10 ` Rob Herring
2025-04-16 8:21 ` [PATCH 03/13] dt-bindings: mmc: vt8500-sdmmc: " Alexey Charkov
` (11 subsequent siblings)
13 siblings, 1 reply; 37+ messages in thread
From: Alexey Charkov @ 2025-04-16 8:21 UTC (permalink / raw)
To: Krzysztof Kozlowski, Andi Shyti, Rob Herring, Conor Dooley,
Thomas Gleixner, Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Uwe Kleine-König, Daniel Lezcano
Cc: linux-arm-kernel, linux-i2c, devicetree, linux-kernel, linux-mmc,
netdev, linux-pwm, Alexey Charkov
Rewrite the textual description for the VIA/WonderMedia interrupt
controller as YAML schema.
Signed-off-by: Alexey Charkov <alchark@gmail.com>
---
.../interrupt-controller/via,vt8500-intc.txt | 16 --------
.../interrupt-controller/via,vt8500-intc.yaml | 47 ++++++++++++++++++++++
MAINTAINERS | 1 +
3 files changed, 48 insertions(+), 16 deletions(-)
diff --git a/Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.txt b/Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.txt
deleted file mode 100644
index 0a4ce1051b0252bbbdeef3288b90e9913d3f16f0..0000000000000000000000000000000000000000
--- a/Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-VIA/Wondermedia VT8500 Interrupt Controller
------------------------------------------------------
-
-Required properties:
-- compatible : "via,vt8500-intc"
-- reg : Should contain 1 register ranges(address and length)
-- #interrupt-cells : should be <1>
-
-Example:
-
- intc: interrupt-controller@d8140000 {
- compatible = "via,vt8500-intc";
- interrupt-controller;
- reg = <0xd8140000 0x10000>;
- #interrupt-cells = <1>;
- };
diff --git a/Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.yaml b/Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a3fbe985db276e6a3b65cc66c7de097ed0719c0c
--- /dev/null
+++ b/Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.yaml
@@ -0,0 +1,47 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/interrupt-controller/via,vt8500-intc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: VIA and WonderMedia SoCs Interrupt Controller
+
+maintainers:
+ - Alexey Charkov <alchark@gmail.com>
+
+allOf:
+ - $ref: /schemas/interrupt-controller.yaml#
+
+
+properties:
+ compatible:
+ const: via,vt8500-intc
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 8
+
+ interrupt-controller: true
+
+ '#interrupt-cells':
+ const: 1
+
+required:
+ - compatible
+ - reg
+ - interrupt-controller
+ - '#interrupt-cells'
+
+additionalProperties: false
+
+examples:
+ - |
+ interrupt-controller@d8140000 {
+ compatible = "via,vt8500-intc";
+ interrupt-controller;
+ reg = <0xd8140000 0x10000>;
+ #interrupt-cells = <1>;
+ };
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index c5195a98b15a39583d337fb6310b80432b0f6922..2444282096e03b301ed0e3209b4de7a114709764 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3428,6 +3428,7 @@ M: Krzysztof Kozlowski <krzk@kernel.org>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S: Odd Fixes
F: Documentation/devicetree/bindings/i2c/wm,wm8505-i2c.yaml
+F: Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.yaml
F: arch/arm/boot/dts/vt8500/
F: arch/arm/mach-vt8500/
F: drivers/clocksource/timer-vt8500.c
--
2.49.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* Re: [PATCH 02/13] dt-bindings: interrupt-controller: via,vt8500-intc: Convert to YAML
2025-04-16 8:21 ` [PATCH 02/13] dt-bindings: interrupt-controller: via,vt8500-intc: " Alexey Charkov
@ 2025-04-16 20:10 ` Rob Herring
2025-04-17 6:15 ` Alexey Charkov
0 siblings, 1 reply; 37+ messages in thread
From: Rob Herring @ 2025-04-16 20:10 UTC (permalink / raw)
To: Alexey Charkov
Cc: Krzysztof Kozlowski, Andi Shyti, Conor Dooley, Thomas Gleixner,
Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Uwe Kleine-König,
Daniel Lezcano, linux-arm-kernel, linux-i2c, devicetree,
linux-kernel, linux-mmc, netdev, linux-pwm
On Wed, Apr 16, 2025 at 12:21:27PM +0400, Alexey Charkov wrote:
> Rewrite the textual description for the VIA/WonderMedia interrupt
> controller as YAML schema.
>
> Signed-off-by: Alexey Charkov <alchark@gmail.com>
> ---
> .../interrupt-controller/via,vt8500-intc.txt | 16 --------
> .../interrupt-controller/via,vt8500-intc.yaml | 47 ++++++++++++++++++++++
> MAINTAINERS | 1 +
> 3 files changed, 48 insertions(+), 16 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.txt b/Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.txt
> deleted file mode 100644
> index 0a4ce1051b0252bbbdeef3288b90e9913d3f16f0..0000000000000000000000000000000000000000
> --- a/Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.txt
> +++ /dev/null
> @@ -1,16 +0,0 @@
> -VIA/Wondermedia VT8500 Interrupt Controller
> ------------------------------------------------------
> -
> -Required properties:
> -- compatible : "via,vt8500-intc"
> -- reg : Should contain 1 register ranges(address and length)
> -- #interrupt-cells : should be <1>
> -
> -Example:
> -
> - intc: interrupt-controller@d8140000 {
> - compatible = "via,vt8500-intc";
> - interrupt-controller;
> - reg = <0xd8140000 0x10000>;
> - #interrupt-cells = <1>;
> - };
> diff --git a/Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.yaml b/Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.yaml
> new file mode 100644
> index 0000000000000000000000000000000000000000..a3fbe985db276e6a3b65cc66c7de097ed0719c0c
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.yaml
> @@ -0,0 +1,47 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/interrupt-controller/via,vt8500-intc.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: VIA and WonderMedia SoCs Interrupt Controller
> +
> +maintainers:
> + - Alexey Charkov <alchark@gmail.com>
> +
> +allOf:
> + - $ref: /schemas/interrupt-controller.yaml#
> +
> +
> +properties:
> + compatible:
> + const: via,vt8500-intc
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 8
This wasn't in the original binding. Find to add, but note that in
the commit msg. Here, what each of the 8 entries are must be defined.
> +
> + interrupt-controller: true
> +
> + '#interrupt-cells':
> + const: 1
> +
> +required:
> + - compatible
> + - reg
> + - interrupt-controller
> + - '#interrupt-cells'
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + interrupt-controller@d8140000 {
> + compatible = "via,vt8500-intc";
> + interrupt-controller;
> + reg = <0xd8140000 0x10000>;
> + #interrupt-cells = <1>;
> + };
> +...
> diff --git a/MAINTAINERS b/MAINTAINERS
> index c5195a98b15a39583d337fb6310b80432b0f6922..2444282096e03b301ed0e3209b4de7a114709764 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -3428,6 +3428,7 @@ M: Krzysztof Kozlowski <krzk@kernel.org>
> L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
> S: Odd Fixes
> F: Documentation/devicetree/bindings/i2c/wm,wm8505-i2c.yaml
> +F: Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.yaml
> F: arch/arm/boot/dts/vt8500/
> F: arch/arm/mach-vt8500/
> F: drivers/clocksource/timer-vt8500.c
>
> --
> 2.49.0
>
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 02/13] dt-bindings: interrupt-controller: via,vt8500-intc: Convert to YAML
2025-04-16 20:10 ` Rob Herring
@ 2025-04-17 6:15 ` Alexey Charkov
0 siblings, 0 replies; 37+ messages in thread
From: Alexey Charkov @ 2025-04-17 6:15 UTC (permalink / raw)
To: Rob Herring
Cc: Krzysztof Kozlowski, Andi Shyti, Conor Dooley, Thomas Gleixner,
Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Uwe Kleine-König,
Daniel Lezcano, linux-arm-kernel, linux-i2c, devicetree,
linux-kernel, linux-mmc, netdev, linux-pwm
On Thu, Apr 17, 2025 at 12:10 AM Rob Herring <robh@kernel.org> wrote:
>
> On Wed, Apr 16, 2025 at 12:21:27PM +0400, Alexey Charkov wrote:
> > Rewrite the textual description for the VIA/WonderMedia interrupt
> > controller as YAML schema.
> >
> > Signed-off-by: Alexey Charkov <alchark@gmail.com>
> > ---
> > .../interrupt-controller/via,vt8500-intc.txt | 16 --------
> > .../interrupt-controller/via,vt8500-intc.yaml | 47 ++++++++++++++++++++++
> > MAINTAINERS | 1 +
> > 3 files changed, 48 insertions(+), 16 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.txt b/Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.txt
> > deleted file mode 100644
> > index 0a4ce1051b0252bbbdeef3288b90e9913d3f16f0..0000000000000000000000000000000000000000
> > --- a/Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.txt
> > +++ /dev/null
> > @@ -1,16 +0,0 @@
> > -VIA/Wondermedia VT8500 Interrupt Controller
> > ------------------------------------------------------
> > -
> > -Required properties:
> > -- compatible : "via,vt8500-intc"
> > -- reg : Should contain 1 register ranges(address and length)
> > -- #interrupt-cells : should be <1>
> > -
> > -Example:
> > -
> > - intc: interrupt-controller@d8140000 {
> > - compatible = "via,vt8500-intc";
> > - interrupt-controller;
> > - reg = <0xd8140000 0x10000>;
> > - #interrupt-cells = <1>;
> > - };
> > diff --git a/Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.yaml b/Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.yaml
> > new file mode 100644
> > index 0000000000000000000000000000000000000000..a3fbe985db276e6a3b65cc66c7de097ed0719c0c
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.yaml
> > @@ -0,0 +1,47 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/interrupt-controller/via,vt8500-intc.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: VIA and WonderMedia SoCs Interrupt Controller
> > +
> > +maintainers:
> > + - Alexey Charkov <alchark@gmail.com>
> > +
> > +allOf:
> > + - $ref: /schemas/interrupt-controller.yaml#
> > +
> > +
> > +properties:
> > + compatible:
> > + const: via,vt8500-intc
> > +
> > + reg:
> > + maxItems: 1
> > +
> > + interrupts:
> > + maxItems: 8
>
> This wasn't in the original binding. Find to add, but note that in
> the commit msg. Here, what each of the 8 entries are must be defined.
Will do, thank you.
The primary interrupt controller only has a single line routed to the
CPU (out of the 8 outputs it technically has), while the (identical)
chained interrupt controller has all its 8 output lines routed to the
primary controller. There's not much difference between those outputs
other than the names IC1_IRQ0~7.
The original textual description only listed one interrupt, because it
worked ok with one interrupt (the chained controller can be configured
wrt. which output to trigger for each of the inputs, and those can all
be IC1_IRQ0), even though it is not a complete description of the
actual hardware.
Will reflect that in the commit message and descriptions.
Best regards,
Alexey
^ permalink raw reply [flat|nested] 37+ messages in thread
* [PATCH 03/13] dt-bindings: mmc: vt8500-sdmmc: Convert to YAML
2025-04-16 8:21 [PATCH 00/13] ARM: vt8500: DT bindings and dts updates Alexey Charkov
2025-04-16 8:21 ` [PATCH 01/13] dt-bindings: i2c: i2c-wmt: Convert to YAML Alexey Charkov
2025-04-16 8:21 ` [PATCH 02/13] dt-bindings: interrupt-controller: via,vt8500-intc: " Alexey Charkov
@ 2025-04-16 8:21 ` Alexey Charkov
2025-04-16 20:14 ` Rob Herring
2025-04-16 8:21 ` [PATCH 04/13] dt-bindings: net: via-rhine: " Alexey Charkov
` (10 subsequent siblings)
13 siblings, 1 reply; 37+ messages in thread
From: Alexey Charkov @ 2025-04-16 8:21 UTC (permalink / raw)
To: Krzysztof Kozlowski, Andi Shyti, Rob Herring, Conor Dooley,
Thomas Gleixner, Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Uwe Kleine-König, Daniel Lezcano
Cc: linux-arm-kernel, linux-i2c, devicetree, linux-kernel, linux-mmc,
netdev, linux-pwm, Alexey Charkov
Rewrite the textual description for the WonderMedia SDMMC controller
as YAML schema, and switch the filename to follow the compatible
string.
Signed-off-by: Alexey Charkov <alchark@gmail.com>
---
.../devicetree/bindings/mmc/vt8500-sdmmc.txt | 23 --------
.../devicetree/bindings/mmc/wm,wm8505-sdhc.yaml | 61 ++++++++++++++++++++++
MAINTAINERS | 1 +
3 files changed, 62 insertions(+), 23 deletions(-)
diff --git a/Documentation/devicetree/bindings/mmc/vt8500-sdmmc.txt b/Documentation/devicetree/bindings/mmc/vt8500-sdmmc.txt
deleted file mode 100644
index d7fb6abb3eb8c87e698ca4f30270c949878f3cbf..0000000000000000000000000000000000000000
--- a/Documentation/devicetree/bindings/mmc/vt8500-sdmmc.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-* Wondermedia WM8505/WM8650 SD/MMC Host Controller
-
-This file documents differences between the core properties described
-by mmc.txt and the properties used by the wmt-sdmmc driver.
-
-Required properties:
-- compatible: Should be "wm,wm8505-sdhc".
-- interrupts: Two interrupts are required - regular irq and dma irq.
-
-Optional properties:
-- sdon-inverted: SD_ON bit is inverted on the controller
-
-Examples:
-
-sdhc@d800a000 {
- compatible = "wm,wm8505-sdhc";
- reg = <0xd800a000 0x1000>;
- interrupts = <20 21>;
- clocks = <&sdhc>;
- bus-width = <4>;
- sdon-inverted;
-};
-
diff --git a/Documentation/devicetree/bindings/mmc/wm,wm8505-sdhc.yaml b/Documentation/devicetree/bindings/mmc/wm,wm8505-sdhc.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a7d962bc13c7ff70b50448201b0416efc7f787af
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/wm,wm8505-sdhc.yaml
@@ -0,0 +1,61 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mmc/wm,wm8505-sdhc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: WonderMedia SOC SoC SDHCI Controller
+
+maintainers:
+ - Alexey Charkov <alchark@gmail.com>
+
+allOf:
+ - $ref: mmc-controller.yaml#
+
+properties:
+ compatible:
+ oneOf:
+ - const: wm,wm8505-sdhc
+ - items:
+ - const: wm,wm8650-sdhc
+ - const: wm,wm8505-sdhc
+ - items:
+ - const: wm,wm8750-sdhc
+ - const: wm,wm8505-sdhc
+ - items:
+ - const: wm,wm8850-sdhc
+ - const: wm,wm8505-sdhc
+
+ reg:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ interrupts:
+ items:
+ - description: SDMMC controller interrupt
+ - description: SDMMC controller DMA interrupt
+
+ sdon-inverted:
+ type: boolean
+ description: SD_ON bit is inverted on the controller
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - clocks
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ mmc@d800a000 {
+ compatible = "wm,wm8505-sdhc";
+ reg = <0xd800a000 0x1000>;
+ interrupts = <20>, <21>;
+ clocks = <&sdhc>;
+ bus-width = <4>;
+ sdon-inverted;
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index 2444282096e03b301ed0e3209b4de7a114709764..f106850b9d3d349d82953b672588b967a37ea27b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3429,6 +3429,7 @@ L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S: Odd Fixes
F: Documentation/devicetree/bindings/i2c/wm,wm8505-i2c.yaml
F: Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.yaml
+F: Documentation/devicetree/bindings/mmc/wm,wm8505-sdhc.yaml
F: arch/arm/boot/dts/vt8500/
F: arch/arm/mach-vt8500/
F: drivers/clocksource/timer-vt8500.c
--
2.49.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* Re: [PATCH 03/13] dt-bindings: mmc: vt8500-sdmmc: Convert to YAML
2025-04-16 8:21 ` [PATCH 03/13] dt-bindings: mmc: vt8500-sdmmc: " Alexey Charkov
@ 2025-04-16 20:14 ` Rob Herring
2025-04-17 6:25 ` Alexey Charkov
0 siblings, 1 reply; 37+ messages in thread
From: Rob Herring @ 2025-04-16 20:14 UTC (permalink / raw)
To: Alexey Charkov
Cc: Krzysztof Kozlowski, Andi Shyti, Conor Dooley, Thomas Gleixner,
Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Uwe Kleine-König,
Daniel Lezcano, linux-arm-kernel, linux-i2c, devicetree,
linux-kernel, linux-mmc, netdev, linux-pwm
On Wed, Apr 16, 2025 at 12:21:28PM +0400, Alexey Charkov wrote:
> Rewrite the textual description for the WonderMedia SDMMC controller
> as YAML schema, and switch the filename to follow the compatible
> string.
>
> Signed-off-by: Alexey Charkov <alchark@gmail.com>
> ---
> .../devicetree/bindings/mmc/vt8500-sdmmc.txt | 23 --------
> .../devicetree/bindings/mmc/wm,wm8505-sdhc.yaml | 61 ++++++++++++++++++++++
> MAINTAINERS | 1 +
> 3 files changed, 62 insertions(+), 23 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/mmc/vt8500-sdmmc.txt b/Documentation/devicetree/bindings/mmc/vt8500-sdmmc.txt
> deleted file mode 100644
> index d7fb6abb3eb8c87e698ca4f30270c949878f3cbf..0000000000000000000000000000000000000000
> --- a/Documentation/devicetree/bindings/mmc/vt8500-sdmmc.txt
> +++ /dev/null
> @@ -1,23 +0,0 @@
> -* Wondermedia WM8505/WM8650 SD/MMC Host Controller
> -
> -This file documents differences between the core properties described
> -by mmc.txt and the properties used by the wmt-sdmmc driver.
> -
> -Required properties:
> -- compatible: Should be "wm,wm8505-sdhc".
> -- interrupts: Two interrupts are required - regular irq and dma irq.
> -
> -Optional properties:
> -- sdon-inverted: SD_ON bit is inverted on the controller
> -
> -Examples:
> -
> -sdhc@d800a000 {
> - compatible = "wm,wm8505-sdhc";
> - reg = <0xd800a000 0x1000>;
> - interrupts = <20 21>;
> - clocks = <&sdhc>;
> - bus-width = <4>;
> - sdon-inverted;
> -};
> -
> diff --git a/Documentation/devicetree/bindings/mmc/wm,wm8505-sdhc.yaml b/Documentation/devicetree/bindings/mmc/wm,wm8505-sdhc.yaml
> new file mode 100644
> index 0000000000000000000000000000000000000000..a7d962bc13c7ff70b50448201b0416efc7f787af
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mmc/wm,wm8505-sdhc.yaml
> @@ -0,0 +1,61 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mmc/wm,wm8505-sdhc.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: WonderMedia SOC SoC SDHCI Controller
> +
> +maintainers:
> + - Alexey Charkov <alchark@gmail.com>
> +
> +allOf:
> + - $ref: mmc-controller.yaml#
> +
> +properties:
> + compatible:
> + oneOf:
> + - const: wm,wm8505-sdhc
> + - items:
> + - const: wm,wm8650-sdhc
> + - const: wm,wm8505-sdhc
> + - items:
> + - const: wm,wm8750-sdhc
> + - const: wm,wm8505-sdhc
> + - items:
> + - const: wm,wm8850-sdhc
> + - const: wm,wm8505-sdhc
Combine the last 3 entries into 1 using 'enum' for the 1st compatible.
> +
> + reg:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 1
> +
> + interrupts:
> + items:
> + - description: SDMMC controller interrupt
> + - description: SDMMC controller DMA interrupt
> +
> + sdon-inverted:
> + type: boolean
> + description: SD_ON bit is inverted on the controller
This implies I know what the non-inverted state is. If you know, please
state that here.
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - clocks
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + mmc@d800a000 {
> + compatible = "wm,wm8505-sdhc";
> + reg = <0xd800a000 0x1000>;
> + interrupts = <20>, <21>;
> + clocks = <&sdhc>;
> + bus-width = <4>;
> + sdon-inverted;
> + };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 2444282096e03b301ed0e3209b4de7a114709764..f106850b9d3d349d82953b672588b967a37ea27b 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -3429,6 +3429,7 @@ L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
> S: Odd Fixes
> F: Documentation/devicetree/bindings/i2c/wm,wm8505-i2c.yaml
> F: Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.yaml
> +F: Documentation/devicetree/bindings/mmc/wm,wm8505-sdhc.yaml
> F: arch/arm/boot/dts/vt8500/
> F: arch/arm/mach-vt8500/
> F: drivers/clocksource/timer-vt8500.c
>
> --
> 2.49.0
>
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 03/13] dt-bindings: mmc: vt8500-sdmmc: Convert to YAML
2025-04-16 20:14 ` Rob Herring
@ 2025-04-17 6:25 ` Alexey Charkov
2025-04-18 12:38 ` Alexey Charkov
0 siblings, 1 reply; 37+ messages in thread
From: Alexey Charkov @ 2025-04-17 6:25 UTC (permalink / raw)
To: Rob Herring
Cc: Krzysztof Kozlowski, Andi Shyti, Conor Dooley, Thomas Gleixner,
Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Uwe Kleine-König,
Daniel Lezcano, linux-arm-kernel, linux-i2c, devicetree,
linux-kernel, linux-mmc, netdev, linux-pwm
On Thu, Apr 17, 2025 at 12:14 AM Rob Herring <robh@kernel.org> wrote:
>
> On Wed, Apr 16, 2025 at 12:21:28PM +0400, Alexey Charkov wrote:
> > Rewrite the textual description for the WonderMedia SDMMC controller
> > as YAML schema, and switch the filename to follow the compatible
> > string.
> >
> > Signed-off-by: Alexey Charkov <alchark@gmail.com>
> > ---
> > .../devicetree/bindings/mmc/vt8500-sdmmc.txt | 23 --------
> > .../devicetree/bindings/mmc/wm,wm8505-sdhc.yaml | 61 ++++++++++++++++++++++
> > MAINTAINERS | 1 +
> > 3 files changed, 62 insertions(+), 23 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/mmc/vt8500-sdmmc.txt b/Documentation/devicetree/bindings/mmc/vt8500-sdmmc.txt
> > deleted file mode 100644
> > index d7fb6abb3eb8c87e698ca4f30270c949878f3cbf..0000000000000000000000000000000000000000
> > --- a/Documentation/devicetree/bindings/mmc/vt8500-sdmmc.txt
> > +++ /dev/null
> > @@ -1,23 +0,0 @@
> > -* Wondermedia WM8505/WM8650 SD/MMC Host Controller
> > -
> > -This file documents differences between the core properties described
> > -by mmc.txt and the properties used by the wmt-sdmmc driver.
> > -
> > -Required properties:
> > -- compatible: Should be "wm,wm8505-sdhc".
> > -- interrupts: Two interrupts are required - regular irq and dma irq.
> > -
> > -Optional properties:
> > -- sdon-inverted: SD_ON bit is inverted on the controller
> > -
> > -Examples:
> > -
> > -sdhc@d800a000 {
> > - compatible = "wm,wm8505-sdhc";
> > - reg = <0xd800a000 0x1000>;
> > - interrupts = <20 21>;
> > - clocks = <&sdhc>;
> > - bus-width = <4>;
> > - sdon-inverted;
> > -};
> > -
> > diff --git a/Documentation/devicetree/bindings/mmc/wm,wm8505-sdhc.yaml b/Documentation/devicetree/bindings/mmc/wm,wm8505-sdhc.yaml
> > new file mode 100644
> > index 0000000000000000000000000000000000000000..a7d962bc13c7ff70b50448201b0416efc7f787af
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/mmc/wm,wm8505-sdhc.yaml
> > @@ -0,0 +1,61 @@
> > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/mmc/wm,wm8505-sdhc.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: WonderMedia SOC SoC SDHCI Controller
> > +
> > +maintainers:
> > + - Alexey Charkov <alchark@gmail.com>
> > +
> > +allOf:
> > + - $ref: mmc-controller.yaml#
> > +
> > +properties:
> > + compatible:
> > + oneOf:
> > + - const: wm,wm8505-sdhc
> > + - items:
> > + - const: wm,wm8650-sdhc
> > + - const: wm,wm8505-sdhc
> > + - items:
> > + - const: wm,wm8750-sdhc
> > + - const: wm,wm8505-sdhc
> > + - items:
> > + - const: wm,wm8850-sdhc
> > + - const: wm,wm8505-sdhc
>
> Combine the last 3 entries into 1 using 'enum' for the 1st compatible.
Fair enough, will do.
> > +
> > + reg:
> > + maxItems: 1
> > +
> > + clocks:
> > + maxItems: 1
> > +
> > + interrupts:
> > + items:
> > + - description: SDMMC controller interrupt
> > + - description: SDMMC controller DMA interrupt
> > +
> > + sdon-inverted:
> > + type: boolean
> > + description: SD_ON bit is inverted on the controller
>
> This implies I know what the non-inverted state is. If you know, please
> state that here.
This is a tricky one. The only answer I have is "it's inverted in
later versions vs. the first version I saw in the wild, and I'm not
sure if it's board related or IP version related - nor if the original
was active low or high". No docs, no schematics, no vendor left around
to chase for answers.
Will dig around some more and update the description if I succeed in
uncovering any further clues :)
Best regards,
Alexey
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 03/13] dt-bindings: mmc: vt8500-sdmmc: Convert to YAML
2025-04-17 6:25 ` Alexey Charkov
@ 2025-04-18 12:38 ` Alexey Charkov
2025-04-22 8:08 ` Krzysztof Kozlowski
0 siblings, 1 reply; 37+ messages in thread
From: Alexey Charkov @ 2025-04-18 12:38 UTC (permalink / raw)
To: Rob Herring
Cc: Krzysztof Kozlowski, Andi Shyti, Conor Dooley, Thomas Gleixner,
Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Uwe Kleine-König,
Daniel Lezcano, linux-arm-kernel, linux-i2c, devicetree,
linux-kernel, linux-mmc, netdev, linux-pwm
On Thu, Apr 17, 2025 at 10:25 AM Alexey Charkov <alchark@gmail.com> wrote:
>
> On Thu, Apr 17, 2025 at 12:14 AM Rob Herring <robh@kernel.org> wrote:
> >
> > On Wed, Apr 16, 2025 at 12:21:28PM +0400, Alexey Charkov wrote:
> > > Rewrite the textual description for the WonderMedia SDMMC controller
> > > as YAML schema, and switch the filename to follow the compatible
> > > string.
> > >
> > > Signed-off-by: Alexey Charkov <alchark@gmail.com>
> > > ---
> > > .../devicetree/bindings/mmc/vt8500-sdmmc.txt | 23 --------
> > > .../devicetree/bindings/mmc/wm,wm8505-sdhc.yaml | 61 ++++++++++++++++++++++
> > > MAINTAINERS | 1 +
> > > 3 files changed, 62 insertions(+), 23 deletions(-)
> > >
> > > diff --git a/Documentation/devicetree/bindings/mmc/vt8500-sdmmc.txt b/Documentation/devicetree/bindings/mmc/vt8500-sdmmc.txt
> > > deleted file mode 100644
> > > index d7fb6abb3eb8c87e698ca4f30270c949878f3cbf..0000000000000000000000000000000000000000
> > > --- a/Documentation/devicetree/bindings/mmc/vt8500-sdmmc.txt
> > > +++ /dev/null
> > > @@ -1,23 +0,0 @@
> > > -* Wondermedia WM8505/WM8650 SD/MMC Host Controller
> > > -
> > > -This file documents differences between the core properties described
> > > -by mmc.txt and the properties used by the wmt-sdmmc driver.
> > > -
> > > -Required properties:
> > > -- compatible: Should be "wm,wm8505-sdhc".
> > > -- interrupts: Two interrupts are required - regular irq and dma irq.
> > > -
> > > -Optional properties:
> > > -- sdon-inverted: SD_ON bit is inverted on the controller
> > > -
> > > -Examples:
> > > -
> > > -sdhc@d800a000 {
> > > - compatible = "wm,wm8505-sdhc";
> > > - reg = <0xd800a000 0x1000>;
> > > - interrupts = <20 21>;
> > > - clocks = <&sdhc>;
> > > - bus-width = <4>;
> > > - sdon-inverted;
> > > -};
> > > -
> > > diff --git a/Documentation/devicetree/bindings/mmc/wm,wm8505-sdhc.yaml b/Documentation/devicetree/bindings/mmc/wm,wm8505-sdhc.yaml
> > > new file mode 100644
> > > index 0000000000000000000000000000000000000000..a7d962bc13c7ff70b50448201b0416efc7f787af
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/mmc/wm,wm8505-sdhc.yaml
> > > @@ -0,0 +1,61 @@
> > > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/mmc/wm,wm8505-sdhc.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: WonderMedia SOC SoC SDHCI Controller
> > > +
> > > +maintainers:
> > > + - Alexey Charkov <alchark@gmail.com>
> > > +
> > > +allOf:
> > > + - $ref: mmc-controller.yaml#
> > > +
> > > +properties:
> > > + compatible:
> > > + oneOf:
> > > + - const: wm,wm8505-sdhc
> > > + - items:
> > > + - const: wm,wm8650-sdhc
> > > + - const: wm,wm8505-sdhc
> > > + - items:
> > > + - const: wm,wm8750-sdhc
> > > + - const: wm,wm8505-sdhc
> > > + - items:
> > > + - const: wm,wm8850-sdhc
> > > + - const: wm,wm8505-sdhc
> >
> > Combine the last 3 entries into 1 using 'enum' for the 1st compatible.
>
> Fair enough, will do.
>
> > > +
> > > + reg:
> > > + maxItems: 1
> > > +
> > > + clocks:
> > > + maxItems: 1
> > > +
> > > + interrupts:
> > > + items:
> > > + - description: SDMMC controller interrupt
> > > + - description: SDMMC controller DMA interrupt
> > > +
> > > + sdon-inverted:
> > > + type: boolean
> > > + description: SD_ON bit is inverted on the controller
> >
> > This implies I know what the non-inverted state is. If you know, please
> > state that here.
>
> This is a tricky one. The only answer I have is "it's inverted in
> later versions vs. the first version I saw in the wild, and I'm not
> sure if it's board related or IP version related - nor if the original
> was active low or high". No docs, no schematics, no vendor left around
> to chase for answers.
>
> Will dig around some more and update the description if I succeed in
> uncovering any further clues :)
I've found some extra clues and would like to consult on the best way forward.
It turns out (if my understanding of the decompiled binary-only WM8505
vendor driver is correct) that all chips before (not including) WM8505
rev. A2 treated their "clock stop" bit (register offset 0x08 a.k.a.
SDMMC_BUSMODE, bit 0x10 a.k.a. BM_CST in vendor sources, BM_SD_OFF in
mainline) as "set 1 to disable SD clock", while all the later versions
treated it as "set 0 to disable SD clock". Which means that there are
WM8505 based systems that rely on either of those behaviours, while
any later chips need "set 0 to disable". This is not a board related
quirk but an on-chip SDMMC controller revision related quirk.
I'd love to switch to a compatible-based logic and drop the
"sdon-inverted" flag altogether from the binding I'm writing, but here
are my doubts where I'd love to consult.
* Looks like WM8505 rev. A2 needs a separate compatible string vs.
prior WM8505. Can we have something like "wm,wm8505a2-sdhc" and
"wm,wm8505-sdhc" respectively? WM8505a2 not being an actual chip name,
but something discoverable by reading its hardware ID from a system
configuration register at runtime
* If I introduce new compatible strings for "wm,wm8650-sdhc",
"wm,wm8750-sdhc", "wm,wm8850-sdhc" and "wm,wm8880-sdhc" in bindings,
DTS and driver code, then the new driver and new DTB should work fine,
and the DTS should pass schema checks. New driver code won't work with
older DTB unless I keep the logic to parse "sdon-inverted" which
wouldn't be part of the binding. Old driver code would not work with
newer DTB except for pre-A2 versions of WM8505. Is that acceptable?
* Existing DTS doesn't differentiate between pre-A2 vs. post-A2
revisions of WM8505 and is bound to fail on the latter
I realize that breaking backward/forward compatibility is undesirable,
but frankly these systems seem to have few mainline users, and those
people who do run mainline on them ought to be compiling the kernel
and its DTB at the same time, because the firmware doesn't know
anything about DT and any modern kernel can only be booted in
"appended DTB" mode. I also don't know of any non-Linux code that
might be using these device trees.
Any guidance would be much appreciated.
Best regards,
Alexey
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 03/13] dt-bindings: mmc: vt8500-sdmmc: Convert to YAML
2025-04-18 12:38 ` Alexey Charkov
@ 2025-04-22 8:08 ` Krzysztof Kozlowski
2025-04-22 9:01 ` Alexey Charkov
0 siblings, 1 reply; 37+ messages in thread
From: Krzysztof Kozlowski @ 2025-04-22 8:08 UTC (permalink / raw)
To: Alexey Charkov, Rob Herring
Cc: Andi Shyti, Conor Dooley, Thomas Gleixner, Krzysztof Kozlowski,
Ulf Hansson, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Uwe Kleine-König,
Daniel Lezcano, linux-arm-kernel, linux-i2c, devicetree,
linux-kernel, linux-mmc, netdev, linux-pwm
On 18/04/2025 14:38, Alexey Charkov wrote:
>>
>>>> +
>>>> + reg:
>>>> + maxItems: 1
>>>> +
>>>> + clocks:
>>>> + maxItems: 1
>>>> +
>>>> + interrupts:
>>>> + items:
>>>> + - description: SDMMC controller interrupt
>>>> + - description: SDMMC controller DMA interrupt
>>>> +
>>>> + sdon-inverted:
>>>> + type: boolean
>>>> + description: SD_ON bit is inverted on the controller
>>>
>>> This implies I know what the non-inverted state is. If you know, please
>>> state that here.
>>
>> This is a tricky one. The only answer I have is "it's inverted in
>> later versions vs. the first version I saw in the wild, and I'm not
>> sure if it's board related or IP version related - nor if the original
>> was active low or high". No docs, no schematics, no vendor left around
>> to chase for answers.
>>
>> Will dig around some more and update the description if I succeed in
>> uncovering any further clues :)
>
> I've found some extra clues and would like to consult on the best way forward.
>
> It turns out (if my understanding of the decompiled binary-only WM8505
> vendor driver is correct) that all chips before (not including) WM8505
> rev. A2 treated their "clock stop" bit (register offset 0x08 a.k.a.
> SDMMC_BUSMODE, bit 0x10 a.k.a. BM_CST in vendor sources, BM_SD_OFF in
> mainline) as "set 1 to disable SD clock", while all the later versions
> treated it as "set 0 to disable SD clock". Which means that there are
> WM8505 based systems that rely on either of those behaviours, while
> any later chips need "set 0 to disable". This is not a board related
> quirk but an on-chip SDMMC controller revision related quirk.
>
> I'd love to switch to a compatible-based logic and drop the
> "sdon-inverted" flag altogether from the binding I'm writing, but here
> are my doubts where I'd love to consult.
>
> * Looks like WM8505 rev. A2 needs a separate compatible string vs.
> prior WM8505. Can we have something like "wm,wm8505a2-sdhc" and
> "wm,wm8505-sdhc" respectively? WM8505a2 not being an actual chip name,
> but something discoverable by reading its hardware ID from a system
> configuration register at runtime
Then maybe it can be fully detected runtime? E.g. via soc_id driver (see
drivers/soc/)?
> * If I introduce new compatible strings for "wm,wm8650-sdhc",
> "wm,wm8750-sdhc", "wm,wm8850-sdhc" and "wm,wm8880-sdhc" in bindings,
> DTS and driver code, then the new driver and new DTB should work fine,
> and the DTS should pass schema checks. New driver code won't work with
> older DTB unless I keep the logic to parse "sdon-inverted" which
> wouldn't be part of the binding. Old driver code would not work with
> newer DTB except for pre-A2 versions of WM8505. Is that acceptable?
> * Existing DTS doesn't differentiate between pre-A2 vs. post-A2
> revisions of WM8505 and is bound to fail on the latter
That's an old platform, so we should not break the ABI, thus drivers
must fully support old DTBs.
>
> I realize that breaking backward/forward compatibility is undesirable,
> but frankly these systems seem to have few mainline users, and those
> people who do run mainline on them ought to be compiling the kernel
> and its DTB at the same time, because the firmware doesn't know
There might be other users of DTS and anyway what would be exactly the
benefit? This hardware aspect is already documented via sdon-inverted
property.
> anything about DT and any modern kernel can only be booted in
> "appended DTB" mode. I also don't know of any non-Linux code that
> might be using these device trees.
>
> Any guidance would be much appreciated.
>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 03/13] dt-bindings: mmc: vt8500-sdmmc: Convert to YAML
2025-04-22 8:08 ` Krzysztof Kozlowski
@ 2025-04-22 9:01 ` Alexey Charkov
0 siblings, 0 replies; 37+ messages in thread
From: Alexey Charkov @ 2025-04-22 9:01 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Rob Herring, Andi Shyti, Conor Dooley, Thomas Gleixner,
Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Uwe Kleine-König,
Daniel Lezcano, linux-arm-kernel, linux-i2c, devicetree,
linux-kernel, linux-mmc, netdev, linux-pwm
On Tue, Apr 22, 2025 at 12:08 PM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On 18/04/2025 14:38, Alexey Charkov wrote:
> >>
> >>>> +
> >>>> + reg:
> >>>> + maxItems: 1
> >>>> +
> >>>> + clocks:
> >>>> + maxItems: 1
> >>>> +
> >>>> + interrupts:
> >>>> + items:
> >>>> + - description: SDMMC controller interrupt
> >>>> + - description: SDMMC controller DMA interrupt
> >>>> +
> >>>> + sdon-inverted:
> >>>> + type: boolean
> >>>> + description: SD_ON bit is inverted on the controller
> >>>
> >>> This implies I know what the non-inverted state is. If you know, please
> >>> state that here.
> >>
> >> This is a tricky one. The only answer I have is "it's inverted in
> >> later versions vs. the first version I saw in the wild, and I'm not
> >> sure if it's board related or IP version related - nor if the original
> >> was active low or high". No docs, no schematics, no vendor left around
> >> to chase for answers.
> >>
> >> Will dig around some more and update the description if I succeed in
> >> uncovering any further clues :)
> >
> > I've found some extra clues and would like to consult on the best way forward.
> >
> > It turns out (if my understanding of the decompiled binary-only WM8505
> > vendor driver is correct) that all chips before (not including) WM8505
> > rev. A2 treated their "clock stop" bit (register offset 0x08 a.k.a.
> > SDMMC_BUSMODE, bit 0x10 a.k.a. BM_CST in vendor sources, BM_SD_OFF in
> > mainline) as "set 1 to disable SD clock", while all the later versions
> > treated it as "set 0 to disable SD clock". Which means that there are
> > WM8505 based systems that rely on either of those behaviours, while
> > any later chips need "set 0 to disable". This is not a board related
> > quirk but an on-chip SDMMC controller revision related quirk.
> >
> > I'd love to switch to a compatible-based logic and drop the
> > "sdon-inverted" flag altogether from the binding I'm writing, but here
> > are my doubts where I'd love to consult.
> >
> > * Looks like WM8505 rev. A2 needs a separate compatible string vs.
> > prior WM8505. Can we have something like "wm,wm8505a2-sdhc" and
> > "wm,wm8505-sdhc" respectively? WM8505a2 not being an actual chip name,
> > but something discoverable by reading its hardware ID from a system
> > configuration register at runtime
>
> Then maybe it can be fully detected runtime? E.g. via soc_id driver (see
> drivers/soc/)?
Thanks for pointing this out! Yes, it should work. A separate
mini-driver to identify the SoC based on the system configuration
register readings and a match table on soc_device_attribute inside the
wmt-sdmmc driver to differentiate between different controller
versions which are all identified as "wm,wm8505-sdhc" in current
device trees.
> > * If I introduce new compatible strings for "wm,wm8650-sdhc",
> > "wm,wm8750-sdhc", "wm,wm8850-sdhc" and "wm,wm8880-sdhc" in bindings,
> > DTS and driver code, then the new driver and new DTB should work fine,
> > and the DTS should pass schema checks. New driver code won't work with
> > older DTB unless I keep the logic to parse "sdon-inverted" which
> > wouldn't be part of the binding. Old driver code would not work with
> > newer DTB except for pre-A2 versions of WM8505. Is that acceptable?
> > * Existing DTS doesn't differentiate between pre-A2 vs. post-A2
> > revisions of WM8505 and is bound to fail on the latter
>
> That's an old platform, so we should not break the ABI, thus drivers
> must fully support old DTBs.
Noted, thanks.
> > I realize that breaking backward/forward compatibility is undesirable,
> > but frankly these systems seem to have few mainline users, and those
> > people who do run mainline on them ought to be compiling the kernel
> > and its DTB at the same time, because the firmware doesn't know
>
> There might be other users of DTS and anyway what would be exactly the
> benefit? This hardware aspect is already documented via sdon-inverted
> property.
The benefit is rather cosmetic (to properly describe different
versions of this controller using SoC-specific compatible strings, and
to avoid defining bindings for random vendor-specific properties such
as sdon-inverted).
Best regards,
Alexey
^ permalink raw reply [flat|nested] 37+ messages in thread
* [PATCH 04/13] dt-bindings: net: via-rhine: Convert to YAML
2025-04-16 8:21 [PATCH 00/13] ARM: vt8500: DT bindings and dts updates Alexey Charkov
` (2 preceding siblings ...)
2025-04-16 8:21 ` [PATCH 03/13] dt-bindings: mmc: vt8500-sdmmc: " Alexey Charkov
@ 2025-04-16 8:21 ` Alexey Charkov
2025-04-23 11:49 ` Alexey Charkov
2025-04-16 8:21 ` [PATCH 05/13] dt-bindings: pwm: vt8500-pwm: " Alexey Charkov
` (9 subsequent siblings)
13 siblings, 1 reply; 37+ messages in thread
From: Alexey Charkov @ 2025-04-16 8:21 UTC (permalink / raw)
To: Krzysztof Kozlowski, Andi Shyti, Rob Herring, Conor Dooley,
Thomas Gleixner, Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Uwe Kleine-König, Daniel Lezcano
Cc: linux-arm-kernel, linux-i2c, devicetree, linux-kernel, linux-mmc,
netdev, linux-pwm, Alexey Charkov
Rewrite the textual description for the VIA Rhine platform Ethernet
controller as YAML schema, and switch the filename to follow the
compatible string. These are used in several VIA/WonderMedia SoCs
Signed-off-by: Alexey Charkov <alchark@gmail.com>
---
.../devicetree/bindings/net/via,vt8500-rhine.yaml | 41 ++++++++++++++++++++++
.../devicetree/bindings/net/via-rhine.txt | 17 ---------
MAINTAINERS | 1 +
3 files changed, 42 insertions(+), 17 deletions(-)
diff --git a/Documentation/devicetree/bindings/net/via,vt8500-rhine.yaml b/Documentation/devicetree/bindings/net/via,vt8500-rhine.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e663d5a2f014788481dfa0c612c261eb6adb6423
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/via,vt8500-rhine.yaml
@@ -0,0 +1,41 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/via,vt8500-rhine.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: VIA Rhine 10/100 Network Controller
+
+description:
+ VIA's Ethernet controller integrated into VIA VT8500,
+ WonderMedia WM8950 and related SoCs
+
+maintainers:
+ - Alexey Charkov <alchark@gmail.com>
+
+allOf:
+ - $ref: ethernet-controller.yaml#
+
+properties:
+ compatible:
+ const: via,vt8500-rhine
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+required:
+ - reg
+ - interrupts
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ ethernet@d8004000 {
+ compatible = "via,vt8500-rhine";
+ reg = <0xd8004000 0x100>;
+ interrupts = <10>;
+ };
diff --git a/Documentation/devicetree/bindings/net/via-rhine.txt b/Documentation/devicetree/bindings/net/via-rhine.txt
deleted file mode 100644
index 334eca2bf937cc4a383be87f952ed7b5acbbeb59..0000000000000000000000000000000000000000
--- a/Documentation/devicetree/bindings/net/via-rhine.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-* VIA Rhine 10/100 Network Controller
-
-Required properties:
-- compatible : Should be "via,vt8500-rhine" for integrated
- Rhine controllers found in VIA VT8500, WonderMedia WM8950
- and similar. These are listed as 1106:3106 rev. 0x84 on the
- virtual PCI bus under vendor-provided kernels
-- reg : Address and length of the io space
-- interrupts : Should contain the controller interrupt line
-
-Examples:
-
-ethernet@d8004000 {
- compatible = "via,vt8500-rhine";
- reg = <0xd8004000 0x100>;
- interrupts = <10>;
-};
diff --git a/MAINTAINERS b/MAINTAINERS
index f106850b9d3d349d82953b672588b967a37ea27b..001dc954fb44cc9b26570d663ea3bf9214c2deff 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3430,6 +3430,7 @@ S: Odd Fixes
F: Documentation/devicetree/bindings/i2c/wm,wm8505-i2c.yaml
F: Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.yaml
F: Documentation/devicetree/bindings/mmc/wm,wm8505-sdhc.yaml
+F: Documentation/devicetree/bindings/net/via,vt8500-rhine.yaml
F: arch/arm/boot/dts/vt8500/
F: arch/arm/mach-vt8500/
F: drivers/clocksource/timer-vt8500.c
--
2.49.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* Re: [PATCH 04/13] dt-bindings: net: via-rhine: Convert to YAML
2025-04-16 8:21 ` [PATCH 04/13] dt-bindings: net: via-rhine: " Alexey Charkov
@ 2025-04-23 11:49 ` Alexey Charkov
0 siblings, 0 replies; 37+ messages in thread
From: Alexey Charkov @ 2025-04-23 11:49 UTC (permalink / raw)
To: Krzysztof Kozlowski, Andi Shyti, Rob Herring, Conor Dooley,
Thomas Gleixner, Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Uwe Kleine-König, Daniel Lezcano
Cc: linux-arm-kernel, linux-i2c, devicetree, linux-kernel, linux-mmc,
netdev, linux-pwm
On Wed, Apr 16, 2025 at 12:22 PM Alexey Charkov <alchark@gmail.com> wrote:
>
> Rewrite the textual description for the VIA Rhine platform Ethernet
> controller as YAML schema, and switch the filename to follow the
> compatible string. These are used in several VIA/WonderMedia SoCs
>
> Signed-off-by: Alexey Charkov <alchark@gmail.com>
> ---
> .../devicetree/bindings/net/via,vt8500-rhine.yaml | 41 ++++++++++++++++++++++
> .../devicetree/bindings/net/via-rhine.txt | 17 ---------
> MAINTAINERS | 1 +
> 3 files changed, 42 insertions(+), 17 deletions(-)
Dear all,
There haven't been any review comments on this one. Shall I resubmit
this patch separately from the big series for easier merging (perhaps
also dropping the MAINTAINERS update until later, so as to minimize
conflicts in linux-next)? It doesn't have any external dependencies,
and the binding itself is rather boring/trivial.
Best regards,
Alexey
^ permalink raw reply [flat|nested] 37+ messages in thread
* [PATCH 05/13] dt-bindings: pwm: vt8500-pwm: Convert to YAML
2025-04-16 8:21 [PATCH 00/13] ARM: vt8500: DT bindings and dts updates Alexey Charkov
` (3 preceding siblings ...)
2025-04-16 8:21 ` [PATCH 04/13] dt-bindings: net: via-rhine: " Alexey Charkov
@ 2025-04-16 8:21 ` Alexey Charkov
2025-04-16 20:15 ` Rob Herring
2025-04-16 8:21 ` [PATCH 06/13] dt-bindings: timer: via,vt8500-timer: " Alexey Charkov
` (8 subsequent siblings)
13 siblings, 1 reply; 37+ messages in thread
From: Alexey Charkov @ 2025-04-16 8:21 UTC (permalink / raw)
To: Krzysztof Kozlowski, Andi Shyti, Rob Herring, Conor Dooley,
Thomas Gleixner, Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Uwe Kleine-König, Daniel Lezcano
Cc: linux-arm-kernel, linux-i2c, devicetree, linux-kernel, linux-mmc,
netdev, linux-pwm, Alexey Charkov
Rewrite the textual description for the WonderMedia PWM controller
as YAML schema, and switch the filename to follow the compatible
string.
Signed-off-by: Alexey Charkov <alchark@gmail.com>
---
.../devicetree/bindings/pwm/via,vt8500-pwm.yaml | 43 ++++++++++++++++++++++
.../devicetree/bindings/pwm/vt8500-pwm.txt | 18 ---------
MAINTAINERS | 1 +
3 files changed, 44 insertions(+), 18 deletions(-)
diff --git a/Documentation/devicetree/bindings/pwm/via,vt8500-pwm.yaml b/Documentation/devicetree/bindings/pwm/via,vt8500-pwm.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a5f77fa848e0f604bed63c36b8e0996cf599cec0
--- /dev/null
+++ b/Documentation/devicetree/bindings/pwm/via,vt8500-pwm.yaml
@@ -0,0 +1,43 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/pwm/via,vt8500-pwm.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: VIA/Wondermedia VT8500/WM8xxx series SoC PWM controller
+
+maintainers:
+ - Alexey Charkov <alchark@gmail.com>
+
+allOf:
+ - $ref: pwm.yaml#
+
+properties:
+ compatible:
+ items:
+ - const: via,vt8500-pwm
+
+ reg:
+ maxItems: 1
+
+ '#pwm-cells':
+ const: 3
+
+ clocks:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - clocks
+
+additionalProperties: false
+
+examples:
+ - |
+ pwm1: pwm@d8220000 {
+ #pwm-cells = <3>;
+ compatible = "via,vt8500-pwm";
+ reg = <0xd8220000 0x1000>;
+ clocks = <&clkpwm>;
+ };
diff --git a/Documentation/devicetree/bindings/pwm/vt8500-pwm.txt b/Documentation/devicetree/bindings/pwm/vt8500-pwm.txt
deleted file mode 100644
index 4fba93ce1985a1e4c5a361423725fafb10eaa339..0000000000000000000000000000000000000000
--- a/Documentation/devicetree/bindings/pwm/vt8500-pwm.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-VIA/Wondermedia VT8500/WM8xxx series SoC PWM controller
-
-Required properties:
-- compatible: should be "via,vt8500-pwm"
-- reg: physical base address and length of the controller's registers
-- #pwm-cells: should be 3. See pwm.yaml in this directory for a description of
- the cells format. The only third cell flag supported by this binding is
- PWM_POLARITY_INVERTED.
-- clocks: phandle to the PWM source clock
-
-Example:
-
-pwm1: pwm@d8220000 {
- #pwm-cells = <3>;
- compatible = "via,vt8500-pwm";
- reg = <0xd8220000 0x1000>;
- clocks = <&clkpwm>;
-};
diff --git a/MAINTAINERS b/MAINTAINERS
index 001dc954fb44cc9b26570d663ea3bf9214c2deff..d131004add981446b08b1b3d572a3daa8377fd61 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3431,6 +3431,7 @@ F: Documentation/devicetree/bindings/i2c/wm,wm8505-i2c.yaml
F: Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.yaml
F: Documentation/devicetree/bindings/mmc/wm,wm8505-sdhc.yaml
F: Documentation/devicetree/bindings/net/via,vt8500-rhine.yaml
+F: Documentation/devicetree/bindings/pwm/via,vt8500-pwm.yaml
F: arch/arm/boot/dts/vt8500/
F: arch/arm/mach-vt8500/
F: drivers/clocksource/timer-vt8500.c
--
2.49.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* Re: [PATCH 05/13] dt-bindings: pwm: vt8500-pwm: Convert to YAML
2025-04-16 8:21 ` [PATCH 05/13] dt-bindings: pwm: vt8500-pwm: " Alexey Charkov
@ 2025-04-16 20:15 ` Rob Herring
2025-04-17 6:27 ` Alexey Charkov
0 siblings, 1 reply; 37+ messages in thread
From: Rob Herring @ 2025-04-16 20:15 UTC (permalink / raw)
To: Alexey Charkov
Cc: Krzysztof Kozlowski, Andi Shyti, Conor Dooley, Thomas Gleixner,
Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Uwe Kleine-König,
Daniel Lezcano, linux-arm-kernel, linux-i2c, devicetree,
linux-kernel, linux-mmc, netdev, linux-pwm
On Wed, Apr 16, 2025 at 12:21:30PM +0400, Alexey Charkov wrote:
> Rewrite the textual description for the WonderMedia PWM controller
> as YAML schema, and switch the filename to follow the compatible
> string.
>
> Signed-off-by: Alexey Charkov <alchark@gmail.com>
> ---
> .../devicetree/bindings/pwm/via,vt8500-pwm.yaml | 43 ++++++++++++++++++++++
> .../devicetree/bindings/pwm/vt8500-pwm.txt | 18 ---------
> MAINTAINERS | 1 +
> 3 files changed, 44 insertions(+), 18 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/pwm/via,vt8500-pwm.yaml b/Documentation/devicetree/bindings/pwm/via,vt8500-pwm.yaml
> new file mode 100644
> index 0000000000000000000000000000000000000000..a5f77fa848e0f604bed63c36b8e0996cf599cec0
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pwm/via,vt8500-pwm.yaml
> @@ -0,0 +1,43 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pwm/via,vt8500-pwm.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: VIA/Wondermedia VT8500/WM8xxx series SoC PWM controller
> +
> +maintainers:
> + - Alexey Charkov <alchark@gmail.com>
> +
> +allOf:
> + - $ref: pwm.yaml#
> +
> +properties:
> + compatible:
> + items:
> + - const: via,vt8500-pwm
> +
> + reg:
> + maxItems: 1
> +
> + '#pwm-cells':
> + const: 3
> +
> + clocks:
> + maxItems: 1
> +
> +required:
> + - compatible
> + - reg
> + - clocks
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + pwm1: pwm@d8220000 {
> + #pwm-cells = <3>;
> + compatible = "via,vt8500-pwm";
> + reg = <0xd8220000 0x1000>;
> + clocks = <&clkpwm>;
Same order as in 'properties'.
> + };
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 05/13] dt-bindings: pwm: vt8500-pwm: Convert to YAML
2025-04-16 20:15 ` Rob Herring
@ 2025-04-17 6:27 ` Alexey Charkov
0 siblings, 0 replies; 37+ messages in thread
From: Alexey Charkov @ 2025-04-17 6:27 UTC (permalink / raw)
To: Rob Herring
Cc: Krzysztof Kozlowski, Andi Shyti, Conor Dooley, Thomas Gleixner,
Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Uwe Kleine-König,
Daniel Lezcano, linux-arm-kernel, linux-i2c, devicetree,
linux-kernel, linux-mmc, netdev, linux-pwm
On Thu, Apr 17, 2025 at 12:15 AM Rob Herring <robh@kernel.org> wrote:
>
> On Wed, Apr 16, 2025 at 12:21:30PM +0400, Alexey Charkov wrote:
> > Rewrite the textual description for the WonderMedia PWM controller
> > as YAML schema, and switch the filename to follow the compatible
> > string.
> >
> > Signed-off-by: Alexey Charkov <alchark@gmail.com>
> > ---
> > .../devicetree/bindings/pwm/via,vt8500-pwm.yaml | 43 ++++++++++++++++++++++
> > .../devicetree/bindings/pwm/vt8500-pwm.txt | 18 ---------
> > MAINTAINERS | 1 +
> > 3 files changed, 44 insertions(+), 18 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/pwm/via,vt8500-pwm.yaml b/Documentation/devicetree/bindings/pwm/via,vt8500-pwm.yaml
> > new file mode 100644
> > index 0000000000000000000000000000000000000000..a5f77fa848e0f604bed63c36b8e0996cf599cec0
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/pwm/via,vt8500-pwm.yaml
> > @@ -0,0 +1,43 @@
> > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/pwm/via,vt8500-pwm.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: VIA/Wondermedia VT8500/WM8xxx series SoC PWM controller
> > +
> > +maintainers:
> > + - Alexey Charkov <alchark@gmail.com>
> > +
> > +allOf:
> > + - $ref: pwm.yaml#
> > +
> > +properties:
> > + compatible:
> > + items:
> > + - const: via,vt8500-pwm
> > +
> > + reg:
> > + maxItems: 1
> > +
> > + '#pwm-cells':
> > + const: 3
> > +
> > + clocks:
> > + maxItems: 1
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - clocks
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > + - |
> > + pwm1: pwm@d8220000 {
> > + #pwm-cells = <3>;
> > + compatible = "via,vt8500-pwm";
> > + reg = <0xd8220000 0x1000>;
> > + clocks = <&clkpwm>;
>
> Same order as in 'properties'.
Noted, thanks, will adjust.
Best regards,
Alexey
^ permalink raw reply [flat|nested] 37+ messages in thread
* [PATCH 06/13] dt-bindings: timer: via,vt8500-timer: Convert to YAML
2025-04-16 8:21 [PATCH 00/13] ARM: vt8500: DT bindings and dts updates Alexey Charkov
` (4 preceding siblings ...)
2025-04-16 8:21 ` [PATCH 05/13] dt-bindings: pwm: vt8500-pwm: " Alexey Charkov
@ 2025-04-16 8:21 ` Alexey Charkov
2025-04-16 20:16 ` Rob Herring
2025-04-16 8:21 ` [PATCH 07/13] dt-bindings: arm: vt8500: Add VIA APC Rock/Paper boards Alexey Charkov
` (7 subsequent siblings)
13 siblings, 1 reply; 37+ messages in thread
From: Alexey Charkov @ 2025-04-16 8:21 UTC (permalink / raw)
To: Krzysztof Kozlowski, Andi Shyti, Rob Herring, Conor Dooley,
Thomas Gleixner, Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Uwe Kleine-König, Daniel Lezcano
Cc: linux-arm-kernel, linux-i2c, devicetree, linux-kernel, linux-mmc,
netdev, linux-pwm, Alexey Charkov
Rewrite the textual description for the VIA/WonderMedia timer
as YAML schema.
The IP can generate up to four interrupts from four respective match
registers, so reflect that in the schema.
Signed-off-by: Alexey Charkov <alchark@gmail.com>
---
.../devicetree/bindings/timer/via,vt8500-timer.txt | 15 ---------
.../bindings/timer/via,vt8500-timer.yaml | 36 ++++++++++++++++++++++
MAINTAINERS | 1 +
3 files changed, 37 insertions(+), 15 deletions(-)
diff --git a/Documentation/devicetree/bindings/timer/via,vt8500-timer.txt b/Documentation/devicetree/bindings/timer/via,vt8500-timer.txt
deleted file mode 100644
index 901c73f0d8ef05fb54d517b807d04f80eef2e736..0000000000000000000000000000000000000000
--- a/Documentation/devicetree/bindings/timer/via,vt8500-timer.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-VIA/Wondermedia VT8500 Timer
------------------------------------------------------
-
-Required properties:
-- compatible : "via,vt8500-timer"
-- reg : Should contain 1 register ranges(address and length)
-- interrupts : interrupt for the timer
-
-Example:
-
- timer@d8130100 {
- compatible = "via,vt8500-timer";
- reg = <0xd8130100 0x28>;
- interrupts = <36>;
- };
diff --git a/Documentation/devicetree/bindings/timer/via,vt8500-timer.yaml b/Documentation/devicetree/bindings/timer/via,vt8500-timer.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..7d9dc93b708823de9594d20ef6b7e0367c5a36f1
--- /dev/null
+++ b/Documentation/devicetree/bindings/timer/via,vt8500-timer.yaml
@@ -0,0 +1,36 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/timer/via,vt8500-timer.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: VIA/Wondermedia VT8500 Timer
+
+maintainers:
+ - Alexey Charkov <alchark@gmail.com>
+
+properties:
+ compatible:
+ const: via,vt8500-timer
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ minItems: 1
+ maxItems: 4
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ timer@d8130100 {
+ compatible = "via,vt8500-timer";
+ reg = <0xd8130100 0x28>;
+ interrupts = <36>;
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index d131004add981446b08b1b3d572a3daa8377fd61..46339ed45ad18ab2b9470c749f604d9aaf72015b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3432,6 +3432,7 @@ F: Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.yaml
F: Documentation/devicetree/bindings/mmc/wm,wm8505-sdhc.yaml
F: Documentation/devicetree/bindings/net/via,vt8500-rhine.yaml
F: Documentation/devicetree/bindings/pwm/via,vt8500-pwm.yaml
+F: Documentation/devicetree/bindings/timer/via,vt8500-timer.yaml
F: arch/arm/boot/dts/vt8500/
F: arch/arm/mach-vt8500/
F: drivers/clocksource/timer-vt8500.c
--
2.49.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* Re: [PATCH 06/13] dt-bindings: timer: via,vt8500-timer: Convert to YAML
2025-04-16 8:21 ` [PATCH 06/13] dt-bindings: timer: via,vt8500-timer: " Alexey Charkov
@ 2025-04-16 20:16 ` Rob Herring
2025-04-17 6:34 ` Alexey Charkov
0 siblings, 1 reply; 37+ messages in thread
From: Rob Herring @ 2025-04-16 20:16 UTC (permalink / raw)
To: Alexey Charkov
Cc: Krzysztof Kozlowski, Andi Shyti, Conor Dooley, Thomas Gleixner,
Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Uwe Kleine-König,
Daniel Lezcano, linux-arm-kernel, linux-i2c, devicetree,
linux-kernel, linux-mmc, netdev, linux-pwm
On Wed, Apr 16, 2025 at 12:21:31PM +0400, Alexey Charkov wrote:
> Rewrite the textual description for the VIA/WonderMedia timer
> as YAML schema.
>
> The IP can generate up to four interrupts from four respective match
> registers, so reflect that in the schema.
>
> Signed-off-by: Alexey Charkov <alchark@gmail.com>
> ---
> .../devicetree/bindings/timer/via,vt8500-timer.txt | 15 ---------
> .../bindings/timer/via,vt8500-timer.yaml | 36 ++++++++++++++++++++++
> MAINTAINERS | 1 +
> 3 files changed, 37 insertions(+), 15 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/timer/via,vt8500-timer.txt b/Documentation/devicetree/bindings/timer/via,vt8500-timer.txt
> deleted file mode 100644
> index 901c73f0d8ef05fb54d517b807d04f80eef2e736..0000000000000000000000000000000000000000
> --- a/Documentation/devicetree/bindings/timer/via,vt8500-timer.txt
> +++ /dev/null
> @@ -1,15 +0,0 @@
> -VIA/Wondermedia VT8500 Timer
> ------------------------------------------------------
> -
> -Required properties:
> -- compatible : "via,vt8500-timer"
> -- reg : Should contain 1 register ranges(address and length)
> -- interrupts : interrupt for the timer
> -
> -Example:
> -
> - timer@d8130100 {
> - compatible = "via,vt8500-timer";
> - reg = <0xd8130100 0x28>;
> - interrupts = <36>;
> - };
> diff --git a/Documentation/devicetree/bindings/timer/via,vt8500-timer.yaml b/Documentation/devicetree/bindings/timer/via,vt8500-timer.yaml
> new file mode 100644
> index 0000000000000000000000000000000000000000..7d9dc93b708823de9594d20ef6b7e0367c5a36f1
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/timer/via,vt8500-timer.yaml
> @@ -0,0 +1,36 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/timer/via,vt8500-timer.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: VIA/Wondermedia VT8500 Timer
> +
> +maintainers:
> + - Alexey Charkov <alchark@gmail.com>
> +
> +properties:
> + compatible:
> + const: via,vt8500-timer
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + minItems: 1
> + maxItems: 4
Need to define what each entry is.
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + timer@d8130100 {
> + compatible = "via,vt8500-timer";
> + reg = <0xd8130100 0x28>;
> + interrupts = <36>;
> + };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index d131004add981446b08b1b3d572a3daa8377fd61..46339ed45ad18ab2b9470c749f604d9aaf72015b 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -3432,6 +3432,7 @@ F: Documentation/devicetree/bindings/interrupt-controller/via,vt8500-intc.yaml
> F: Documentation/devicetree/bindings/mmc/wm,wm8505-sdhc.yaml
> F: Documentation/devicetree/bindings/net/via,vt8500-rhine.yaml
> F: Documentation/devicetree/bindings/pwm/via,vt8500-pwm.yaml
> +F: Documentation/devicetree/bindings/timer/via,vt8500-timer.yaml
> F: arch/arm/boot/dts/vt8500/
> F: arch/arm/mach-vt8500/
> F: drivers/clocksource/timer-vt8500.c
>
> --
> 2.49.0
>
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 06/13] dt-bindings: timer: via,vt8500-timer: Convert to YAML
2025-04-16 20:16 ` Rob Herring
@ 2025-04-17 6:34 ` Alexey Charkov
0 siblings, 0 replies; 37+ messages in thread
From: Alexey Charkov @ 2025-04-17 6:34 UTC (permalink / raw)
To: Rob Herring
Cc: Krzysztof Kozlowski, Andi Shyti, Conor Dooley, Thomas Gleixner,
Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Uwe Kleine-König,
Daniel Lezcano, linux-arm-kernel, linux-i2c, devicetree,
linux-kernel, linux-mmc, netdev, linux-pwm
On Thu, Apr 17, 2025 at 12:16 AM Rob Herring <robh@kernel.org> wrote:
>
> On Wed, Apr 16, 2025 at 12:21:31PM +0400, Alexey Charkov wrote:
> > Rewrite the textual description for the VIA/WonderMedia timer
> > as YAML schema.
> >
> > The IP can generate up to four interrupts from four respective match
> > registers, so reflect that in the schema.
> >
> > Signed-off-by: Alexey Charkov <alchark@gmail.com>
> > ---
> > .../devicetree/bindings/timer/via,vt8500-timer.txt | 15 ---------
> > .../bindings/timer/via,vt8500-timer.yaml | 36 ++++++++++++++++++++++
> > MAINTAINERS | 1 +
> > 3 files changed, 37 insertions(+), 15 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/timer/via,vt8500-timer.txt b/Documentation/devicetree/bindings/timer/via,vt8500-timer.txt
> > deleted file mode 100644
> > index 901c73f0d8ef05fb54d517b807d04f80eef2e736..0000000000000000000000000000000000000000
> > --- a/Documentation/devicetree/bindings/timer/via,vt8500-timer.txt
> > +++ /dev/null
> > @@ -1,15 +0,0 @@
> > -VIA/Wondermedia VT8500 Timer
> > ------------------------------------------------------
> > -
> > -Required properties:
> > -- compatible : "via,vt8500-timer"
> > -- reg : Should contain 1 register ranges(address and length)
> > -- interrupts : interrupt for the timer
> > -
> > -Example:
> > -
> > - timer@d8130100 {
> > - compatible = "via,vt8500-timer";
> > - reg = <0xd8130100 0x28>;
> > - interrupts = <36>;
> > - };
> > diff --git a/Documentation/devicetree/bindings/timer/via,vt8500-timer.yaml b/Documentation/devicetree/bindings/timer/via,vt8500-timer.yaml
> > new file mode 100644
> > index 0000000000000000000000000000000000000000..7d9dc93b708823de9594d20ef6b7e0367c5a36f1
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/timer/via,vt8500-timer.yaml
> > @@ -0,0 +1,36 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/timer/via,vt8500-timer.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: VIA/Wondermedia VT8500 Timer
> > +
> > +maintainers:
> > + - Alexey Charkov <alchark@gmail.com>
> > +
> > +properties:
> > + compatible:
> > + const: via,vt8500-timer
> > +
> > + reg:
> > + maxItems: 1
> > +
> > + interrupts:
> > + minItems: 1
> > + maxItems: 4
>
> Need to define what each entry is.
Will do, thanks.
These are OS Timer Channel 0~3 Match, respectively. The hardware has a
single 32-bit counter running at 3 MHz and four match registers, each
of which is associated with a dedicated match interrupt, and the first
of which can also serve as the system watchdog (if watchdog function
is enabled, it will reset the system upon match instead of triggering
its respective interrupt).
Best regards,
Alexey
^ permalink raw reply [flat|nested] 37+ messages in thread
* [PATCH 07/13] dt-bindings: arm: vt8500: Add VIA APC Rock/Paper boards
2025-04-16 8:21 [PATCH 00/13] ARM: vt8500: DT bindings and dts updates Alexey Charkov
` (5 preceding siblings ...)
2025-04-16 8:21 ` [PATCH 06/13] dt-bindings: timer: via,vt8500-timer: " Alexey Charkov
@ 2025-04-16 8:21 ` Alexey Charkov
2025-04-16 20:17 ` Rob Herring
2025-04-16 8:21 ` [PATCH 08/13] ARM: dts: vt8500: Add node address and reg in CPU nodes Alexey Charkov
` (6 subsequent siblings)
13 siblings, 1 reply; 37+ messages in thread
From: Alexey Charkov @ 2025-04-16 8:21 UTC (permalink / raw)
To: Krzysztof Kozlowski, Andi Shyti, Rob Herring, Conor Dooley,
Thomas Gleixner, Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Uwe Kleine-König, Daniel Lezcano
Cc: linux-arm-kernel, linux-i2c, devicetree, linux-kernel, linux-mmc,
netdev, linux-pwm, Alexey Charkov
APC Rock is a development board based on WonderMedia WM8950 SoC
released around 2013. Paper is the same as Rock but lacking a
VGA port and shipped with a recycled cardboard case.
While at that, put myself as the maintainer, given that Tony is
unavailable as of lately.
Signed-off-by: Alexey Charkov <alchark@gmail.com>
---
Documentation/devicetree/bindings/arm/vt8500.yaml | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/Documentation/devicetree/bindings/arm/vt8500.yaml b/Documentation/devicetree/bindings/arm/vt8500.yaml
index 5d5ad5a60451f569e6ef30c924a1964d02e1aa82..1906a8843b0ceebe31eebc3b429560dd0d9cea6a 100644
--- a/Documentation/devicetree/bindings/arm/vt8500.yaml
+++ b/Documentation/devicetree/bindings/arm/vt8500.yaml
@@ -7,19 +7,22 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
title: VIA/Wondermedia VT8500 Platforms
maintainers:
- - Tony Prisk <linux@prisktech.co.nz>
+ - Alexey Charkov <alchark@gmail.com>
description: test
properties:
$nodename:
const: '/'
compatible:
- items:
- - enum:
- - via,vt8500
- - wm,wm8505
- - wm,wm8650
- - wm,wm8750
- - wm,wm8850
+ oneOf:
+ - const: via,vt8500
+ - const: wm,wm8505
+ - const: wm,wm8650
+ - const: wm,wm8750
+ - const: wm,wm8850
+ - description: VIA APC Rock and Paper boards
+ items:
+ - const: via,apc-rock
+ - const: wm,wm8950
additionalProperties: true
--
2.49.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* Re: [PATCH 07/13] dt-bindings: arm: vt8500: Add VIA APC Rock/Paper boards
2025-04-16 8:21 ` [PATCH 07/13] dt-bindings: arm: vt8500: Add VIA APC Rock/Paper boards Alexey Charkov
@ 2025-04-16 20:17 ` Rob Herring
0 siblings, 0 replies; 37+ messages in thread
From: Rob Herring @ 2025-04-16 20:17 UTC (permalink / raw)
To: Alexey Charkov
Cc: Krzysztof Kozlowski, Andi Shyti, Conor Dooley, Thomas Gleixner,
Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Uwe Kleine-König,
Daniel Lezcano, linux-arm-kernel, linux-i2c, devicetree,
linux-kernel, linux-mmc, netdev, linux-pwm
On Wed, Apr 16, 2025 at 12:21:32PM +0400, Alexey Charkov wrote:
> APC Rock is a development board based on WonderMedia WM8950 SoC
> released around 2013. Paper is the same as Rock but lacking a
> VGA port and shipped with a recycled cardboard case.
>
> While at that, put myself as the maintainer, given that Tony is
> unavailable as of lately.
>
> Signed-off-by: Alexey Charkov <alchark@gmail.com>
> ---
> Documentation/devicetree/bindings/arm/vt8500.yaml | 19 +++++++++++--------
> 1 file changed, 11 insertions(+), 8 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/arm/vt8500.yaml b/Documentation/devicetree/bindings/arm/vt8500.yaml
> index 5d5ad5a60451f569e6ef30c924a1964d02e1aa82..1906a8843b0ceebe31eebc3b429560dd0d9cea6a 100644
> --- a/Documentation/devicetree/bindings/arm/vt8500.yaml
> +++ b/Documentation/devicetree/bindings/arm/vt8500.yaml
> @@ -7,19 +7,22 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
> title: VIA/Wondermedia VT8500 Platforms
>
> maintainers:
> - - Tony Prisk <linux@prisktech.co.nz>
> + - Alexey Charkov <alchark@gmail.com>
> description: test
Delete this line while you are here.
>
> properties:
> $nodename:
> const: '/'
> compatible:
> - items:
> - - enum:
> - - via,vt8500
> - - wm,wm8505
> - - wm,wm8650
> - - wm,wm8750
> - - wm,wm8850
> + oneOf:
> + - const: via,vt8500
> + - const: wm,wm8505
> + - const: wm,wm8650
> + - const: wm,wm8750
> + - const: wm,wm8850
Keep all these as a single enum.
> + - description: VIA APC Rock and Paper boards
> + items:
> + - const: via,apc-rock
> + - const: wm,wm8950
>
> additionalProperties: true
>
> --
> 2.49.0
>
^ permalink raw reply [flat|nested] 37+ messages in thread
* [PATCH 08/13] ARM: dts: vt8500: Add node address and reg in CPU nodes
2025-04-16 8:21 [PATCH 00/13] ARM: vt8500: DT bindings and dts updates Alexey Charkov
` (6 preceding siblings ...)
2025-04-16 8:21 ` [PATCH 07/13] dt-bindings: arm: vt8500: Add VIA APC Rock/Paper boards Alexey Charkov
@ 2025-04-16 8:21 ` Alexey Charkov
2025-04-16 8:21 ` [PATCH 09/13] ARM: dts: vt8500: Move memory nodes to board dts and fix addr/size Alexey Charkov
` (5 subsequent siblings)
13 siblings, 0 replies; 37+ messages in thread
From: Alexey Charkov @ 2025-04-16 8:21 UTC (permalink / raw)
To: Krzysztof Kozlowski, Andi Shyti, Rob Herring, Conor Dooley,
Thomas Gleixner, Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Uwe Kleine-König, Daniel Lezcano
Cc: linux-arm-kernel, linux-i2c, devicetree, linux-kernel, linux-mmc,
netdev, linux-pwm, Alexey Charkov
Adjust CPU nodes according to current guidelines, including address
and reg. Set #address-cells accordingly.
Signed-off-by: Alexey Charkov <alchark@gmail.com>
---
arch/arm/boot/dts/vt8500/vt8500.dtsi | 5 +++--
arch/arm/boot/dts/vt8500/wm8505.dtsi | 5 +++--
arch/arm/boot/dts/vt8500/wm8650.dtsi | 5 +++--
arch/arm/boot/dts/vt8500/wm8750.dtsi | 5 +++--
4 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/arch/arm/boot/dts/vt8500/vt8500.dtsi b/arch/arm/boot/dts/vt8500/vt8500.dtsi
index 09f5ed3e6821b72fc440f9de3df0ad484d2c4e17..1138940ce16cb8603d196b6e935d54df53b9a229 100644
--- a/arch/arm/boot/dts/vt8500/vt8500.dtsi
+++ b/arch/arm/boot/dts/vt8500/vt8500.dtsi
@@ -11,12 +11,13 @@ / {
compatible = "via,vt8500";
cpus {
- #address-cells = <0>;
+ #address-cells = <1>;
#size-cells = <0>;
- cpu {
+ cpu@0 {
device_type = "cpu";
compatible = "arm,arm926ej-s";
+ reg = <0x0>;
};
};
diff --git a/arch/arm/boot/dts/vt8500/wm8505.dtsi b/arch/arm/boot/dts/vt8500/wm8505.dtsi
index c81810b967bb349419a5ac7db4e788faec3695fb..fa76df2830c79a695753c85397d4e916592f6a51 100644
--- a/arch/arm/boot/dts/vt8500/wm8505.dtsi
+++ b/arch/arm/boot/dts/vt8500/wm8505.dtsi
@@ -11,12 +11,13 @@ / {
compatible = "wm,wm8505";
cpus {
- #address-cells = <0>;
+ #address-cells = <1>;
#size-cells = <0>;
- cpu {
+ cpu@0 {
device_type = "cpu";
compatible = "arm,arm926ej-s";
+ reg = <0x0>;
};
};
diff --git a/arch/arm/boot/dts/vt8500/wm8650.dtsi b/arch/arm/boot/dts/vt8500/wm8650.dtsi
index 555008120a3e315591d2ca49a39d354925d570fd..5b6affda3b6b8d8be9f3100b36cb303d015f19b5 100644
--- a/arch/arm/boot/dts/vt8500/wm8650.dtsi
+++ b/arch/arm/boot/dts/vt8500/wm8650.dtsi
@@ -11,12 +11,13 @@ / {
compatible = "wm,wm8650";
cpus {
- #address-cells = <0>;
+ #address-cells = <1>;
#size-cells = <0>;
- cpu {
+ cpu@0 {
device_type = "cpu";
compatible = "arm,arm926ej-s";
+ reg = <0x0>;
};
};
diff --git a/arch/arm/boot/dts/vt8500/wm8750.dtsi b/arch/arm/boot/dts/vt8500/wm8750.dtsi
index 309f6e5129fb817d343cd58a8d90340afd8d6eb9..14e1d4f7c093a8ae9cce5acfeba3755f6df93a24 100644
--- a/arch/arm/boot/dts/vt8500/wm8750.dtsi
+++ b/arch/arm/boot/dts/vt8500/wm8750.dtsi
@@ -11,12 +11,13 @@ / {
compatible = "wm,wm8750";
cpus {
- #address-cells = <0>;
+ #address-cells = <1>;
#size-cells = <0>;
- cpu {
+ cpu@0 {
device_type = "cpu";
compatible = "arm,arm1176jzf";
+ reg = <0x0>;
};
};
--
2.49.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH 09/13] ARM: dts: vt8500: Move memory nodes to board dts and fix addr/size
2025-04-16 8:21 [PATCH 00/13] ARM: vt8500: DT bindings and dts updates Alexey Charkov
` (7 preceding siblings ...)
2025-04-16 8:21 ` [PATCH 08/13] ARM: dts: vt8500: Add node address and reg in CPU nodes Alexey Charkov
@ 2025-04-16 8:21 ` Alexey Charkov
2025-04-16 8:21 ` [PATCH 10/13] ARM: dts: vt8500: Use generic compatibles for EHCI Alexey Charkov
` (4 subsequent siblings)
13 siblings, 0 replies; 37+ messages in thread
From: Alexey Charkov @ 2025-04-16 8:21 UTC (permalink / raw)
To: Krzysztof Kozlowski, Andi Shyti, Rob Herring, Conor Dooley,
Thomas Gleixner, Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Uwe Kleine-König, Daniel Lezcano
Cc: linux-arm-kernel, linux-i2c, devicetree, linux-kernel, linux-mmc,
netdev, linux-pwm, Alexey Charkov
VIA/WonderMedia SoCs don't have on-chip memory, so their memory
nodes are better placed in per-board dts rather than per-SoC dtsi.
Move them accordingly, and also add correct node addresses and
sizes for each of the boards. Some boards were also available with
more memory than included in this commit - those would need a
separate DT or an appropriate kernel cmdline argument to reflect it,
as the bootloader on these devices doesn't handle DT at all nor does
it any runtime discovery of available memory size.
Signed-off-by: Alexey Charkov <alchark@gmail.com>
---
arch/arm/boot/dts/vt8500/vt8500-bv07.dts | 5 +++++
arch/arm/boot/dts/vt8500/vt8500.dtsi | 5 -----
arch/arm/boot/dts/vt8500/wm8505-ref.dts | 5 +++++
arch/arm/boot/dts/vt8500/wm8505.dtsi | 5 -----
arch/arm/boot/dts/vt8500/wm8650-mid.dts | 5 +++++
arch/arm/boot/dts/vt8500/wm8650.dtsi | 5 -----
arch/arm/boot/dts/vt8500/wm8750-apc8750.dts | 5 +++++
arch/arm/boot/dts/vt8500/wm8750.dtsi | 5 -----
arch/arm/boot/dts/vt8500/wm8850-w70v2.dts | 5 +++++
arch/arm/boot/dts/vt8500/wm8850.dtsi | 5 -----
10 files changed, 25 insertions(+), 25 deletions(-)
diff --git a/arch/arm/boot/dts/vt8500/vt8500-bv07.dts b/arch/arm/boot/dts/vt8500/vt8500-bv07.dts
index 38a2da5e2c5d64477f04e1da9d98cb97be0d95e4..c8c07c2b4acf92e977704437de88550391c8679f 100644
--- a/arch/arm/boot/dts/vt8500/vt8500-bv07.dts
+++ b/arch/arm/boot/dts/vt8500/vt8500-bv07.dts
@@ -10,6 +10,11 @@
/ {
model = "Benign BV07 Netbook";
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x8000000>;
+ };
};
&fb {
diff --git a/arch/arm/boot/dts/vt8500/vt8500.dtsi b/arch/arm/boot/dts/vt8500/vt8500.dtsi
index 1138940ce16cb8603d196b6e935d54df53b9a229..143daf983d1d926c2c837c43002d1a86cff3866a 100644
--- a/arch/arm/boot/dts/vt8500/vt8500.dtsi
+++ b/arch/arm/boot/dts/vt8500/vt8500.dtsi
@@ -21,11 +21,6 @@ cpu@0 {
};
};
- memory {
- device_type = "memory";
- reg = <0x0 0x0>;
- };
-
aliases {
serial0 = &uart0;
serial1 = &uart1;
diff --git a/arch/arm/boot/dts/vt8500/wm8505-ref.dts b/arch/arm/boot/dts/vt8500/wm8505-ref.dts
index 8ce9e2ef0a81097e7143a5392ee5b42bf8028ec1..d4ff99c700120fbf3401335168ed88b190335005 100644
--- a/arch/arm/boot/dts/vt8500/wm8505-ref.dts
+++ b/arch/arm/boot/dts/vt8500/wm8505-ref.dts
@@ -10,6 +10,11 @@
/ {
model = "Wondermedia WM8505 Netbook";
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x8000000>;
+ };
};
&fb {
diff --git a/arch/arm/boot/dts/vt8500/wm8505.dtsi b/arch/arm/boot/dts/vt8500/wm8505.dtsi
index fa76df2830c79a695753c85397d4e916592f6a51..69d2351a81dbc816efd19ffe3ba5ef80eaa4e9dc 100644
--- a/arch/arm/boot/dts/vt8500/wm8505.dtsi
+++ b/arch/arm/boot/dts/vt8500/wm8505.dtsi
@@ -21,11 +21,6 @@ cpu@0 {
};
};
- memory {
- device_type = "memory";
- reg = <0x0 0x0>;
- };
-
aliases {
serial0 = &uart0;
serial1 = &uart1;
diff --git a/arch/arm/boot/dts/vt8500/wm8650-mid.dts b/arch/arm/boot/dts/vt8500/wm8650-mid.dts
index 7977b6c1e8ebf215df210dee703e470b9159d329..bfc570e80073d5e6907978dfc5d2413e1ceb2983 100644
--- a/arch/arm/boot/dts/vt8500/wm8650-mid.dts
+++ b/arch/arm/boot/dts/vt8500/wm8650-mid.dts
@@ -10,6 +10,11 @@
/ {
model = "Wondermedia WM8650-MID Tablet";
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x10000000>;
+ };
};
&fb {
diff --git a/arch/arm/boot/dts/vt8500/wm8650.dtsi b/arch/arm/boot/dts/vt8500/wm8650.dtsi
index 5b6affda3b6b8d8be9f3100b36cb303d015f19b5..deebe9b933876bc1eb188f82ce8c1c17098d04a2 100644
--- a/arch/arm/boot/dts/vt8500/wm8650.dtsi
+++ b/arch/arm/boot/dts/vt8500/wm8650.dtsi
@@ -21,11 +21,6 @@ cpu@0 {
};
};
- memory {
- device_type = "memory";
- reg = <0x0 0x0>;
- };
-
aliases {
serial0 = &uart0;
serial1 = &uart1;
diff --git a/arch/arm/boot/dts/vt8500/wm8750-apc8750.dts b/arch/arm/boot/dts/vt8500/wm8750-apc8750.dts
index 136e812bc1e498d48c7fc61154bc66a48888b117..72d633bedff04401c40f4d3772fbcfe45e1c0e31 100644
--- a/arch/arm/boot/dts/vt8500/wm8750-apc8750.dts
+++ b/arch/arm/boot/dts/vt8500/wm8750-apc8750.dts
@@ -11,6 +11,11 @@
/ {
model = "VIA APC8750";
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x20000000>;
+ };
};
&pinctrl {
diff --git a/arch/arm/boot/dts/vt8500/wm8750.dtsi b/arch/arm/boot/dts/vt8500/wm8750.dtsi
index 14e1d4f7c093a8ae9cce5acfeba3755f6df93a24..bde825b59074eb74af4ab296895a3968e992aefe 100644
--- a/arch/arm/boot/dts/vt8500/wm8750.dtsi
+++ b/arch/arm/boot/dts/vt8500/wm8750.dtsi
@@ -21,11 +21,6 @@ cpu@0 {
};
};
- memory {
- device_type = "memory";
- reg = <0x0 0x0>;
- };
-
aliases {
serial0 = &uart0;
serial1 = &uart1;
diff --git a/arch/arm/boot/dts/vt8500/wm8850-w70v2.dts b/arch/arm/boot/dts/vt8500/wm8850-w70v2.dts
index 5d409323b10cb94a5694722de1e31cff5be390ce..eb16991a2cccf35da23c4a0a8ac2ad02665b2109 100644
--- a/arch/arm/boot/dts/vt8500/wm8850-w70v2.dts
+++ b/arch/arm/boot/dts/vt8500/wm8850-w70v2.dts
@@ -22,6 +22,11 @@ backlight {
brightness-levels = <0 40 60 80 100 130 190 255>;
default-brightness-level = <5>;
};
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x20000000>;
+ };
};
&fb {
diff --git a/arch/arm/boot/dts/vt8500/wm8850.dtsi b/arch/arm/boot/dts/vt8500/wm8850.dtsi
index 3f4a514d65e2ac7658b73cc9c4f3cae1407265bc..e8385c03e04bf5644c86a85aeb41e1cc1eedb202 100644
--- a/arch/arm/boot/dts/vt8500/wm8850.dtsi
+++ b/arch/arm/boot/dts/vt8500/wm8850.dtsi
@@ -21,11 +21,6 @@ cpu@0 {
};
};
- memory {
- device_type = "memory";
- reg = <0x0 0x0>;
- };
-
aliases {
serial0 = &uart0;
serial1 = &uart1;
--
2.49.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH 10/13] ARM: dts: vt8500: Use generic compatibles for EHCI
2025-04-16 8:21 [PATCH 00/13] ARM: vt8500: DT bindings and dts updates Alexey Charkov
` (8 preceding siblings ...)
2025-04-16 8:21 ` [PATCH 09/13] ARM: dts: vt8500: Move memory nodes to board dts and fix addr/size Alexey Charkov
@ 2025-04-16 8:21 ` Alexey Charkov
2025-04-17 5:34 ` Krzysztof Kozlowski
2025-04-16 8:21 ` [PATCH 11/13] ARM: dts: vt8500: Use generic node name for the SD/MMC controller Alexey Charkov
` (3 subsequent siblings)
13 siblings, 1 reply; 37+ messages in thread
From: Alexey Charkov @ 2025-04-16 8:21 UTC (permalink / raw)
To: Krzysztof Kozlowski, Andi Shyti, Rob Herring, Conor Dooley,
Thomas Gleixner, Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Uwe Kleine-König, Daniel Lezcano
Cc: linux-arm-kernel, linux-i2c, devicetree, linux-kernel, linux-mmc,
netdev, linux-pwm, Alexey Charkov
VIA/WonderMedia SoCs don't have anything special about their EHCI
controllers: in fact, vendor provided kernels just use the
generic PCI driver by emulating a virtual PCI bus with fixed MMIO
mappings just to bind the existing driver as-is. So switch to the
generic compatible to save further additions to bindings.
Note that these devices have only ever supported appended-DTB boot,
so changing the compatible should not affect any existing users.
Signed-off-by: Alexey Charkov <alchark@gmail.com>
---
arch/arm/boot/dts/vt8500/vt8500.dtsi | 2 +-
arch/arm/boot/dts/vt8500/wm8505.dtsi | 2 +-
arch/arm/boot/dts/vt8500/wm8650.dtsi | 2 +-
arch/arm/boot/dts/vt8500/wm8750.dtsi | 2 +-
arch/arm/boot/dts/vt8500/wm8850.dtsi | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/arch/arm/boot/dts/vt8500/vt8500.dtsi b/arch/arm/boot/dts/vt8500/vt8500.dtsi
index 143daf983d1d926c2c837c43002d1a86cff3866a..b848fc33aa13796c098a511c26b4c2280ff453db 100644
--- a/arch/arm/boot/dts/vt8500/vt8500.dtsi
+++ b/arch/arm/boot/dts/vt8500/vt8500.dtsi
@@ -106,7 +106,7 @@ timer@d8130100 {
};
usb@d8007900 {
- compatible = "via,vt8500-ehci";
+ compatible = "generic-ehci";
reg = <0xd8007900 0x200>;
interrupts = <43>;
};
diff --git a/arch/arm/boot/dts/vt8500/wm8505.dtsi b/arch/arm/boot/dts/vt8500/wm8505.dtsi
index 69d2351a81dbc816efd19ffe3ba5ef80eaa4e9dc..1b9a18f498613d649d4f8bf87ade32d1f7edd9e4 100644
--- a/arch/arm/boot/dts/vt8500/wm8505.dtsi
+++ b/arch/arm/boot/dts/vt8500/wm8505.dtsi
@@ -204,7 +204,7 @@ timer@d8130100 {
};
usb@d8007100 {
- compatible = "via,vt8500-ehci";
+ compatible = "generic-ehci";
reg = <0xd8007100 0x200>;
interrupts = <1>;
};
diff --git a/arch/arm/boot/dts/vt8500/wm8650.dtsi b/arch/arm/boot/dts/vt8500/wm8650.dtsi
index deebe9b933876bc1eb188f82ce8c1c17098d04a2..34378a49ec2017fe2771a38033788fd753dee875 100644
--- a/arch/arm/boot/dts/vt8500/wm8650.dtsi
+++ b/arch/arm/boot/dts/vt8500/wm8650.dtsi
@@ -176,7 +176,7 @@ timer@d8130100 {
};
usb@d8007900 {
- compatible = "via,vt8500-ehci";
+ compatible = "generic-ehci";
reg = <0xd8007900 0x200>;
interrupts = <43>;
};
diff --git a/arch/arm/boot/dts/vt8500/wm8750.dtsi b/arch/arm/boot/dts/vt8500/wm8750.dtsi
index bde825b59074eb74af4ab296895a3968e992aefe..1b7a02834ac14fcd51389a6a809b5f0960d63312 100644
--- a/arch/arm/boot/dts/vt8500/wm8750.dtsi
+++ b/arch/arm/boot/dts/vt8500/wm8750.dtsi
@@ -248,7 +248,7 @@ timer@d8130100 {
};
usb@d8007900 {
- compatible = "via,vt8500-ehci";
+ compatible = "generic-ehci";
reg = <0xd8007900 0x200>;
interrupts = <26>;
};
diff --git a/arch/arm/boot/dts/vt8500/wm8850.dtsi b/arch/arm/boot/dts/vt8500/wm8850.dtsi
index e8385c03e04bf5644c86a85aeb41e1cc1eedb202..76337244a8e051732e9ce3432eee36ccca9ed463 100644
--- a/arch/arm/boot/dts/vt8500/wm8850.dtsi
+++ b/arch/arm/boot/dts/vt8500/wm8850.dtsi
@@ -234,7 +234,7 @@ timer@d8130100 {
};
usb@d8007900 {
- compatible = "via,vt8500-ehci";
+ compatible = "generic-ehci";
reg = <0xd8007900 0x200>;
interrupts = <26>;
};
--
2.49.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* Re: [PATCH 10/13] ARM: dts: vt8500: Use generic compatibles for EHCI
2025-04-16 8:21 ` [PATCH 10/13] ARM: dts: vt8500: Use generic compatibles for EHCI Alexey Charkov
@ 2025-04-17 5:34 ` Krzysztof Kozlowski
2025-04-17 5:54 ` Alexey Charkov
0 siblings, 1 reply; 37+ messages in thread
From: Krzysztof Kozlowski @ 2025-04-17 5:34 UTC (permalink / raw)
To: Alexey Charkov, Andi Shyti, Rob Herring, Conor Dooley,
Thomas Gleixner, Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Uwe Kleine-König, Daniel Lezcano
Cc: linux-arm-kernel, linux-i2c, devicetree, linux-kernel, linux-mmc,
netdev, linux-pwm
On 16/04/2025 10:21, Alexey Charkov wrote:
> VIA/WonderMedia SoCs don't have anything special about their EHCI
> controllers: in fact, vendor provided kernels just use the
It does not have to do anything special - dedicated compatible properly
describes the hardware.
> generic PCI driver by emulating a virtual PCI bus with fixed MMIO
PCI? But this is USB.
> mappings just to bind the existing driver as-is. So switch to the
> generic compatible to save further additions to bindings.
>
> Note that these devices have only ever supported appended-DTB boot,
> so changing the compatible should not affect any existing users.
And other users of the DTS?
I don't see benefits in this patch.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 10/13] ARM: dts: vt8500: Use generic compatibles for EHCI
2025-04-17 5:34 ` Krzysztof Kozlowski
@ 2025-04-17 5:54 ` Alexey Charkov
0 siblings, 0 replies; 37+ messages in thread
From: Alexey Charkov @ 2025-04-17 5:54 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Andi Shyti, Rob Herring, Conor Dooley, Thomas Gleixner,
Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Uwe Kleine-König,
Daniel Lezcano, linux-arm-kernel, linux-i2c, devicetree,
linux-kernel, linux-mmc, netdev, linux-pwm
On Thu, Apr 17, 2025 at 9:34 AM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On 16/04/2025 10:21, Alexey Charkov wrote:
> > VIA/WonderMedia SoCs don't have anything special about their EHCI
> > controllers: in fact, vendor provided kernels just use the
>
> It does not have to do anything special - dedicated compatible properly
> describes the hardware.
My thinking was along the lines of "if the IP block is generic without
vendor-specific changes, then I'd rather describe it using the generic
compatible". But point taken, will drop this patch and extend the EHCI
binding instead.
> > generic PCI driver by emulating a virtual PCI bus with fixed MMIO
>
> PCI? But this is USB.
Yes, it is a pure platform USB EHCI controller. But the way the vendor
approached its enablement in their kernels was to code up a virtual
PCI bus with statically defined BARs which the common kernel code then
picked up and enumerated this platform EHCI controller as a PCI device
using the generic PCI EHCI controller driver. That was before the
mainline EHCI driver got support for platform devices, so apparently
they thought it's easier to do the virtual-PCI hack instead of
properly binding a platform device.
My point was that the hardware block has only ever been enabled with
generic EHCI code, so it must be indeed generic. There are no docs
available on this part, so various vendor code dumps and manual poking
are the only sources of information about the hardware.
> > mappings just to bind the existing driver as-is. So switch to the
> > generic compatible to save further additions to bindings.
> >
> > Note that these devices have only ever supported appended-DTB boot,
> > so changing the compatible should not affect any existing users.
>
> And other users of the DTS?
>
> I don't see benefits in this patch.
No problem, I will drop it and update the binding schema to include
the vendor-specific compatible instead.
Best regards,
Alexey
^ permalink raw reply [flat|nested] 37+ messages in thread
* [PATCH 11/13] ARM: dts: vt8500: Use generic node name for the SD/MMC controller
2025-04-16 8:21 [PATCH 00/13] ARM: vt8500: DT bindings and dts updates Alexey Charkov
` (9 preceding siblings ...)
2025-04-16 8:21 ` [PATCH 10/13] ARM: dts: vt8500: Use generic compatibles for EHCI Alexey Charkov
@ 2025-04-16 8:21 ` Alexey Charkov
2025-04-16 8:21 ` [PATCH 12/13] ARM: dts: vt8500: Add VIA APC Rock/Paper board Alexey Charkov
` (2 subsequent siblings)
13 siblings, 0 replies; 37+ messages in thread
From: Alexey Charkov @ 2025-04-16 8:21 UTC (permalink / raw)
To: Krzysztof Kozlowski, Andi Shyti, Rob Herring, Conor Dooley,
Thomas Gleixner, Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Uwe Kleine-König, Daniel Lezcano
Cc: linux-arm-kernel, linux-i2c, devicetree, linux-kernel, linux-mmc,
netdev, linux-pwm, Alexey Charkov
Current guidelines recommend mmc@ node names, so use that instead.
Signed-off-by: Alexey Charkov <alchark@gmail.com>
---
arch/arm/boot/dts/vt8500/wm8505.dtsi | 2 +-
arch/arm/boot/dts/vt8500/wm8650.dtsi | 2 +-
arch/arm/boot/dts/vt8500/wm8750.dtsi | 2 +-
arch/arm/boot/dts/vt8500/wm8850.dtsi | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm/boot/dts/vt8500/wm8505.dtsi b/arch/arm/boot/dts/vt8500/wm8505.dtsi
index 1b9a18f498613d649d4f8bf87ade32d1f7edd9e4..f39632d3f96130dde1696509ddcff4dd8ac177b5 100644
--- a/arch/arm/boot/dts/vt8500/wm8505.dtsi
+++ b/arch/arm/boot/dts/vt8500/wm8505.dtsi
@@ -279,7 +279,7 @@ rtc@d8100000 {
interrupts = <48>;
};
- sdhc@d800a000 {
+ mmc@d800a000 {
compatible = "wm,wm8505-sdhc";
reg = <0xd800a000 0x400>;
interrupts = <20>, <21>;
diff --git a/arch/arm/boot/dts/vt8500/wm8650.dtsi b/arch/arm/boot/dts/vt8500/wm8650.dtsi
index 34378a49ec2017fe2771a38033788fd753dee875..3990a6b3de96f5fa1f63aeac306fdb252b1509ea 100644
--- a/arch/arm/boot/dts/vt8500/wm8650.dtsi
+++ b/arch/arm/boot/dts/vt8500/wm8650.dtsi
@@ -187,7 +187,7 @@ usb@d8007b00 {
interrupts = <43>;
};
- sdhc@d800a000 {
+ mmc@d800a000 {
compatible = "wm,wm8505-sdhc";
reg = <0xd800a000 0x400>;
interrupts = <20>, <21>;
diff --git a/arch/arm/boot/dts/vt8500/wm8750.dtsi b/arch/arm/boot/dts/vt8500/wm8750.dtsi
index 1b7a02834ac14fcd51389a6a809b5f0960d63312..081bc5bb5a697c849fc6bccde2ce5fb91c110a32 100644
--- a/arch/arm/boot/dts/vt8500/wm8750.dtsi
+++ b/arch/arm/boot/dts/vt8500/wm8750.dtsi
@@ -319,7 +319,7 @@ rtc@d8100000 {
interrupts = <48>;
};
- sdhc@d800a000 {
+ mmc@d800a000 {
compatible = "wm,wm8505-sdhc";
reg = <0xd800a000 0x1000>;
interrupts = <20 21>;
diff --git a/arch/arm/boot/dts/vt8500/wm8850.dtsi b/arch/arm/boot/dts/vt8500/wm8850.dtsi
index 76337244a8e051732e9ce3432eee36ccca9ed463..55de8d439688c5710d1e9a37890bbd274895be42 100644
--- a/arch/arm/boot/dts/vt8500/wm8850.dtsi
+++ b/arch/arm/boot/dts/vt8500/wm8850.dtsi
@@ -289,7 +289,7 @@ rtc@d8100000 {
interrupts = <48>;
};
- sdhc@d800a000 {
+ mmc@d800a000 {
compatible = "wm,wm8505-sdhc";
reg = <0xd800a000 0x1000>;
interrupts = <20 21>;
--
2.49.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* [PATCH 12/13] ARM: dts: vt8500: Add VIA APC Rock/Paper board
2025-04-16 8:21 [PATCH 00/13] ARM: vt8500: DT bindings and dts updates Alexey Charkov
` (10 preceding siblings ...)
2025-04-16 8:21 ` [PATCH 11/13] ARM: dts: vt8500: Use generic node name for the SD/MMC controller Alexey Charkov
@ 2025-04-16 8:21 ` Alexey Charkov
2025-04-17 5:36 ` Krzysztof Kozlowski
2025-04-16 8:21 ` [PATCH 13/13] ARM: dts: vt8500: Add L2 cache controller on WM8850/WM8950 Alexey Charkov
2025-04-16 15:54 ` [PATCH 00/13] ARM: vt8500: DT bindings and dts updates Rob Herring
13 siblings, 1 reply; 37+ messages in thread
From: Alexey Charkov @ 2025-04-16 8:21 UTC (permalink / raw)
To: Krzysztof Kozlowski, Andi Shyti, Rob Herring, Conor Dooley,
Thomas Gleixner, Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Uwe Kleine-König, Daniel Lezcano
Cc: linux-arm-kernel, linux-i2c, devicetree, linux-kernel, linux-mmc,
netdev, linux-pwm, Alexey Charkov
APC Rock is a development board based on WonderMedia WM8590 released
around 2013. Paper is the same board, but with VGA port unpopulated
and shipped with a recycled cardboard case
Its hardware includes:
* Single-core Cortex-A9 CPU at 800 MHz
* 512MB DDR3 RAM
* 4GB NAND flash
* 8MB SPI NOR flash
* ARM Mali-400 GPU
* HDMI output (type A) capable of 1080p output
* VGA output (on Rock, but not on Paper)
* 2x USB 2.0 type A
* 1x USB 2.0 OTG (microUSB connector)
* microSD slot
* 10/100M Ethernet
* Combined headphones/mic via 3.5mm jack connector
* Half-height miniPCIe slot (with only USB 2.0 signals)
Signed-off-by: Alexey Charkov <alchark@gmail.com>
---
arch/arm/boot/dts/vt8500/Makefile | 3 ++-
arch/arm/boot/dts/vt8500/wm8950-apc-rock.dts | 21 +++++++++++++++++++++
arch/arm/boot/dts/vt8500/wm8950.dtsi | 11 +++++++++++
3 files changed, 34 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/vt8500/Makefile b/arch/arm/boot/dts/vt8500/Makefile
index 255f4403af91c1d6a22416ab694b8eab44bf98a2..c5a2e57d53af4babe40fe2d79b2f8d9c1ae1b8db 100644
--- a/arch/arm/boot/dts/vt8500/Makefile
+++ b/arch/arm/boot/dts/vt8500/Makefile
@@ -4,4 +4,5 @@ dtb-$(CONFIG_ARCH_VT8500) += \
wm8505-ref.dtb \
wm8650-mid.dtb \
wm8750-apc8750.dtb \
- wm8850-w70v2.dtb
+ wm8850-w70v2.dtb \
+ wm8950a-apc-rock.dtb
diff --git a/arch/arm/boot/dts/vt8500/wm8950-apc-rock.dts b/arch/arm/boot/dts/vt8500/wm8950-apc-rock.dts
new file mode 100644
index 0000000000000000000000000000000000000000..58b3c8deb4f20ae072bf1381f1dfa5e5adeb414a
--- /dev/null
+++ b/arch/arm/boot/dts/vt8500/wm8950-apc-rock.dts
@@ -0,0 +1,21 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (C) 2025 Alexey Charkov <alchark@gmail.com>
+ */
+
+/dts-v1/;
+/include/ "wm8950.dtsi"
+
+/ {
+ model = "VIA APC Rock";
+ compatible = "via,apc-rock", "wm,wm8950";
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x0 0x20000000>;
+ };
+};
+
+&uart0 {
+ status = "okay";
+};
diff --git a/arch/arm/boot/dts/vt8500/wm8950.dtsi b/arch/arm/boot/dts/vt8500/wm8950.dtsi
new file mode 100644
index 0000000000000000000000000000000000000000..31fba05d3c3e70b21a64d08b5cdf645102a1faf3
--- /dev/null
+++ b/arch/arm/boot/dts/vt8500/wm8950.dtsi
@@ -0,0 +1,11 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Copyright (C) 2025 Alexey Charkov <alchark@gmail.com>
+ */
+
+/* No differences have been discovered vs. WM8850, but chip markings differ */
+/include/ "wm8850.dtsi"
+
+/ {
+ compatible = "wm,wm8950";
+};
--
2.49.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* Re: [PATCH 12/13] ARM: dts: vt8500: Add VIA APC Rock/Paper board
2025-04-16 8:21 ` [PATCH 12/13] ARM: dts: vt8500: Add VIA APC Rock/Paper board Alexey Charkov
@ 2025-04-17 5:36 ` Krzysztof Kozlowski
2025-04-17 6:01 ` Alexey Charkov
0 siblings, 1 reply; 37+ messages in thread
From: Krzysztof Kozlowski @ 2025-04-17 5:36 UTC (permalink / raw)
To: Alexey Charkov, Andi Shyti, Rob Herring, Conor Dooley,
Thomas Gleixner, Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Uwe Kleine-König, Daniel Lezcano
Cc: linux-arm-kernel, linux-i2c, devicetree, linux-kernel, linux-mmc,
netdev, linux-pwm
On 16/04/2025 10:21, Alexey Charkov wrote:
> diff --git a/arch/arm/boot/dts/vt8500/Makefile b/arch/arm/boot/dts/vt8500/Makefile
> index 255f4403af91c1d6a22416ab694b8eab44bf98a2..c5a2e57d53af4babe40fe2d79b2f8d9c1ae1b8db 100644
> --- a/arch/arm/boot/dts/vt8500/Makefile
> +++ b/arch/arm/boot/dts/vt8500/Makefile
> @@ -4,4 +4,5 @@ dtb-$(CONFIG_ARCH_VT8500) += \
> wm8505-ref.dtb \
> wm8650-mid.dtb \
> wm8750-apc8750.dtb \
> - wm8850-w70v2.dtb
> + wm8850-w70v2.dtb \
> + wm8950a-apc-rock.dtb
> diff --git a/arch/arm/boot/dts/vt8500/wm8950-apc-rock.dts b/arch/arm/boot/dts/vt8500/wm8950-apc-rock.dts
> new file mode 100644
> index 0000000000000000000000000000000000000000..58b3c8deb4f20ae072bf1381f1dfa5e5adeb414a
> --- /dev/null
> +++ b/arch/arm/boot/dts/vt8500/wm8950-apc-rock.dts
> @@ -0,0 +1,21 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
Odd license, we don't do GPL v4 in the kernel. We do however dual
license for bindings and DTS. Why choosing such license? Did you take
the code from somewhere?
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 12/13] ARM: dts: vt8500: Add VIA APC Rock/Paper board
2025-04-17 5:36 ` Krzysztof Kozlowski
@ 2025-04-17 6:01 ` Alexey Charkov
2025-04-17 6:07 ` Krzysztof Kozlowski
0 siblings, 1 reply; 37+ messages in thread
From: Alexey Charkov @ 2025-04-17 6:01 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Andi Shyti, Rob Herring, Conor Dooley, Thomas Gleixner,
Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Uwe Kleine-König,
Daniel Lezcano, linux-arm-kernel, linux-i2c, devicetree,
linux-kernel, linux-mmc, netdev, linux-pwm
On Thu, Apr 17, 2025 at 9:36 AM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On 16/04/2025 10:21, Alexey Charkov wrote:
> > diff --git a/arch/arm/boot/dts/vt8500/Makefile b/arch/arm/boot/dts/vt8500/Makefile
> > index 255f4403af91c1d6a22416ab694b8eab44bf98a2..c5a2e57d53af4babe40fe2d79b2f8d9c1ae1b8db 100644
> > --- a/arch/arm/boot/dts/vt8500/Makefile
> > +++ b/arch/arm/boot/dts/vt8500/Makefile
> > @@ -4,4 +4,5 @@ dtb-$(CONFIG_ARCH_VT8500) += \
> > wm8505-ref.dtb \
> > wm8650-mid.dtb \
> > wm8750-apc8750.dtb \
> > - wm8850-w70v2.dtb
> > + wm8850-w70v2.dtb \
> > + wm8950a-apc-rock.dtb
> > diff --git a/arch/arm/boot/dts/vt8500/wm8950-apc-rock.dts b/arch/arm/boot/dts/vt8500/wm8950-apc-rock.dts
> > new file mode 100644
> > index 0000000000000000000000000000000000000000..58b3c8deb4f20ae072bf1381f1dfa5e5adeb414a
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/vt8500/wm8950-apc-rock.dts
> > @@ -0,0 +1,21 @@
> > +// SPDX-License-Identifier: GPL-2.0-or-later
>
>
> Odd license, we don't do GPL v4 in the kernel. We do however dual
> license for bindings and DTS. Why choosing such license? Did you take
> the code from somewhere?
I picked the license identifier of the wm8850.dtsi include, which
defines most of the functionality for this board. No preference from
my side, and happy to use whichever license is common practice for
DTS, but I'm simply not sure how differently licensed files and
includes combine together - thus the conservative choice to stick to
what's already there. The original .dtsi was written by Tony Prisk,
not me.
Best regards,
Alexey
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 12/13] ARM: dts: vt8500: Add VIA APC Rock/Paper board
2025-04-17 6:01 ` Alexey Charkov
@ 2025-04-17 6:07 ` Krzysztof Kozlowski
0 siblings, 0 replies; 37+ messages in thread
From: Krzysztof Kozlowski @ 2025-04-17 6:07 UTC (permalink / raw)
To: Alexey Charkov
Cc: Andi Shyti, Rob Herring, Conor Dooley, Thomas Gleixner,
Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Uwe Kleine-König,
Daniel Lezcano, linux-arm-kernel, linux-i2c, devicetree,
linux-kernel, linux-mmc, netdev, linux-pwm
On 17/04/2025 08:01, Alexey Charkov wrote:
>>> diff --git a/arch/arm/boot/dts/vt8500/wm8950-apc-rock.dts b/arch/arm/boot/dts/vt8500/wm8950-apc-rock.dts
>>> new file mode 100644
>>> index 0000000000000000000000000000000000000000..58b3c8deb4f20ae072bf1381f1dfa5e5adeb414a
>>> --- /dev/null
>>> +++ b/arch/arm/boot/dts/vt8500/wm8950-apc-rock.dts
>>> @@ -0,0 +1,21 @@
>>> +// SPDX-License-Identifier: GPL-2.0-or-later
>>
>>
>> Odd license, we don't do GPL v4 in the kernel. We do however dual
>> license for bindings and DTS. Why choosing such license? Did you take
>> the code from somewhere?
>
> I picked the license identifier of the wm8850.dtsi include, which
> defines most of the functionality for this board. No preference from
> my side, and happy to use whichever license is common practice for
> DTS, but I'm simply not sure how differently licensed files and
> includes combine together - thus the conservative choice to stick to
> what's already there. The original .dtsi was written by Tony Prisk,
> not me.
OK, that's fine.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 37+ messages in thread
* [PATCH 13/13] ARM: dts: vt8500: Add L2 cache controller on WM8850/WM8950
2025-04-16 8:21 [PATCH 00/13] ARM: vt8500: DT bindings and dts updates Alexey Charkov
` (11 preceding siblings ...)
2025-04-16 8:21 ` [PATCH 12/13] ARM: dts: vt8500: Add VIA APC Rock/Paper board Alexey Charkov
@ 2025-04-16 8:21 ` Alexey Charkov
2025-04-16 15:54 ` [PATCH 00/13] ARM: vt8500: DT bindings and dts updates Rob Herring
13 siblings, 0 replies; 37+ messages in thread
From: Alexey Charkov @ 2025-04-16 8:21 UTC (permalink / raw)
To: Krzysztof Kozlowski, Andi Shyti, Rob Herring, Conor Dooley,
Thomas Gleixner, Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Uwe Kleine-König, Daniel Lezcano
Cc: linux-arm-kernel, linux-i2c, devicetree, linux-kernel, linux-mmc,
netdev, linux-pwm, Alexey Charkov
WonderMedia WM8850/WM8950 uses an ARM PL310 cache controller for its
L2 cache, add it.
The parameters have been deduced from vendor's U-boot environment
variables, which the downstream code uses to initialize the
controller. They set the following register values:
aux = 0x3e440000
prefetch_ctrl = 0x70000007
Their initialization code also unconditionally sets the flags
L2X0_DYNAMIC_CLK_GATING_EN | L2X0_STNDBY_MODE_EN, so encode those too
Signed-off-by: Alexey Charkov <alchark@gmail.com>
---
arch/arm/boot/dts/vt8500/wm8850.dtsi | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/arch/arm/boot/dts/vt8500/wm8850.dtsi b/arch/arm/boot/dts/vt8500/wm8850.dtsi
index 55de8d439688c5710d1e9a37890bbd274895be42..f2fb2e0b04c31dbdf320387f24c3b09d231d90b8 100644
--- a/arch/arm/boot/dts/vt8500/wm8850.dtsi
+++ b/arch/arm/boot/dts/vt8500/wm8850.dtsi
@@ -18,6 +18,7 @@ cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-a9";
reg = <0x0>;
+ next-level-cache = <&l2_cache>;
};
};
@@ -35,6 +36,19 @@ soc {
ranges;
interrupt-parent = <&intc0>;
+ l2_cache: cache-controller@d9000000 {
+ compatible = "arm,pl310-cache";
+ reg = <0xd9000000 0x1000>;
+ arm,double-linefill = <1>;
+ arm,dynamic-clock-gating = <1>;
+ arm,shared-override;
+ arm,standby-mode = <1>;
+ cache-level = <2>;
+ cache-unified;
+ prefetch-data = <1>;
+ prefetch-instr = <1>;
+ };
+
intc0: interrupt-controller@d8140000 {
compatible = "via,vt8500-intc";
interrupt-controller;
--
2.49.0
^ permalink raw reply related [flat|nested] 37+ messages in thread
* Re: [PATCH 00/13] ARM: vt8500: DT bindings and dts updates
2025-04-16 8:21 [PATCH 00/13] ARM: vt8500: DT bindings and dts updates Alexey Charkov
` (12 preceding siblings ...)
2025-04-16 8:21 ` [PATCH 13/13] ARM: dts: vt8500: Add L2 cache controller on WM8850/WM8950 Alexey Charkov
@ 2025-04-16 15:54 ` Rob Herring
2025-04-16 18:55 ` Alexey Charkov
13 siblings, 1 reply; 37+ messages in thread
From: Rob Herring @ 2025-04-16 15:54 UTC (permalink / raw)
To: Alexey Charkov
Cc: Krzysztof Kozlowski, Andi Shyti, Conor Dooley, Thomas Gleixner,
Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Uwe Kleine-König,
Daniel Lezcano, linux-arm-kernel, linux-i2c, devicetree,
linux-kernel, linux-mmc, netdev, linux-pwm
On Wed, Apr 16, 2025 at 12:21:25PM +0400, Alexey Charkov wrote:
> Convert some more VT8500 related textual DT binding descriptions to
> YAML schema, do minor dts correctness fixes, and add a DT for the
> board I'm actually testing those on (VIA APC Rock).
>
> While at that, also describe the PL310 L2 cache controller present on
> WM8850/WM8950.
>
> Note that this series is based upon Krzysztof's linux-dt/for-next
>
> Signed-off-by: Alexey Charkov <alchark@gmail.com>
> ---
> Alexey Charkov (13):
> dt-bindings: i2c: i2c-wmt: Convert to YAML
> dt-bindings: interrupt-controller: via,vt8500-intc: Convert to YAML
> dt-bindings: mmc: vt8500-sdmmc: Convert to YAML
> dt-bindings: net: via-rhine: Convert to YAML
> dt-bindings: pwm: vt8500-pwm: Convert to YAML
> dt-bindings: timer: via,vt8500-timer: Convert to YAML
> dt-bindings: arm: vt8500: Add VIA APC Rock/Paper boards
> ARM: dts: vt8500: Add node address and reg in CPU nodes
> ARM: dts: vt8500: Move memory nodes to board dts and fix addr/size
> ARM: dts: vt8500: Use generic compatibles for EHCI
> ARM: dts: vt8500: Use generic node name for the SD/MMC controller
> ARM: dts: vt8500: Add VIA APC Rock/Paper board
> ARM: dts: vt8500: Add L2 cache controller on WM8850/WM8950
>
> Documentation/devicetree/bindings/arm/vt8500.yaml | 19 ++++---
> Documentation/devicetree/bindings/i2c/i2c-wmt.txt | 24 ---------
> .../devicetree/bindings/i2c/wm,wm8505-i2c.yaml | 47 +++++++++++++++++
> .../interrupt-controller/via,vt8500-intc.txt | 16 ------
> .../interrupt-controller/via,vt8500-intc.yaml | 47 +++++++++++++++++
> .../devicetree/bindings/mmc/vt8500-sdmmc.txt | 23 --------
> .../devicetree/bindings/mmc/wm,wm8505-sdhc.yaml | 61 ++++++++++++++++++++++
> .../devicetree/bindings/net/via,vt8500-rhine.yaml | 41 +++++++++++++++
> .../devicetree/bindings/net/via-rhine.txt | 17 ------
> .../devicetree/bindings/pwm/via,vt8500-pwm.yaml | 43 +++++++++++++++
> .../devicetree/bindings/pwm/vt8500-pwm.txt | 18 -------
> .../devicetree/bindings/timer/via,vt8500-timer.txt | 15 ------
> .../bindings/timer/via,vt8500-timer.yaml | 36 +++++++++++++
> MAINTAINERS | 7 ++-
> arch/arm/boot/dts/vt8500/Makefile | 3 +-
> arch/arm/boot/dts/vt8500/vt8500-bv07.dts | 5 ++
> arch/arm/boot/dts/vt8500/vt8500.dtsi | 12 ++---
> arch/arm/boot/dts/vt8500/wm8505-ref.dts | 5 ++
> arch/arm/boot/dts/vt8500/wm8505.dtsi | 14 ++---
> arch/arm/boot/dts/vt8500/wm8650-mid.dts | 5 ++
> arch/arm/boot/dts/vt8500/wm8650.dtsi | 14 ++---
> arch/arm/boot/dts/vt8500/wm8750-apc8750.dts | 5 ++
> arch/arm/boot/dts/vt8500/wm8750.dtsi | 14 ++---
> arch/arm/boot/dts/vt8500/wm8850-w70v2.dts | 5 ++
> arch/arm/boot/dts/vt8500/wm8850.dtsi | 23 +++++---
> arch/arm/boot/dts/vt8500/wm8950-apc-rock.dts | 21 ++++++++
> arch/arm/boot/dts/vt8500/wm8950.dtsi | 11 ++++
> 27 files changed, 386 insertions(+), 165 deletions(-)
> ---
> base-commit: 62db22c2af6ce306943df5de6f5198ea9bd3d47b
I could not apply this series for testing. What base is this? It is
unknown to anything I have. Please use most recent rc1 unless you have
a dependency then use recent linux-next or a branch in it.
Rob
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 00/13] ARM: vt8500: DT bindings and dts updates
2025-04-16 15:54 ` [PATCH 00/13] ARM: vt8500: DT bindings and dts updates Rob Herring
@ 2025-04-16 18:55 ` Alexey Charkov
2025-04-16 20:09 ` Rob Herring
0 siblings, 1 reply; 37+ messages in thread
From: Alexey Charkov @ 2025-04-16 18:55 UTC (permalink / raw)
To: Rob Herring
Cc: Krzysztof Kozlowski, Andi Shyti, Conor Dooley, Thomas Gleixner,
Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Uwe Kleine-König,
Daniel Lezcano, linux-arm-kernel, linux-i2c, devicetree,
linux-kernel, linux-mmc, netdev, linux-pwm
On Wed, Apr 16, 2025 at 7:54 PM Rob Herring <robh@kernel.org> wrote:
>
> On Wed, Apr 16, 2025 at 12:21:25PM +0400, Alexey Charkov wrote:
> > Convert some more VT8500 related textual DT binding descriptions to
> > YAML schema, do minor dts correctness fixes, and add a DT for the
> > board I'm actually testing those on (VIA APC Rock).
> >
> > While at that, also describe the PL310 L2 cache controller present on
> > WM8850/WM8950.
> >
> > Note that this series is based upon Krzysztof's linux-dt/for-next
> >
> > Signed-off-by: Alexey Charkov <alchark@gmail.com>
> > ---
> > Alexey Charkov (13):
> > dt-bindings: i2c: i2c-wmt: Convert to YAML
> > dt-bindings: interrupt-controller: via,vt8500-intc: Convert to YAML
> > dt-bindings: mmc: vt8500-sdmmc: Convert to YAML
> > dt-bindings: net: via-rhine: Convert to YAML
> > dt-bindings: pwm: vt8500-pwm: Convert to YAML
> > dt-bindings: timer: via,vt8500-timer: Convert to YAML
> > dt-bindings: arm: vt8500: Add VIA APC Rock/Paper boards
> > ARM: dts: vt8500: Add node address and reg in CPU nodes
> > ARM: dts: vt8500: Move memory nodes to board dts and fix addr/size
> > ARM: dts: vt8500: Use generic compatibles for EHCI
> > ARM: dts: vt8500: Use generic node name for the SD/MMC controller
> > ARM: dts: vt8500: Add VIA APC Rock/Paper board
> > ARM: dts: vt8500: Add L2 cache controller on WM8850/WM8950
> >
> > Documentation/devicetree/bindings/arm/vt8500.yaml | 19 ++++---
> > Documentation/devicetree/bindings/i2c/i2c-wmt.txt | 24 ---------
> > .../devicetree/bindings/i2c/wm,wm8505-i2c.yaml | 47 +++++++++++++++++
> > .../interrupt-controller/via,vt8500-intc.txt | 16 ------
> > .../interrupt-controller/via,vt8500-intc.yaml | 47 +++++++++++++++++
> > .../devicetree/bindings/mmc/vt8500-sdmmc.txt | 23 --------
> > .../devicetree/bindings/mmc/wm,wm8505-sdhc.yaml | 61 ++++++++++++++++++++++
> > .../devicetree/bindings/net/via,vt8500-rhine.yaml | 41 +++++++++++++++
> > .../devicetree/bindings/net/via-rhine.txt | 17 ------
> > .../devicetree/bindings/pwm/via,vt8500-pwm.yaml | 43 +++++++++++++++
> > .../devicetree/bindings/pwm/vt8500-pwm.txt | 18 -------
> > .../devicetree/bindings/timer/via,vt8500-timer.txt | 15 ------
> > .../bindings/timer/via,vt8500-timer.yaml | 36 +++++++++++++
> > MAINTAINERS | 7 ++-
> > arch/arm/boot/dts/vt8500/Makefile | 3 +-
> > arch/arm/boot/dts/vt8500/vt8500-bv07.dts | 5 ++
> > arch/arm/boot/dts/vt8500/vt8500.dtsi | 12 ++---
> > arch/arm/boot/dts/vt8500/wm8505-ref.dts | 5 ++
> > arch/arm/boot/dts/vt8500/wm8505.dtsi | 14 ++---
> > arch/arm/boot/dts/vt8500/wm8650-mid.dts | 5 ++
> > arch/arm/boot/dts/vt8500/wm8650.dtsi | 14 ++---
> > arch/arm/boot/dts/vt8500/wm8750-apc8750.dts | 5 ++
> > arch/arm/boot/dts/vt8500/wm8750.dtsi | 14 ++---
> > arch/arm/boot/dts/vt8500/wm8850-w70v2.dts | 5 ++
> > arch/arm/boot/dts/vt8500/wm8850.dtsi | 23 +++++---
> > arch/arm/boot/dts/vt8500/wm8950-apc-rock.dts | 21 ++++++++
> > arch/arm/boot/dts/vt8500/wm8950.dtsi | 11 ++++
> > 27 files changed, 386 insertions(+), 165 deletions(-)
> > ---
> > base-commit: 62db22c2af6ce306943df5de6f5198ea9bd3d47b
>
> I could not apply this series for testing. What base is this? It is
> unknown to anything I have. Please use most recent rc1 unless you have
> a dependency then use recent linux-next or a branch in it.
It's based on Krzysztof's linux-dt/for-next [1] as mentioned in the
cover letter above - it hasn't yet been pulled into today's
linux-next. Specifically, this patch [2] from Wolfram is a dependency
for patch 10/13 in this series - the rest should apply cleanly on top
of 6.15-rc1
Best regards,
Alexey
[1] https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt.git/commit/?h=for-next
[2] https://lore.kernel.org/all/20250330193833.21970-12-wsa+renesas@sang-engineering.com/
^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: [PATCH 00/13] ARM: vt8500: DT bindings and dts updates
2025-04-16 18:55 ` Alexey Charkov
@ 2025-04-16 20:09 ` Rob Herring
0 siblings, 0 replies; 37+ messages in thread
From: Rob Herring @ 2025-04-16 20:09 UTC (permalink / raw)
To: Alexey Charkov
Cc: Krzysztof Kozlowski, Andi Shyti, Conor Dooley, Thomas Gleixner,
Krzysztof Kozlowski, Ulf Hansson, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Uwe Kleine-König,
Daniel Lezcano, linux-arm-kernel, linux-i2c, devicetree,
linux-kernel, linux-mmc, netdev, linux-pwm
On Wed, Apr 16, 2025 at 10:55:52PM +0400, Alexey Charkov wrote:
> On Wed, Apr 16, 2025 at 7:54 PM Rob Herring <robh@kernel.org> wrote:
> >
> > On Wed, Apr 16, 2025 at 12:21:25PM +0400, Alexey Charkov wrote:
> > > Convert some more VT8500 related textual DT binding descriptions to
> > > YAML schema, do minor dts correctness fixes, and add a DT for the
> > > board I'm actually testing those on (VIA APC Rock).
> > >
> > > While at that, also describe the PL310 L2 cache controller present on
> > > WM8850/WM8950.
> > >
> > > Note that this series is based upon Krzysztof's linux-dt/for-next
> > >
> > > Signed-off-by: Alexey Charkov <alchark@gmail.com>
> > > ---
> > > Alexey Charkov (13):
> > > dt-bindings: i2c: i2c-wmt: Convert to YAML
> > > dt-bindings: interrupt-controller: via,vt8500-intc: Convert to YAML
> > > dt-bindings: mmc: vt8500-sdmmc: Convert to YAML
> > > dt-bindings: net: via-rhine: Convert to YAML
> > > dt-bindings: pwm: vt8500-pwm: Convert to YAML
> > > dt-bindings: timer: via,vt8500-timer: Convert to YAML
> > > dt-bindings: arm: vt8500: Add VIA APC Rock/Paper boards
> > > ARM: dts: vt8500: Add node address and reg in CPU nodes
> > > ARM: dts: vt8500: Move memory nodes to board dts and fix addr/size
> > > ARM: dts: vt8500: Use generic compatibles for EHCI
> > > ARM: dts: vt8500: Use generic node name for the SD/MMC controller
> > > ARM: dts: vt8500: Add VIA APC Rock/Paper board
> > > ARM: dts: vt8500: Add L2 cache controller on WM8850/WM8950
> > >
> > > Documentation/devicetree/bindings/arm/vt8500.yaml | 19 ++++---
> > > Documentation/devicetree/bindings/i2c/i2c-wmt.txt | 24 ---------
> > > .../devicetree/bindings/i2c/wm,wm8505-i2c.yaml | 47 +++++++++++++++++
> > > .../interrupt-controller/via,vt8500-intc.txt | 16 ------
> > > .../interrupt-controller/via,vt8500-intc.yaml | 47 +++++++++++++++++
> > > .../devicetree/bindings/mmc/vt8500-sdmmc.txt | 23 --------
> > > .../devicetree/bindings/mmc/wm,wm8505-sdhc.yaml | 61 ++++++++++++++++++++++
> > > .../devicetree/bindings/net/via,vt8500-rhine.yaml | 41 +++++++++++++++
> > > .../devicetree/bindings/net/via-rhine.txt | 17 ------
> > > .../devicetree/bindings/pwm/via,vt8500-pwm.yaml | 43 +++++++++++++++
> > > .../devicetree/bindings/pwm/vt8500-pwm.txt | 18 -------
> > > .../devicetree/bindings/timer/via,vt8500-timer.txt | 15 ------
> > > .../bindings/timer/via,vt8500-timer.yaml | 36 +++++++++++++
> > > MAINTAINERS | 7 ++-
> > > arch/arm/boot/dts/vt8500/Makefile | 3 +-
> > > arch/arm/boot/dts/vt8500/vt8500-bv07.dts | 5 ++
> > > arch/arm/boot/dts/vt8500/vt8500.dtsi | 12 ++---
> > > arch/arm/boot/dts/vt8500/wm8505-ref.dts | 5 ++
> > > arch/arm/boot/dts/vt8500/wm8505.dtsi | 14 ++---
> > > arch/arm/boot/dts/vt8500/wm8650-mid.dts | 5 ++
> > > arch/arm/boot/dts/vt8500/wm8650.dtsi | 14 ++---
> > > arch/arm/boot/dts/vt8500/wm8750-apc8750.dts | 5 ++
> > > arch/arm/boot/dts/vt8500/wm8750.dtsi | 14 ++---
> > > arch/arm/boot/dts/vt8500/wm8850-w70v2.dts | 5 ++
> > > arch/arm/boot/dts/vt8500/wm8850.dtsi | 23 +++++---
> > > arch/arm/boot/dts/vt8500/wm8950-apc-rock.dts | 21 ++++++++
> > > arch/arm/boot/dts/vt8500/wm8950.dtsi | 11 ++++
> > > 27 files changed, 386 insertions(+), 165 deletions(-)
> > > ---
> > > base-commit: 62db22c2af6ce306943df5de6f5198ea9bd3d47b
> >
> > I could not apply this series for testing. What base is this? It is
> > unknown to anything I have. Please use most recent rc1 unless you have
> > a dependency then use recent linux-next or a branch in it.
>
> It's based on Krzysztof's linux-dt/for-next [1] as mentioned in the
> cover letter above - it hasn't yet been pulled into today's
> linux-next. Specifically, this patch [2] from Wolfram is a dependency
> for patch 10/13 in this series - the rest should apply cleanly on top
> of 6.15-rc1
Unfortunately tools can't read cover letters other than defined tags
like base-commit.
I would suggest you send each binding patch separately and then just the
.dts changes as a series. Then it is split-up by which trees these all
get applied to as bindings are applied by the subsystems typically.
Rob
^ permalink raw reply [flat|nested] 37+ messages in thread