[PATCH] phy: sun4i-usb: Align H6 initialization logic with the kernel
Roman Stratiienko
r.stratiienko at gmail.com
Tue May 12 20:24:49 CEST 2020
H6 SOC needs additional initialization of PHY registers. Corresponding
changes can be found in the kernel patch [1].
Without this changes there is no enumeration of 'musb' gadget.
[1] - https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ae409cc7c3cdb9ac4a1dba3eae70efec3d6b6c79
Fixes: 35fa673e0e5f ("sunxi: phy: Add USB PHY support for Allwinner H6")
Signed-off-by: Roman Stratiienko <r.stratiienko at gmail.com>
---
CC: Ondrej Jirman <megous at megous.com>
CC: Icenowy Zheng <icenowy at aosc.io>
CC: Marek Vasut <marex at denx.de>
CC: linux-sunxi at googlegroups.com
---
drivers/phy/allwinner/phy-sun4i-usb.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/phy/allwinner/phy-sun4i-usb.c b/drivers/phy/allwinner/phy-sun4i-usb.c
index 612c428cf5..688ee7d4cc 100644
--- a/drivers/phy/allwinner/phy-sun4i-usb.c
+++ b/drivers/phy/allwinner/phy-sun4i-usb.c
@@ -279,7 +279,8 @@ static int sun4i_usb_phy_init(struct phy *phy)
return ret;
}
- if (data->cfg->type == sun8i_a83t_phy) {
+ if (data->cfg->type == sun8i_a83t_phy ||
+ data->cfg->type == sun50i_h6_phy) {
if (phy->id == 0) {
val = readl(data->base + data->cfg->phyctl_offset);
val |= PHY_CTL_VBUSVLDEXT;
@@ -321,7 +322,8 @@ static int sun4i_usb_phy_exit(struct phy *phy)
int ret;
if (phy->id == 0) {
- if (data->cfg->type == sun8i_a83t_phy) {
+ if (data->cfg->type == sun8i_a83t_phy ||
+ data->cfg->type == sun50i_h6_phy) {
void __iomem *phyctl = data->base +
data->cfg->phyctl_offset;
--
2.25.1
More information about the U-Boot
mailing list