* [PATCH 0/4] Bug fixes for the Broadcom STB USB phy driver
@ 2017-12-27 19:28 Al Cooper
2017-12-27 19:28 ` [PATCH 1/4] phy: usb: phy-brcm-usb: Fix two DT properties to match bindings doc Al Cooper
` (4 more replies)
0 siblings, 5 replies; 10+ messages in thread
From: Al Cooper @ 2017-12-27 19:28 UTC (permalink / raw)
To: Kishon Vijay Abraham I; +Cc: Al Cooper, linux-kernel, bcm-kernel-feedback-list
This patchset contains a series of bug fixes for the Broadcom
STB USB phy driver.
Al Cooper (4):
phy: usb: phy-brcm-usb: Fix two DT properties to match bindings doc
phy: usb: phy-brcm-usb-init: Some Low Speed keyboards fail on 7271
phy: usb: phy-brcm-usb-init: Power down USB 3.0 PHY when XHCI disabled
phy: usb: phy-brcm-usb-init: DRD mode can cause crash on startup
drivers/phy/broadcom/phy-brcm-usb-init.c | 22 ++++++++++------------
drivers/phy/broadcom/phy-brcm-usb.c | 4 ++--
2 files changed, 12 insertions(+), 14 deletions(-)
--
1.9.0.138.g2de3478
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/4] phy: usb: phy-brcm-usb: Fix two DT properties to match bindings doc
2017-12-27 19:28 [PATCH 0/4] Bug fixes for the Broadcom STB USB phy driver Al Cooper
@ 2017-12-27 19:28 ` Al Cooper
2017-12-28 1:24 ` Florian Fainelli
2017-12-27 19:28 ` [PATCH 2/4] phy: usb: phy-brcm-usb-init: Some Low Speed keyboards fail on 7271 Al Cooper
` (3 subsequent siblings)
4 siblings, 1 reply; 10+ messages in thread
From: Al Cooper @ 2017-12-27 19:28 UTC (permalink / raw)
To: Kishon Vijay Abraham I; +Cc: Al Cooper, linux-kernel, bcm-kernel-feedback-list
Change "brcm,has_xhci" and "brcm,has_eohci" device tree properties
to the preferred "brcm,has-xhci" and "brcm,has-eohci". This also
matches the existing device tree bindings document.
Fixes: 49859e55e364 ("phy: usb: phy-brcm-usb: Add Broadcom STB USB phy driver")
Signed-off-by: Al Cooper <alcooperx@gmail.com>
---
drivers/phy/broadcom/phy-brcm-usb.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/phy/broadcom/phy-brcm-usb.c b/drivers/phy/broadcom/phy-brcm-usb.c
index 195b981..d1dab36 100644
--- a/drivers/phy/broadcom/phy-brcm-usb.c
+++ b/drivers/phy/broadcom/phy-brcm-usb.c
@@ -338,9 +338,9 @@ static int brcm_usb_phy_probe(struct platform_device *pdev)
ARRAY_SIZE(brcm_dr_mode_to_name),
mode, &priv->ini.mode);
}
- if (of_property_read_bool(dn, "brcm,has_xhci"))
+ if (of_property_read_bool(dn, "brcm,has-xhci"))
priv->has_xhci = true;
- if (of_property_read_bool(dn, "brcm,has_eohci"))
+ if (of_property_read_bool(dn, "brcm,has-eohci"))
priv->has_eohci = true;
err = brcm_usb_phy_dvr_init(dev, priv, dn);
--
1.9.0.138.g2de3478
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 2/4] phy: usb: phy-brcm-usb-init: Some Low Speed keyboards fail on 7271
2017-12-27 19:28 [PATCH 0/4] Bug fixes for the Broadcom STB USB phy driver Al Cooper
2017-12-27 19:28 ` [PATCH 1/4] phy: usb: phy-brcm-usb: Fix two DT properties to match bindings doc Al Cooper
@ 2017-12-27 19:28 ` Al Cooper
2017-12-28 1:24 ` Florian Fainelli
2017-12-27 19:28 ` [PATCH 3/4] phy: usb: phy-brcm-usb-init: Power down USB 3.0 PHY when XHCI disabled Al Cooper
` (2 subsequent siblings)
4 siblings, 1 reply; 10+ messages in thread
From: Al Cooper @ 2017-12-27 19:28 UTC (permalink / raw)
To: Kishon Vijay Abraham I
Cc: Al Cooper, Al Cooper, linux-kernel, bcm-kernel-feedback-list
From: Al Cooper <al.cooper@broadcom.com>
Enable the the Low Speed Keep Alive signal on the 7271b0 by setting
the LS_KEEP_ALIVE bit in the USB CTRL OBRIDGE register otherwise
some Dell Low Speed keyboards fail.
Also do a little cleanup of the EBRIDGE ESTOP_SCB_REQ bit. Since
this is only used on one platform, remove it from the platform
tables and just use "if (family == ").
Fixes: 49859e55e364 ("phy: usb: phy-brcm-usb: Add Broadcom STB USB phy driver")
Signed-off-by: Al Cooper <alcooperx@gmail.com>
---
drivers/phy/broadcom/phy-brcm-usb-init.c | 19 +++++++------------
1 file changed, 7 insertions(+), 12 deletions(-)
diff --git a/drivers/phy/broadcom/phy-brcm-usb-init.c b/drivers/phy/broadcom/phy-brcm-usb-init.c
index 1e7ce0b..69ea479 100644
--- a/drivers/phy/broadcom/phy-brcm-usb-init.c
+++ b/drivers/phy/broadcom/phy-brcm-usb-init.c
@@ -50,6 +50,8 @@
#define USB_CTRL_PLL_CTL_PLL_IDDQ_PWRDN_MASK 0x80000000 /* option */
#define USB_CTRL_EBRIDGE 0x0c
#define USB_CTRL_EBRIDGE_ESTOP_SCB_REQ_MASK 0x00020000 /* option */
+#define USB_CTRL_OBRIDGE 0x10
+#define USB_CTRL_OBRIDGE_LS_KEEP_ALIVE_MASK 0x08000000
#define USB_CTRL_MDIO 0x14
#define USB_CTRL_MDIO2 0x18
#define USB_CTRL_UTMI_CTL_1 0x2c
@@ -116,7 +118,6 @@ enum {
USB_CTRL_SETUP_STRAP_IPP_SEL_SELECTOR,
USB_CTRL_SETUP_OC3_DISABLE_SELECTOR,
USB_CTRL_PLL_CTL_PLL_IDDQ_PWRDN_SELECTOR,
- USB_CTRL_EBRIDGE_ESTOP_SCB_REQ_SELECTOR,
USB_CTRL_USB_PM_BDC_SOFT_RESETB_SELECTOR,
USB_CTRL_USB_PM_XHC_SOFT_RESETB_SELECTOR,
USB_CTRL_USB_PM_USB_PWRDN_SELECTOR,
@@ -203,7 +204,6 @@ struct id_to_type {
USB_CTRL_SETUP_STRAP_IPP_SEL_MASK,
USB_CTRL_SETUP_OC3_DISABLE_MASK,
0, /* USB_CTRL_PLL_CTL_PLL_IDDQ_PWRDN_MASK */
- USB_CTRL_EBRIDGE_ESTOP_SCB_REQ_MASK,
0, /* USB_CTRL_USB_PM_BDC_SOFT_RESETB_MASK */
USB_CTRL_USB_PM_XHC_SOFT_RESETB_MASK,
USB_CTRL_USB_PM_USB_PWRDN_MASK,
@@ -225,7 +225,6 @@ struct id_to_type {
0, /* USB_CTRL_SETUP_STRAP_IPP_SEL_MASK */
USB_CTRL_SETUP_OC3_DISABLE_MASK,
USB_CTRL_PLL_CTL_PLL_IDDQ_PWRDN_MASK,
- USB_CTRL_EBRIDGE_ESTOP_SCB_REQ_MASK,
0, /* USB_CTRL_USB_PM_BDC_SOFT_RESETB_MASK */
USB_CTRL_USB_PM_XHC_SOFT_RESETB_VAR_MASK,
0, /* USB_CTRL_USB_PM_USB_PWRDN_MASK */
@@ -247,7 +246,6 @@ struct id_to_type {
USB_CTRL_SETUP_STRAP_IPP_SEL_MASK,
USB_CTRL_SETUP_OC3_DISABLE_MASK,
0, /* USB_CTRL_PLL_CTL_PLL_IDDQ_PWRDN_MASK */
- USB_CTRL_EBRIDGE_ESTOP_SCB_REQ_MASK,
USB_CTRL_USB_PM_BDC_SOFT_RESETB_MASK,
USB_CTRL_USB_PM_XHC_SOFT_RESETB_MASK,
USB_CTRL_USB_PM_USB_PWRDN_MASK,
@@ -269,7 +267,6 @@ struct id_to_type {
0, /* USB_CTRL_SETUP_STRAP_IPP_SEL_MASK */
USB_CTRL_SETUP_OC3_DISABLE_MASK,
USB_CTRL_PLL_CTL_PLL_IDDQ_PWRDN_MASK,
- USB_CTRL_EBRIDGE_ESTOP_SCB_REQ_MASK,
0, /* USB_CTRL_USB_PM_BDC_SOFT_RESETB_MASK */
USB_CTRL_USB_PM_XHC_SOFT_RESETB_VAR_MASK,
0, /* USB_CTRL_USB_PM_USB_PWRDN_MASK */
@@ -291,7 +288,6 @@ struct id_to_type {
0, /* USB_CTRL_SETUP_STRAP_IPP_SEL_MASK */
USB_CTRL_SETUP_OC3_DISABLE_MASK,
0, /* USB_CTRL_PLL_CTL_PLL_IDDQ_PWRDN_MASK */
- USB_CTRL_EBRIDGE_ESTOP_SCB_REQ_MASK,
0, /* USB_CTRL_USB_PM_BDC_SOFT_RESETB_MASK */
USB_CTRL_USB_PM_XHC_SOFT_RESETB_VAR_MASK,
USB_CTRL_USB_PM_USB_PWRDN_MASK,
@@ -313,7 +309,6 @@ struct id_to_type {
0, /* USB_CTRL_SETUP_STRAP_IPP_SEL_MASK */
0, /* USB_CTRL_SETUP_OC3_DISABLE_MASK */
USB_CTRL_PLL_CTL_PLL_IDDQ_PWRDN_MASK,
- 0, /* USB_CTRL_EBRIDGE_ESTOP_SCB_REQ_MASK */
0, /* USB_CTRL_USB_PM_BDC_SOFT_RESETB_MASK */
0, /* USB_CTRL_USB_PM_XHC_SOFT_RESETB_MASK */
0, /* USB_CTRL_USB_PM_USB_PWRDN_MASK */
@@ -335,7 +330,6 @@ struct id_to_type {
USB_CTRL_SETUP_STRAP_IPP_SEL_MASK,
USB_CTRL_SETUP_OC3_DISABLE_MASK,
0, /* USB_CTRL_PLL_CTL_PLL_IDDQ_PWRDN_MASK */
- 0, /* USB_CTRL_EBRIDGE_ESTOP_SCB_REQ_MASK */
USB_CTRL_USB_PM_BDC_SOFT_RESETB_MASK,
USB_CTRL_USB_PM_XHC_SOFT_RESETB_MASK,
USB_CTRL_USB_PM_USB_PWRDN_MASK,
@@ -357,7 +351,6 @@ struct id_to_type {
0, /* USB_CTRL_SETUP_STRAP_IPP_SEL_MASK */
USB_CTRL_SETUP_OC3_DISABLE_MASK,
USB_CTRL_PLL_CTL_PLL_IDDQ_PWRDN_MASK,
- 0, /* USB_CTRL_EBRIDGE_ESTOP_SCB_REQ_MASK */
0, /* USB_CTRL_USB_PM_BDC_SOFT_RESETB_MASK */
0, /* USB_CTRL_USB_PM_XHC_SOFT_RESETB_MASK */
0, /* USB_CTRL_USB_PM_USB_PWRDN_MASK */
@@ -379,7 +372,6 @@ struct id_to_type {
USB_CTRL_SETUP_STRAP_IPP_SEL_MASK,
USB_CTRL_SETUP_OC3_DISABLE_MASK,
0, /* USB_CTRL_PLL_CTL_PLL_IDDQ_PWRDN_MASK */
- USB_CTRL_EBRIDGE_ESTOP_SCB_REQ_MASK,
USB_CTRL_USB_PM_BDC_SOFT_RESETB_MASK,
USB_CTRL_USB_PM_XHC_SOFT_RESETB_MASK,
USB_CTRL_USB_PM_USB_PWRDN_MASK,
@@ -401,7 +393,6 @@ struct id_to_type {
USB_CTRL_SETUP_STRAP_IPP_SEL_MASK,
USB_CTRL_SETUP_OC3_DISABLE_MASK,
0, /* USB_CTRL_PLL_CTL_PLL_IDDQ_PWRDN_MASK */
- USB_CTRL_EBRIDGE_ESTOP_SCB_REQ_MASK,
USB_CTRL_USB_PM_BDC_SOFT_RESETB_MASK,
USB_CTRL_USB_PM_XHC_SOFT_RESETB_MASK,
USB_CTRL_USB_PM_USB_PWRDN_MASK,
@@ -952,13 +943,17 @@ void brcm_usb_init_eohci(struct brcm_usb_init_params *params)
* Don't enable this so the memory controller doesn't read
* into memory holes. NOTE: This bit is low true on 7366C0.
*/
- USB_CTRL_SET_FAMILY(params, EBRIDGE, ESTOP_SCB_REQ);
+ USB_CTRL_SET(ctrl, EBRIDGE, ESTOP_SCB_REQ);
/* Setup the endian bits */
reg = brcmusb_readl(USB_CTRL_REG(ctrl, SETUP));
reg &= ~USB_CTRL_SETUP_ENDIAN_BITS;
reg |= USB_CTRL_MASK_FAMILY(params, SETUP, ENDIAN);
brcmusb_writel(reg, USB_CTRL_REG(ctrl, SETUP));
+
+ if (params->selected_family == BRCM_FAMILY_7271A0)
+ /* Enable LS keep alive fix for certain keyboards */
+ USB_CTRL_SET(ctrl, OBRIDGE, LS_KEEP_ALIVE);
}
void brcm_usb_init_xhci(struct brcm_usb_init_params *params)
--
1.9.0.138.g2de3478
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 3/4] phy: usb: phy-brcm-usb-init: Power down USB 3.0 PHY when XHCI disabled
2017-12-27 19:28 [PATCH 0/4] Bug fixes for the Broadcom STB USB phy driver Al Cooper
2017-12-27 19:28 ` [PATCH 1/4] phy: usb: phy-brcm-usb: Fix two DT properties to match bindings doc Al Cooper
2017-12-27 19:28 ` [PATCH 2/4] phy: usb: phy-brcm-usb-init: Some Low Speed keyboards fail on 7271 Al Cooper
@ 2017-12-27 19:28 ` Al Cooper
2017-12-28 1:24 ` Florian Fainelli
2017-12-27 19:28 ` [PATCH 4/4] phy: usb: phy-brcm-usb-init: DRD mode can cause crash on startup Al Cooper
2017-12-28 11:13 ` [PATCH 0/4] Bug fixes for the Broadcom STB USB phy driver Kishon Vijay Abraham I
4 siblings, 1 reply; 10+ messages in thread
From: Al Cooper @ 2017-12-27 19:28 UTC (permalink / raw)
To: Kishon Vijay Abraham I
Cc: Al Cooper, Al Cooper, linux-kernel, bcm-kernel-feedback-list
From: Al Cooper <al.cooper@broadcom.com>
Set PHY3_IDDQ_OVERRIDE in the xhci uninit routine. This will save
additional power when the XHCI driver is not enabled.
Fixes: 49859e55e364 ("phy: usb: phy-brcm-usb: Add Broadcom STB USB phy driver")
Signed-off-by: Al Cooper <alcooperx@gmail.com>
---
drivers/phy/broadcom/phy-brcm-usb-init.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/phy/broadcom/phy-brcm-usb-init.c b/drivers/phy/broadcom/phy-brcm-usb-init.c
index 69ea479..6672adcc 100644
--- a/drivers/phy/broadcom/phy-brcm-usb-init.c
+++ b/drivers/phy/broadcom/phy-brcm-usb-init.c
@@ -73,6 +73,7 @@
#define USB_CTRL_USB30_CTL1_USB3_IPP_MASK 0x20000000 /* option */
#define USB_CTRL_USB30_PCTL 0x70
#define USB_CTRL_USB30_PCTL_PHY3_SOFT_RESETB_MASK 0x00000002
+#define USB_CTRL_USB30_PCTL_PHY3_IDDQ_OVERRIDE_MASK 0x00008000
#define USB_CTRL_USB30_PCTL_PHY3_SOFT_RESETB_P1_MASK 0x00020000
#define USB_CTRL_USB_DEVICE_CTL1 0x90
#define USB_CTRL_USB_DEVICE_CTL1_PORT_MODE_MASK 0x00000003 /* option */
@@ -998,6 +999,7 @@ void brcm_usb_uninit_eohci(struct brcm_usb_init_params *params)
void brcm_usb_uninit_xhci(struct brcm_usb_init_params *params)
{
brcmusb_xhci_soft_reset(params, 1);
+ USB_CTRL_SET(params->ctrl_regs, USB30_PCTL, PHY3_IDDQ_OVERRIDE);
}
void brcm_usb_set_family_map(struct brcm_usb_init_params *params)
--
1.9.0.138.g2de3478
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 4/4] phy: usb: phy-brcm-usb-init: DRD mode can cause crash on startup
2017-12-27 19:28 [PATCH 0/4] Bug fixes for the Broadcom STB USB phy driver Al Cooper
` (2 preceding siblings ...)
2017-12-27 19:28 ` [PATCH 3/4] phy: usb: phy-brcm-usb-init: Power down USB 3.0 PHY when XHCI disabled Al Cooper
@ 2017-12-27 19:28 ` Al Cooper
2017-12-28 1:25 ` Florian Fainelli
2017-12-28 11:13 ` [PATCH 0/4] Bug fixes for the Broadcom STB USB phy driver Kishon Vijay Abraham I
4 siblings, 1 reply; 10+ messages in thread
From: Al Cooper @ 2017-12-27 19:28 UTC (permalink / raw)
To: Kishon Vijay Abraham I
Cc: Al Cooper, Al Cooper, linux-kernel, bcm-kernel-feedback-list
From: Al Cooper <al.cooper@broadcom.com>
This is caused by a bug in the BDC core. When the BDC core comes
out of reset and it's not selected, it gets a backup clock. When
the BDC core is selected, it get's the main clock. If HOST mode
is then selected the BDC core has the main clock shut off but
the backup clock is not restored.
The failure scenario and cause are as follows:
- DRD mode is active
- Device mode is selected first in bootloader
- When host mode is now selected, the clock to the BDC is cut off.
- BDC registers are inaccessible and therefore the BDC driver
crashes upon Linux boot.
The fix is to have the phy driver always force a BDC reset on
startup.
Fixes: 49859e55e364 ("phy: usb: phy-brcm-usb: Add Broadcom STB USB phy driver")
Signed-off-by: Al Cooper <alcooperx@gmail.com>
---
drivers/phy/broadcom/phy-brcm-usb-init.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/phy/broadcom/phy-brcm-usb-init.c b/drivers/phy/broadcom/phy-brcm-usb-init.c
index 6672adcc..1b7febc 100644
--- a/drivers/phy/broadcom/phy-brcm-usb-init.c
+++ b/drivers/phy/broadcom/phy-brcm-usb-init.c
@@ -918,6 +918,7 @@ void brcm_usb_init_common(struct brcm_usb_init_params *params)
USB_CTRL_UNSET_FAMILY(params, USB_PM, BDC_SOFT_RESETB);
break;
default:
+ USB_CTRL_UNSET_FAMILY(params, USB_PM, BDC_SOFT_RESETB);
USB_CTRL_SET_FAMILY(params, USB_PM, BDC_SOFT_RESETB);
break;
}
--
1.9.0.138.g2de3478
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 1/4] phy: usb: phy-brcm-usb: Fix two DT properties to match bindings doc
2017-12-27 19:28 ` [PATCH 1/4] phy: usb: phy-brcm-usb: Fix two DT properties to match bindings doc Al Cooper
@ 2017-12-28 1:24 ` Florian Fainelli
0 siblings, 0 replies; 10+ messages in thread
From: Florian Fainelli @ 2017-12-28 1:24 UTC (permalink / raw)
To: Al Cooper, Kishon Vijay Abraham I; +Cc: linux-kernel, bcm-kernel-feedback-list
On 12/27/2017 11:28 AM, Al Cooper wrote:
> Change "brcm,has_xhci" and "brcm,has_eohci" device tree properties
> to the preferred "brcm,has-xhci" and "brcm,has-eohci". This also
> matches the existing device tree bindings document.
>
> Fixes: 49859e55e364 ("phy: usb: phy-brcm-usb: Add Broadcom STB USB phy driver")
> Signed-off-by: Al Cooper <alcooperx@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
--
Florian
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/4] phy: usb: phy-brcm-usb-init: Some Low Speed keyboards fail on 7271
2017-12-27 19:28 ` [PATCH 2/4] phy: usb: phy-brcm-usb-init: Some Low Speed keyboards fail on 7271 Al Cooper
@ 2017-12-28 1:24 ` Florian Fainelli
0 siblings, 0 replies; 10+ messages in thread
From: Florian Fainelli @ 2017-12-28 1:24 UTC (permalink / raw)
To: Al Cooper, Kishon Vijay Abraham I
Cc: Al Cooper, linux-kernel, bcm-kernel-feedback-list
On 12/27/2017 11:28 AM, Al Cooper wrote:
> From: Al Cooper <al.cooper@broadcom.com>
>
> Enable the the Low Speed Keep Alive signal on the 7271b0 by setting
> the LS_KEEP_ALIVE bit in the USB CTRL OBRIDGE register otherwise
> some Dell Low Speed keyboards fail.
>
> Also do a little cleanup of the EBRIDGE ESTOP_SCB_REQ bit. Since
> this is only used on one platform, remove it from the platform
> tables and just use "if (family == ").
>
> Fixes: 49859e55e364 ("phy: usb: phy-brcm-usb: Add Broadcom STB USB phy driver")
> Signed-off-by: Al Cooper <alcooperx@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
--
Florian
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 3/4] phy: usb: phy-brcm-usb-init: Power down USB 3.0 PHY when XHCI disabled
2017-12-27 19:28 ` [PATCH 3/4] phy: usb: phy-brcm-usb-init: Power down USB 3.0 PHY when XHCI disabled Al Cooper
@ 2017-12-28 1:24 ` Florian Fainelli
0 siblings, 0 replies; 10+ messages in thread
From: Florian Fainelli @ 2017-12-28 1:24 UTC (permalink / raw)
To: Al Cooper, Kishon Vijay Abraham I
Cc: Al Cooper, linux-kernel, bcm-kernel-feedback-list
On 12/27/2017 11:28 AM, Al Cooper wrote:
> From: Al Cooper <al.cooper@broadcom.com>
>
> Set PHY3_IDDQ_OVERRIDE in the xhci uninit routine. This will save
> additional power when the XHCI driver is not enabled.
>
> Fixes: 49859e55e364 ("phy: usb: phy-brcm-usb: Add Broadcom STB USB phy driver")
> Signed-off-by: Al Cooper <alcooperx@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
--
Florian
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 4/4] phy: usb: phy-brcm-usb-init: DRD mode can cause crash on startup
2017-12-27 19:28 ` [PATCH 4/4] phy: usb: phy-brcm-usb-init: DRD mode can cause crash on startup Al Cooper
@ 2017-12-28 1:25 ` Florian Fainelli
0 siblings, 0 replies; 10+ messages in thread
From: Florian Fainelli @ 2017-12-28 1:25 UTC (permalink / raw)
To: Al Cooper, Kishon Vijay Abraham I
Cc: Al Cooper, linux-kernel, bcm-kernel-feedback-list
On 12/27/2017 11:28 AM, Al Cooper wrote:
> From: Al Cooper <al.cooper@broadcom.com>
>
> This is caused by a bug in the BDC core. When the BDC core comes
> out of reset and it's not selected, it gets a backup clock. When
> the BDC core is selected, it get's the main clock. If HOST mode
> is then selected the BDC core has the main clock shut off but
> the backup clock is not restored.
>
> The failure scenario and cause are as follows:
> - DRD mode is active
> - Device mode is selected first in bootloader
> - When host mode is now selected, the clock to the BDC is cut off.
> - BDC registers are inaccessible and therefore the BDC driver
> crashes upon Linux boot.
>
> The fix is to have the phy driver always force a BDC reset on
> startup.
>
> Fixes: 49859e55e364 ("phy: usb: phy-brcm-usb: Add Broadcom STB USB phy driver")
> Signed-off-by: Al Cooper <alcooperx@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
--
Florian
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/4] Bug fixes for the Broadcom STB USB phy driver
2017-12-27 19:28 [PATCH 0/4] Bug fixes for the Broadcom STB USB phy driver Al Cooper
` (3 preceding siblings ...)
2017-12-27 19:28 ` [PATCH 4/4] phy: usb: phy-brcm-usb-init: DRD mode can cause crash on startup Al Cooper
@ 2017-12-28 11:13 ` Kishon Vijay Abraham I
4 siblings, 0 replies; 10+ messages in thread
From: Kishon Vijay Abraham I @ 2017-12-28 11:13 UTC (permalink / raw)
To: Al Cooper; +Cc: linux-kernel, bcm-kernel-feedback-list
On Thursday 28 December 2017 12:58 AM, Al Cooper wrote:
> This patchset contains a series of bug fixes for the Broadcom
> STB USB phy driver.
removed usb from subject and merged to phy -next.
Thanks
Kishon
>
> Al Cooper (4):
> phy: usb: phy-brcm-usb: Fix two DT properties to match bindings doc
> phy: usb: phy-brcm-usb-init: Some Low Speed keyboards fail on 7271
> phy: usb: phy-brcm-usb-init: Power down USB 3.0 PHY when XHCI disabled
> phy: usb: phy-brcm-usb-init: DRD mode can cause crash on startup
>
> drivers/phy/broadcom/phy-brcm-usb-init.c | 22 ++++++++++------------
> drivers/phy/broadcom/phy-brcm-usb.c | 4 ++--
> 2 files changed, 12 insertions(+), 14 deletions(-)
>
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2017-12-28 11:13 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-27 19:28 [PATCH 0/4] Bug fixes for the Broadcom STB USB phy driver Al Cooper
2017-12-27 19:28 ` [PATCH 1/4] phy: usb: phy-brcm-usb: Fix two DT properties to match bindings doc Al Cooper
2017-12-28 1:24 ` Florian Fainelli
2017-12-27 19:28 ` [PATCH 2/4] phy: usb: phy-brcm-usb-init: Some Low Speed keyboards fail on 7271 Al Cooper
2017-12-28 1:24 ` Florian Fainelli
2017-12-27 19:28 ` [PATCH 3/4] phy: usb: phy-brcm-usb-init: Power down USB 3.0 PHY when XHCI disabled Al Cooper
2017-12-28 1:24 ` Florian Fainelli
2017-12-27 19:28 ` [PATCH 4/4] phy: usb: phy-brcm-usb-init: DRD mode can cause crash on startup Al Cooper
2017-12-28 1:25 ` Florian Fainelli
2017-12-28 11:13 ` [PATCH 0/4] Bug fixes for the Broadcom STB USB phy driver Kishon Vijay Abraham I
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox