diff mbox series

[10/13] ARM: dts: vt8500: Use generic compatibles for EHCI

Message ID 20250416-wmt-updates-v1-10-f9af689cdfc2@gmail.com
State New
Headers show
Series ARM: vt8500: DT bindings and dts updates | expand

Commit Message

Alexey Charkov April 16, 2025, 8:21 a.m. UTC
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(-)

Comments

Krzysztof Kozlowski April 17, 2025, 5:34 a.m. UTC | #1
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
Alexey Charkov April 17, 2025, 5:54 a.m. UTC | #2
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
diff mbox series

Patch

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>;
 		};