Commit d699c1d0 authored by Icenowy Zheng's avatar Icenowy Zheng Committed by Kishon Vijay Abraham I
Browse files

phy: sun4i-usb: change PHYCTL register clearing code



It seems that all SoCs with the PHYCTL register offset as 0x10 need the
PHYCTL register to be cleared before it's written.

Change PHYCTL register clearing code to judge whether clearing is needed
based on the PHYCTL offset.

Signed-off-by: default avatarIcenowy Zheng <icenowy@aosc.xyz>
Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
parent a0b1910e
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -188,10 +188,8 @@ static void sun4i_usb_phy_write(struct sun4i_usb_phy *phy, u32 addr, u32 data,

	spin_lock_irqsave(&phy_data->reg_lock, flags);

	if (phy_data->cfg->type == sun8i_a33_phy ||
	    phy_data->cfg->type == sun50i_a64_phy ||
	    phy_data->cfg->type == sun8i_v3s_phy) {
		/* A33 or A64 needs us to set phyctl to 0 explicitly */
	if (phy_data->cfg->phyctl_offset == REG_PHYCTL_A33) {
		/* SoCs newer than A33 need us to set phyctl to 0 explicitly */
		writel(0, phyctl);
	}