2022-06-21 15:54:26

by Fabrice Gasnier

[permalink] [raw]
Subject: [PATCH v2 0/4] usb: host: add TPL support to ehci ohci and dwc2

The Target Peripheral List (TPL) support is used to identify targeted
devices during Embedded Host (EH) compliance testing. Add TPL support
setting from device tree on ehci-platform, ohci-platform and dwc2 drivers.
Also document TPL support in DWC2 dt-bindings.

Changes in v2:
- Document TPL support in DWC2 dt-bindings
- Spell TPL and EH
- Add collected ack

Amelie Delaunay (3):
usb: host: ohci-platform: add TPL support
usb: host: ehci-platform: add TPL support
usb: dwc2: host: add TPL support

Fabrice Gasnier (1):
dt-bindings: usb: dwc2: document TPL support

Documentation/devicetree/bindings/usb/dwc2.yaml | 3 +++
drivers/usb/dwc2/hcd.c | 3 +++
drivers/usb/host/ehci-platform.c | 2 ++
drivers/usb/host/ohci-platform.c | 3 +++
4 files changed, 11 insertions(+)

--
2.25.1


2022-06-21 16:25:10

by Fabrice Gasnier

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

From: Amelie Delaunay <[email protected]>

The Target Peripheral List (TPL) is used to identify targeted devices
during Embedded Host compliance testing. The user can add "tpl-support"
in the device tree to enable it.

Acked-by: Alan Stern <[email protected]>
Signed-off-by: Amelie Delaunay <[email protected]>
Signed-off-by: Fabrice Gasnier <[email protected]>
---
Changes in v2:
- update commit message to clarify TPL and EH meaning
- add collected ack
---
drivers/usb/host/ehci-platform.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c
index f343967443e23..6924f0316e9a8 100644
--- a/drivers/usb/host/ehci-platform.c
+++ b/drivers/usb/host/ehci-platform.c
@@ -370,6 +370,8 @@ static int ehci_platform_probe(struct platform_device *dev)
hcd->rsrc_start = res_mem->start;
hcd->rsrc_len = resource_size(res_mem);

+ hcd->tpl_support = of_usb_host_tpl_support(dev->dev.of_node);
+
err = usb_add_hcd(hcd, irq, IRQF_SHARED);
if (err)
goto err_power;
--
2.25.1

2022-06-21 16:27:25

by Fabrice Gasnier

[permalink] [raw]
Subject: [PATCH v2 3/4] dt-bindings: usb: dwc2: document TPL support

The target peripheral list (TPL) is used to identify targeted devices
during Embedded Host compliance testing. The user can add "tpl-support"
in the device tree to enable it.
Document TPL support as described in usb-hcd.yaml.

Signed-off-by: Fabrice Gasnier <[email protected]>
---
Documentation/devicetree/bindings/usb/dwc2.yaml | 3 +++
1 file changed, 3 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/dwc2.yaml b/Documentation/devicetree/bindings/usb/dwc2.yaml
index 8d22a9843ba58..1bfbc6ef16eb5 100644
--- a/Documentation/devicetree/bindings/usb/dwc2.yaml
+++ b/Documentation/devicetree/bindings/usb/dwc2.yaml
@@ -11,6 +11,7 @@ maintainers:

allOf:
- $ref: usb-drd.yaml#
+ - $ref: usb-hcd.yaml#

properties:
compatible:
@@ -161,6 +162,8 @@ properties:
property is used.
$ref: /schemas/graph.yaml#/properties/port

+ tpl-support: true
+
dependencies:
port: [ usb-role-switch ]
role-switch-default-mode: [ usb-role-switch ]
--
2.25.1

2022-06-21 16:36:43

by Fabrice Gasnier

[permalink] [raw]
Subject: [PATCH v2 4/4] usb: dwc2: host: add TPL support

From: Amelie Delaunay <[email protected]>

The Target Peripheral List (TPL) is used to identify targeted devices
during Embedded Host compliance testing. The user can add "tpl-support"
in the device tree to enable it.

Signed-off-by: Amelie Delaunay <[email protected]>
Signed-off-by: Fabrice Gasnier <[email protected]>
---
Changes in v2:
- added dt-bindings precursor patch
- update commit message to clarify TPL and EH meaning
---
drivers/usb/dwc2/hcd.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/usb/dwc2/hcd.c b/drivers/usb/dwc2/hcd.c
index f63a27d11fac8..4567f3c24d225 100644
--- a/drivers/usb/dwc2/hcd.c
+++ b/drivers/usb/dwc2/hcd.c
@@ -52,6 +52,7 @@

#include <linux/usb/hcd.h>
#include <linux/usb/ch11.h>
+#include <linux/usb/of.h>

#include "core.h"
#include "hcd.h"
@@ -5339,6 +5340,8 @@ int dwc2_hcd_init(struct dwc2_hsotg *hsotg)
/* Don't support SG list at this point */
hcd->self.sg_tablesize = 0;

+ hcd->tpl_support = of_usb_host_tpl_support(hsotg->dev->of_node);
+
if (!IS_ERR_OR_NULL(hsotg->uphy))
otg_set_host(hsotg->uphy->otg, &hcd->self);

--
2.25.1

2022-06-22 05:51:51

by Minas Harutyunyan

[permalink] [raw]
Subject: Re: [PATCH v2 4/4] usb: dwc2: host: add TPL support

On 6/21/2022 7:23 PM, Fabrice Gasnier wrote:
> From: Amelie Delaunay <[email protected]>
>
> The Target Peripheral List (TPL) is used to identify targeted devices
> during Embedded Host compliance testing. The user can add "tpl-support"
> in the device tree to enable it.
>
> Signed-off-by: Amelie Delaunay <[email protected]>
> Signed-off-by: Fabrice Gasnier <[email protected]>

Acked-by: Minas Harutyunyan <[email protected]>

> ---
> Changes in v2:
> - added dt-bindings precursor patch
> - update commit message to clarify TPL and EH meaning
> ---
> drivers/usb/dwc2/hcd.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/usb/dwc2/hcd.c b/drivers/usb/dwc2/hcd.c
> index f63a27d11fac8..4567f3c24d225 100644
> --- a/drivers/usb/dwc2/hcd.c
> +++ b/drivers/usb/dwc2/hcd.c
> @@ -52,6 +52,7 @@
>
> #include <linux/usb/hcd.h>
> #include <linux/usb/ch11.h>
> +#include <linux/usb/of.h>
>
> #include "core.h"
> #include "hcd.h"
> @@ -5339,6 +5340,8 @@ int dwc2_hcd_init(struct dwc2_hsotg *hsotg)
> /* Don't support SG list at this point */
> hcd->self.sg_tablesize = 0;
>
> + hcd->tpl_support = of_usb_host_tpl_support(hsotg->dev->of_node);
> +
> if (!IS_ERR_OR_NULL(hsotg->uphy))
> otg_set_host(hsotg->uphy->otg, &hcd->self);
>