phy: sun4i-usb: Add H616 USB PHY quirk support
authorAndre Przywara <andre.przywara@arm.com>
Sun, 11 Jun 2023 23:32:39 +0000 (00:32 +0100)
committerAndre Przywara <andre.przywara@arm.com>
Thu, 20 Jul 2023 23:28:13 +0000 (00:28 +0100)
commit730b452caa200df2c9aa4342526538f1b57cf2ad
tree3ddf0a5c2910e8efcc522427236b03713e1b3b5e
parentd7a7fed55d0a90f6aae898c61f76bcf31e225e62
phy: sun4i-usb: Add H616 USB PHY quirk support

The H616 USB PHY is some kind of special snowflake: Only port2 works out
of the box, but all other ports need some help from this port2 to work
correctly: The CLK_BUS_PHY2 and RST_USB_PHY2 clock and reset need to be
enabled, and the SIDDQ bit in the PMU PHY control register needs to be
cleared. For this register to be accessible, CLK_BUS_ECHI2 needs to be
ungated. Don't ask ....

Follow the respective Linux patch (b45c6d80325b) and add a quirk bit,
triggering the special sequence as outlined above, for PHYs other than
PHY2: ungate this one special clock, and clear the SIDDQ bit. We also
pick the clock and reset from PHY2 and enable them as well.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
drivers/phy/allwinner/phy-sun4i-usb.c