Unset is required to enable USB 3.0 PHY when XHCI reenabled in response
to setting PHY3_IDDQ_OVERRIDE in uninit().
Fixes: cd6f769fdea7 ("phy: phy-brcm-usb-init: Power down USB 3.0 PHY when XHCI disabled")
Signed-off-by: Jaedon Shin <[email protected]>
---
drivers/phy/broadcom/phy-brcm-usb-init.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/phy/broadcom/phy-brcm-usb-init.c b/drivers/phy/broadcom/phy-brcm-usb-init.c
index 1b7febc43da9..29d2c3b1913a 100644
--- a/drivers/phy/broadcom/phy-brcm-usb-init.c
+++ b/drivers/phy/broadcom/phy-brcm-usb-init.c
@@ -962,6 +962,10 @@ void brcm_usb_init_xhci(struct brcm_usb_init_params *params)
{
void __iomem *ctrl = params->ctrl_regs;
+ USB_CTRL_UNSET(ctrl, USB30_PCTL, PHY3_IDDQ_OVERRIDE);
+ /* 1 millisecond - for USB clocks to settle down */
+ usleep_range(1000, 2000);
+
if (BRCM_ID(params->family_id) == 0x7366) {
/*
* The PHY3_SOFT_RESETB bits default to the wrong state.
--
2.17.1
On 06/07/2018 11:10 PM, Jaedon Shin wrote:
> Unset is required to enable USB 3.0 PHY when XHCI reenabled in response
> to setting PHY3_IDDQ_OVERRIDE in uninit().
>
> Fixes: cd6f769fdea7 ("phy: phy-brcm-usb-init: Power down USB 3.0 PHY when XHCI disabled")
> Signed-off-by: Jaedon Shin <[email protected]>
This does look valid, Al, can you review this as well? Thanks!
> ---
> drivers/phy/broadcom/phy-brcm-usb-init.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/phy/broadcom/phy-brcm-usb-init.c b/drivers/phy/broadcom/phy-brcm-usb-init.c
> index 1b7febc43da9..29d2c3b1913a 100644
> --- a/drivers/phy/broadcom/phy-brcm-usb-init.c
> +++ b/drivers/phy/broadcom/phy-brcm-usb-init.c
> @@ -962,6 +962,10 @@ void brcm_usb_init_xhci(struct brcm_usb_init_params *params)
> {
> void __iomem *ctrl = params->ctrl_regs;
>
> + USB_CTRL_UNSET(ctrl, USB30_PCTL, PHY3_IDDQ_OVERRIDE);
> + /* 1 millisecond - for USB clocks to settle down */
> + usleep_range(1000, 2000);
> +
> if (BRCM_ID(params->family_id) == 0x7366) {
> /*
> * The PHY3_SOFT_RESETB bits default to the wrong state.
>
--
Florian