Re: [PATCH] arm64: dts: rockchip: add usb3 controller node for RK3328 SoCs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi again :-)

Am Donnerstag, 14. März 2019, 20:08:30 CET schrieb Leonidas P. Papadakos:
> I must say with my testing, I never really have any disconnects. My
> drive generally works

It's not any disconnects, it is really when you unplug the device from
the root port that the 

> Surely it's better that it works somewhat than not at all.
> Maybe we could include the patches and revert them later if a solution
> arrises?
> 
> Or is that against the Linux way of doing things?

The main issue is
               compatible = "rockchip,rk3328-dwc3", "rockchip,rk3399-dwc3";

because:
(1) On the devicetree-side you declare that they are compatible which may
    or may not conflict with needed later changes
(2) On the kernel-driver-side with the current status the rk3328-dwc3
    will get ignored and rk3399-dwc3 used to bind to the generic dt-dwc3
    driver.
    From looking at the Rockchip code in the vendor kernel we may very well
    need a separate driver to handle the big issue which creates the issue
    which driver will bind to the dt-node. It will be either the generic one
    binding to the rk3399-dwc3 or the special one binding to rk3328-dwc3.
    And sadly it will probably depend on which module gets loaded first.

And devicetrees are supposed to be backwards compatible so a newer
kernel should keep working with an old devicetree.

A possible way forward would be to introduce a separate compatible for
rk3328 (both in the binding doc and the generic dwc3 driver), so that
we get only a
               compatible = "rockchip,rk3328-dwc3";

Which then even can move easily into a new driver if necessary without
causing issues for existing devicetrees.

Heiko





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux