2021-02-23 16:18:55

by Álvaro Fernández Rojas

[permalink] [raw]
Subject: [PATCH v2 0/2] usb: host: ehci-platform: add ignore-oc DT support

Over-current reporting isn't supported on some platforms such as bcm63xx.
These devices will incorrectly report over-current if this flag isn't properly
activated.

Álvaro Fernández Rojas (2):
dt-bindings: usb: generic-ehci: document ignore-oc flag
usb: host: ehci-platform: add ignore_oc DT support

Documentation/devicetree/bindings/usb/generic-ehci.yaml | 6 ++++++
drivers/usb/host/ehci-platform.c | 3 +++
2 files changed, 9 insertions(+)

--
2.20.1


2021-02-23 16:20:53

by Álvaro Fernández Rojas

[permalink] [raw]
Subject: [PATCH v2 1/2] dt-bindings: usb: generic-ehci: document ignore-oc flag

Over-current reporting isn't supported on some platforms such as bcm63xx.
These devices will incorrectly report over-current if this flag isn't properly
activated.

Signed-off-by: Álvaro Fernández Rojas <[email protected]>
---
v2: change flag name and improve documentation as suggested by Alan Stern.

Documentation/devicetree/bindings/usb/generic-ehci.yaml | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/generic-ehci.yaml b/Documentation/devicetree/bindings/usb/generic-ehci.yaml
index cf83f2d9afac..8089dc956ba3 100644
--- a/Documentation/devicetree/bindings/usb/generic-ehci.yaml
+++ b/Documentation/devicetree/bindings/usb/generic-ehci.yaml
@@ -122,6 +122,12 @@ properties:
description:
Set this flag to force EHCI reset after resume.

+ spurious-oc:
+ $ref: /schemas/types.yaml#/definitions/flag
+ description:
+ Set this flag to indicate that the hardware sometimes turns on
+ the OC bit when an over-current isn't actually present.
+
companion:
$ref: /schemas/types.yaml#/definitions/phandle
description:
--
2.20.1

2021-02-23 16:21:28

by Álvaro Fernández Rojas

[permalink] [raw]
Subject: [PATCH v2 2/2] usb: host: ehci-platform: add ignore_oc DT support

Over-current reporting isn't supported on some platforms such as bcm63xx.
These devices will incorrectly report over-current if this flag isn't properly
activated.

Signed-off-by: Álvaro Fernández Rojas <[email protected]>
---
v2: change flag name and improve documentation as suggested by Alan Stern.

drivers/usb/host/ehci-platform.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c
index a48dd3fac153..2c587e31d010 100644
--- a/drivers/usb/host/ehci-platform.c
+++ b/drivers/usb/host/ehci-platform.c
@@ -286,6 +286,9 @@ static int ehci_platform_probe(struct platform_device *dev)
if (of_property_read_bool(dev->dev.of_node, "big-endian"))
ehci->big_endian_mmio = ehci->big_endian_desc = 1;

+ if (of_property_read_bool(dev->dev.of_node, "spurious-oc"))
+ ehci->ignore_oc = 1;
+
if (of_property_read_bool(dev->dev.of_node,
"needs-reset-on-resume"))
priv->reset_on_resume = true;
--
2.20.1

2021-02-23 16:58:51

by Alan Stern

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] usb: host: ehci-platform: add ignore_oc DT support

On Tue, Feb 23, 2021 at 05:16:44PM +0100, ?lvaro Fern?ndez Rojas wrote:
> Over-current reporting isn't supported on some platforms such as bcm63xx.
> These devices will incorrectly report over-current if this flag isn't properly
> activated.
>
> Signed-off-by: ?lvaro Fern?ndez Rojas <[email protected]>
> ---
> v2: change flag name and improve documentation as suggested by Alan Stern.
>
> drivers/usb/host/ehci-platform.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c
> index a48dd3fac153..2c587e31d010 100644
> --- a/drivers/usb/host/ehci-platform.c
> +++ b/drivers/usb/host/ehci-platform.c
> @@ -286,6 +286,9 @@ static int ehci_platform_probe(struct platform_device *dev)
> if (of_property_read_bool(dev->dev.of_node, "big-endian"))
> ehci->big_endian_mmio = ehci->big_endian_desc = 1;
>
> + if (of_property_read_bool(dev->dev.of_node, "spurious-oc"))
> + ehci->ignore_oc = 1;
> +
> if (of_property_read_bool(dev->dev.of_node,
> "needs-reset-on-resume"))
> priv->reset_on_resume = true;

Acked-by: Alan Stern <[email protected]>