mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-04-03 12:05:13 +02:00
phy: rockchip: naneng-combphy: Enable U3 OTG port for RK3568
[ Upstream commit7bb14b61b7] The boot firmware may disable the U3 port early during boot and leave it up to the controller or PHY driver to re-enable U3 when needed. The Rockchip USBDP PHY driver currently does this for RK3576 and RK3588, something the Rockchip Naneng Combo PHY driver never does for RK3568. This may result in USB 3.0 ports being limited to only using USB 2.0 or in special cases not working at all on RK3568. Write to PIPE_GRF USB3OTGx_CON1 reg to ensure the U3 port is enabled when a PHY with PHY_TYPE_USB3 mode is used. Fixes:7160820d74("phy: rockchip: add naneng combo phy for RK3568") Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Link: https://lore.kernel.org/r/20250723072324.2246498-1-jonas@kwiboo.se Signed-off-by: Vinod Koul <vkoul@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
0ea9e0b0d5
commit
72c64fa2e4
@@ -122,6 +122,8 @@ struct rockchip_combphy_grfcfg {
|
||||
struct combphy_reg pipe_xpcs_phy_ready;
|
||||
struct combphy_reg pipe_pcie1l0_sel;
|
||||
struct combphy_reg pipe_pcie1l1_sel;
|
||||
struct combphy_reg u3otg0_port_en;
|
||||
struct combphy_reg u3otg1_port_en;
|
||||
};
|
||||
|
||||
struct rockchip_combphy_cfg {
|
||||
@@ -431,6 +433,14 @@ static int rk3568_combphy_cfg(struct rockchip_combphy_priv *priv)
|
||||
rockchip_combphy_param_write(priv->phy_grf, &cfg->pipe_txcomp_sel, false);
|
||||
rockchip_combphy_param_write(priv->phy_grf, &cfg->pipe_txelec_sel, false);
|
||||
rockchip_combphy_param_write(priv->phy_grf, &cfg->usb_mode_set, true);
|
||||
switch (priv->id) {
|
||||
case 0:
|
||||
rockchip_combphy_param_write(priv->pipe_grf, &cfg->u3otg0_port_en, true);
|
||||
break;
|
||||
case 1:
|
||||
rockchip_combphy_param_write(priv->pipe_grf, &cfg->u3otg1_port_en, true);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case PHY_TYPE_SATA:
|
||||
@@ -574,6 +584,8 @@ static const struct rockchip_combphy_grfcfg rk3568_combphy_grfcfgs = {
|
||||
/* pipe-grf */
|
||||
.pipe_con0_for_sata = { 0x0000, 15, 0, 0x00, 0x2220 },
|
||||
.pipe_xpcs_phy_ready = { 0x0040, 2, 2, 0x00, 0x01 },
|
||||
.u3otg0_port_en = { 0x0104, 15, 0, 0x0181, 0x1100 },
|
||||
.u3otg1_port_en = { 0x0144, 15, 0, 0x0181, 0x1100 },
|
||||
};
|
||||
|
||||
static const struct rockchip_combphy_cfg rk3568_combphy_cfgs = {
|
||||
|
||||
Reference in New Issue
Block a user