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
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
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
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]>