diff options
author | Rafał Miłecki <rafal@milecki.pl> | 2021-01-14 12:13:49 +0100 |
---|---|---|
committer | Rafał Miłecki <rafal@milecki.pl> | 2021-01-14 12:34:20 +0100 |
commit | 6c90999e2e0dee6e5e0322b89e8e6fb6f76aecc9 (patch) | |
tree | bf909eecacb6c901e37b8969f1b79c61e16a0b54 /target/linux/bcm4908/patches-5.4/084-v5.6-0010-phy-usb-PHY-s-MDIO-registers-not-accessible-without-.patch | |
parent | fa02225ee656c18b084988246a0ad83fb202c374 (diff) | |
download | upstream-6c90999e2e0dee6e5e0322b89e8e6fb6f76aecc9.tar.gz upstream-6c90999e2e0dee6e5e0322b89e8e6fb6f76aecc9.tar.bz2 upstream-6c90999e2e0dee6e5e0322b89e8e6fb6f76aecc9.zip |
bcm4908: backport brcmstb USB PHY driver changes
This includes BCM4908 support
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Diffstat (limited to 'target/linux/bcm4908/patches-5.4/084-v5.6-0010-phy-usb-PHY-s-MDIO-registers-not-accessible-without-.patch')
-rw-r--r-- | target/linux/bcm4908/patches-5.4/084-v5.6-0010-phy-usb-PHY-s-MDIO-registers-not-accessible-without-.patch | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/target/linux/bcm4908/patches-5.4/084-v5.6-0010-phy-usb-PHY-s-MDIO-registers-not-accessible-without-.patch b/target/linux/bcm4908/patches-5.4/084-v5.6-0010-phy-usb-PHY-s-MDIO-registers-not-accessible-without-.patch new file mode 100644 index 0000000000..48f829f799 --- /dev/null +++ b/target/linux/bcm4908/patches-5.4/084-v5.6-0010-phy-usb-PHY-s-MDIO-registers-not-accessible-without-.patch @@ -0,0 +1,44 @@ +From fc430aea02068150d053ef24bc424db3dd1357d4 Mon Sep 17 00:00:00 2001 +From: Al Cooper <alcooperx@gmail.com> +Date: Fri, 3 Jan 2020 13:18:08 -0500 +Subject: [PATCH] phy: usb: PHY's MDIO registers not accessible without device + installed + +When there is no device connected and FSM is enabled, the XHCI puts +the PHY into suspend mode. When the PHY is put into suspend mode +the USB LDO powers down the PHY. This causes the MDIO to be +inaccessible and its registers reset to default. The fix is to +disable FSM. + +Signed-off-by: Al Cooper <alcooperx@gmail.com> +Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> +Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> +--- + drivers/phy/broadcom/phy-brcm-usb-init-synopsys.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +--- a/drivers/phy/broadcom/phy-brcm-usb-init-synopsys.c ++++ b/drivers/phy/broadcom/phy-brcm-usb-init-synopsys.c +@@ -56,6 +56,7 @@ + #define USB_PHY_PLL_LDO_CTL 0x08 + #define USB_PHY_PLL_LDO_CTL_AFE_CORERDY_MASK 0x00000004 + #define USB_PHY_UTMI_CTL_1 0x04 ++#define USB_PHY_UTMI_CTL_1_POWER_UP_FSM_EN_MASK 0x00000800 + #define USB_PHY_UTMI_CTL_1_PHY_MODE_MASK 0x0000000c + #define USB_PHY_UTMI_CTL_1_PHY_MODE_SHIFT 2 + #define USB_PHY_STATUS 0x20 +@@ -229,6 +230,14 @@ static void usb_init_common_7211b0(struc + + usb_init_common(params); + ++ /* ++ * Disable FSM, otherwise the PHY will auto suspend when no ++ * device is connected and will be reset on resume. ++ */ ++ reg = brcm_usb_readl(usb_phy + USB_PHY_UTMI_CTL_1); ++ reg &= ~USB_PHY_UTMI_CTL_1_POWER_UP_FSM_EN_MASK; ++ brcm_usb_writel(reg, usb_phy + USB_PHY_UTMI_CTL_1); ++ + usb2_eye_fix_7211b0(params); + } + |