public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [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