phy: rockchip-typec: enable usb3 host during usb3 phy power on
authorWilliam wu <wulf@rock-chips.com>
Fri, 16 Feb 2018 12:09:53 +0000 (13:09 +0100)
committerKishon Vijay Abraham I <kishon@ti.com>
Fri, 16 Mar 2018 11:25:33 +0000 (16:55 +0530)
commitf293f7409f6b2850d45a9fb8689003d8fa6fe453
treef623af5e3826a1d254250aef9fd7f7441076103b
parent6912d4f40bc7b8a40604f2fa02bb5545e39d1a35
phy: rockchip-typec: enable usb3 host during usb3 phy power on

We have forced usb3 to work in usb2 only mode in firmware by setting
usb3tousb2_en (bit3 of GRF_USB3PHY0/1_CON0) to 1, and setting
host_u3_port_disable (bit0 of GRF_USB3OTG0/1_CON1) to 1 and host_u3_port
(bit15~12 of GRF_USB3OTG0/1_CON1) to 0. So we need to re-enable usb3
host.

Note that the RK3399 TRM suggests that we should keep the whole usb3
controller in reset for the duration of the Type-C PHY initialization.
However, it's hard to assert the reset in the current framework of
reset. And according to the TRM, it doesn't require that we should
clear the usb3tousb2 bit before pipe ready. So let's enable the usb3
host after pipe ready to avoid the Type-C PHY initialization failure.

Signed-off-by: William wu <wulf@rock-chips.com>
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
drivers/phy/rockchip/phy-rockchip-typec.c