Message ID | 20250416-wmt-updates-v1-10-f9af689cdfc2@gmail.com |
---|---|
State | New |
Headers | show |
Series | ARM: vt8500: DT bindings and dts updates | expand |
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
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 --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>; };
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(-)