All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 0/9] Support UDC on Tegra 20/30/114/124
@ 2017-07-05 17:19 Dmitry Osipenko
       [not found] ` <cover.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-05 17:19 UTC (permalink / raw)
  To: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter
  Cc: Marc Dietrich, Nicolas Chauvet, linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

Some time ago Thierry Reding sent out patches that enabled UDC on NVIDIA
Tegra, unfortunately they haven't got enough traction to get into the
kernel. I've rebased those patches and added a fix for the Ethernet USB
Gadget on Tegra20, Marc Dietrich tested UDC driver on AC100 and Nicolas
Chauvet on TK1. Like an original patchset, this series adds support for
the peripheral mode only.

Dmitry Osipenko (4):
  usb: gadget: f_ecm/f_eem/f_rndis: Setup quirk_avoids_skb_reserve
  usb: chipidea: udc: Support SKB alignment quirk
  ARM: tegra: Enable UDC on AC100
  ARM: defconfig: tegra: Enable ChipIdea UDC driver

Thierry Reding (5):
  usb: chipidea: Add support for Tegra20/30/114/124
  ARM: tegra: Enable UDC on TrimSlice
  ARM: tegra: Enable UDC on Beaver
  ARM: tegra: Enable UDC on Dalmore
  ARM: tegra: Enable UDC on Jetson TK1

 arch/arm/boot/dts/tegra114-dalmore.dts    |  10 ++
 arch/arm/boot/dts/tegra124-jetson-tk1.dts |  12 ++-
 arch/arm/boot/dts/tegra20-paz00.dts       |   2 +
 arch/arm/boot/dts/tegra20-trimslice.dts   |   2 +
 arch/arm/boot/dts/tegra30-beaver.dts      |  10 ++
 arch/arm/configs/tegra_defconfig          |  10 +-
 drivers/usb/chipidea/Makefile             |   1 +
 drivers/usb/chipidea/ci_hdrc_tegra.c      | 156 ++++++++++++++++++++++++++++++
 drivers/usb/chipidea/udc.c                |   3 +
 drivers/usb/gadget/function/f_ecm.c       |   2 +
 drivers/usb/gadget/function/f_eem.c       |   2 +
 drivers/usb/gadget/function/f_rndis.c     |   4 +
 include/linux/usb/chipidea.h              |   1 +
 13 files changed, 209 insertions(+), 6 deletions(-)
 create mode 100644 drivers/usb/chipidea/ci_hdrc_tegra.c

-- 
2.13.2

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 48+ messages in thread

* [PATCH v1 1/9] usb: gadget: f_ecm/f_eem/f_rndis: Setup quirk_avoids_skb_reserve
       [not found] ` <cover.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2017-07-05 17:19   ` Dmitry Osipenko
       [not found]     ` <a2f60b1ee32dba0adb7dfaaab7b1ee4d67699107.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2017-07-05 17:19   ` [PATCH v1 2/9] usb: chipidea: udc: Support SKB alignment quirk Dmitry Osipenko
                     ` (8 subsequent siblings)
  9 siblings, 1 reply; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-05 17:19 UTC (permalink / raw)
  To: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter
  Cc: Marc Dietrich, Nicolas Chauvet, linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

This quirk is required to make USB Ethernet gadget working with HW that
can't cope with unaligned DMA. For some reason only f_ncm handles that
quirk, let's handle it in the rest of the network models. All models have
been tested with a ChipIdea UDC driver on NVIDIA Tegra20 SoC that require
DMA to be aligned.

Signed-off-by: Dmitry Osipenko <digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 drivers/usb/gadget/function/f_ecm.c   | 2 ++
 drivers/usb/gadget/function/f_eem.c   | 2 ++
 drivers/usb/gadget/function/f_rndis.c | 4 ++++
 3 files changed, 8 insertions(+)

diff --git a/drivers/usb/gadget/function/f_ecm.c b/drivers/usb/gadget/function/f_ecm.c
index 4c488d15b6f6..01150f7864c7 100644
--- a/drivers/usb/gadget/function/f_ecm.c
+++ b/drivers/usb/gadget/function/f_ecm.c
@@ -584,6 +584,8 @@ static int ecm_set_alt(struct usb_function *f, unsigned intf, unsigned alt)
 			 */
 			ecm->port.is_zlp_ok =
 				gadget_is_zlp_supported(cdev->gadget);
+			ecm->port.no_skb_reserve =
+				gadget_avoids_skb_reserve(cdev->gadget);
 			ecm->port.cdc_filter = DEFAULT_FILTER;
 			DBG(cdev, "activate ecm\n");
 			net = gether_connect(&ecm->port);
diff --git a/drivers/usb/gadget/function/f_eem.c b/drivers/usb/gadget/function/f_eem.c
index 007ec6e4a5d4..3b70b9ccfd2d 100644
--- a/drivers/usb/gadget/function/f_eem.c
+++ b/drivers/usb/gadget/function/f_eem.c
@@ -215,6 +215,8 @@ static int eem_set_alt(struct usb_function *f, unsigned intf, unsigned alt)
 		 */
 		eem->port.is_zlp_ok = 1;
 		eem->port.cdc_filter = DEFAULT_FILTER;
+		eem->port.no_skb_reserve =
+				gadget_avoids_skb_reserve(cdev->gadget);
 		DBG(cdev, "activate eem\n");
 		net = gether_connect(&eem->port);
 		if (IS_ERR(net))
diff --git a/drivers/usb/gadget/function/f_rndis.c b/drivers/usb/gadget/function/f_rndis.c
index 16562e461121..1b379c051a84 100644
--- a/drivers/usb/gadget/function/f_rndis.c
+++ b/drivers/usb/gadget/function/f_rndis.c
@@ -593,6 +593,10 @@ static int rndis_set_alt(struct usb_function *f, unsigned intf, unsigned alt)
 		 */
 		rndis->port.cdc_filter = 0;
 
+		/* Setup DMA alignment workaround for UDC's that need it */
+		rndis->port.no_skb_reserve =
+				gadget_avoids_skb_reserve(cdev->gadget);
+
 		DBG(cdev, "RNDIS RX/TX early activation ... \n");
 		net = gether_connect(&rndis->port);
 		if (IS_ERR(net))
-- 
2.13.2

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [PATCH v1 2/9] usb: chipidea: udc: Support SKB alignment quirk
       [not found] ` <cover.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2017-07-05 17:19   ` [PATCH v1 1/9] usb: gadget: f_ecm/f_eem/f_rndis: Setup quirk_avoids_skb_reserve Dmitry Osipenko
@ 2017-07-05 17:19   ` Dmitry Osipenko
       [not found]     ` <719de7513f42948f5f75742c31f4cc09582411fd.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2017-07-05 17:19   ` [PATCH v1 3/9] usb: chipidea: Add support for Tegra20/30/114/124 Dmitry Osipenko
                     ` (7 subsequent siblings)
  9 siblings, 1 reply; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-05 17:19 UTC (permalink / raw)
  To: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter
  Cc: Marc Dietrich, Nicolas Chauvet, linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

NVIDIA Tegra20 UDC can't cope with unaligned DMA and require a USB gadget
quirk that avoids SKB buffer alignment to be set in order to make Ethernet
Gadget working. Later Tegra generations do not require that quirk. Let's
add a new platform data flag that allows to enable USB gadget quirk for
platforms that require it.

Signed-off-by: Dmitry Osipenko <digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 drivers/usb/chipidea/udc.c   | 3 +++
 include/linux/usb/chipidea.h | 1 +
 2 files changed, 4 insertions(+)

diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c
index d68b125796f9..404f10513339 100644
--- a/drivers/usb/chipidea/udc.c
+++ b/drivers/usb/chipidea/udc.c
@@ -1899,6 +1899,9 @@ static int udc_start(struct ci_hdrc *ci)
 	ci->gadget.name         = ci->platdata->name;
 	ci->gadget.otg_caps	= otg_caps;
 
+	if (ci->platdata->flags & CI_HDRC_REQUIRES_ALIGNED_DMA)
+		ci->gadget.quirk_avoids_skb_reserve = 1;
+
 	if (ci->is_otg && (otg_caps->hnp_support || otg_caps->srp_support ||
 						otg_caps->adp_support))
 		ci->gadget.is_otg = 1;
diff --git a/include/linux/usb/chipidea.h b/include/linux/usb/chipidea.h
index c5fdfcf99828..d725cff7268d 100644
--- a/include/linux/usb/chipidea.h
+++ b/include/linux/usb/chipidea.h
@@ -58,6 +58,7 @@ struct ci_hdrc_platform_data {
 #define CI_HDRC_OVERRIDE_TX_BURST	BIT(10)
 #define CI_HDRC_OVERRIDE_RX_BURST	BIT(11)
 #define CI_HDRC_OVERRIDE_PHY_CONTROL	BIT(12) /* Glue layer manages phy */
+#define CI_HDRC_REQUIRES_ALIGNED_DMA	BIT(13)
 	enum usb_dr_mode	dr_mode;
 #define CI_HDRC_CONTROLLER_RESET_EVENT		0
 #define CI_HDRC_CONTROLLER_STOPPED_EVENT	1
-- 
2.13.2

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [PATCH v1 3/9] usb: chipidea: Add support for Tegra20/30/114/124
       [not found] ` <cover.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2017-07-05 17:19   ` [PATCH v1 1/9] usb: gadget: f_ecm/f_eem/f_rndis: Setup quirk_avoids_skb_reserve Dmitry Osipenko
  2017-07-05 17:19   ` [PATCH v1 2/9] usb: chipidea: udc: Support SKB alignment quirk Dmitry Osipenko
@ 2017-07-05 17:19   ` Dmitry Osipenko
       [not found]     ` <9e0127ea9b580e1af334c4c3bcb8b3c0705614ea.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2017-07-05 17:19   ` [PATCH v1 4/9] ARM: tegra: Enable UDC on TrimSlice Dmitry Osipenko
                     ` (6 subsequent siblings)
  9 siblings, 1 reply; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-05 17:19 UTC (permalink / raw)
  To: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter
  Cc: Marc Dietrich, Nicolas Chauvet, linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA, Thierry Reding

From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

All of these Tegra SoC generations have a ChipIdea UDC IP block that can
be used for device mode communication with a host. Implement rudimentary
support that doesn't allow switching between host and device modes.

Signed-off-by: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
[digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org: rebased patches and added DMA alignment quirk for Tegra20]
Signed-off-by: Dmitry Osipenko <digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 drivers/usb/chipidea/Makefile        |   1 +
 drivers/usb/chipidea/ci_hdrc_tegra.c | 156 +++++++++++++++++++++++++++++++++++
 2 files changed, 157 insertions(+)
 create mode 100644 drivers/usb/chipidea/ci_hdrc_tegra.c

diff --git a/drivers/usb/chipidea/Makefile b/drivers/usb/chipidea/Makefile
index 39fca5715ed3..ddcbddf8361a 100644
--- a/drivers/usb/chipidea/Makefile
+++ b/drivers/usb/chipidea/Makefile
@@ -15,3 +15,4 @@ obj-$(CONFIG_USB_CHIPIDEA)	+= ci_hdrc_zevio.o
 obj-$(CONFIG_USB_CHIPIDEA_PCI)	+= ci_hdrc_pci.o
 
 obj-$(CONFIG_USB_CHIPIDEA_OF)	+= usbmisc_imx.o ci_hdrc_imx.o
+obj-$(CONFIG_USB_CHIPIDEA_OF)	+= ci_hdrc_tegra.o
diff --git a/drivers/usb/chipidea/ci_hdrc_tegra.c b/drivers/usb/chipidea/ci_hdrc_tegra.c
new file mode 100644
index 000000000000..f632648df36f
--- /dev/null
+++ b/drivers/usb/chipidea/ci_hdrc_tegra.c
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2016, NVIDIA Corporation
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ */
+
+#include <linux/clk.h>
+#include <linux/module.h>
+#include <linux/platform_device.h>
+#include <linux/reset.h>
+
+#include <linux/usb/chipidea.h>
+
+#include "ci.h"
+
+struct tegra_udc_soc_info {
+	bool supports_unaligned_dma;
+};
+
+struct tegra_udc {
+	struct ci_hdrc_platform_data data;
+	struct platform_device *dev;
+
+	struct usb_phy *phy;
+	struct clk *clk;
+};
+
+static const struct tegra_udc_soc_info tegra20_udc_soc_info = {
+	.supports_unaligned_dma = false,
+};
+
+static const struct tegra_udc_soc_info tegra30_udc_soc_info = {
+	.supports_unaligned_dma = true,
+};
+
+static const struct tegra_udc_soc_info tegra114_udc_soc_info = {
+	.supports_unaligned_dma = true,
+};
+
+static const struct tegra_udc_soc_info tegra124_udc_soc_info = {
+	.supports_unaligned_dma = true,
+};
+
+static const struct of_device_id tegra_udc_of_match[] = {
+	{
+		.compatible = "nvidia,tegra20-udc",
+		.data = &tegra20_udc_soc_info,
+	}, {
+		.compatible = "nvidia,tegra30-udc",
+		.data = &tegra30_udc_soc_info,
+	}, {
+		.compatible = "nvidia,tegra114-udc",
+		.data = &tegra114_udc_soc_info,
+	}, {
+		.compatible = "nvidia,tegra124-udc",
+		.data = &tegra124_udc_soc_info,
+	}, {
+		/* sentinel */
+	}
+};
+MODULE_DEVICE_TABLE(of, tegra_udc_of_match);
+
+static int tegra_udc_probe(struct platform_device *pdev)
+{
+	const struct tegra_udc_soc_info *soc;
+	const struct of_device_id *id;
+	struct tegra_udc *udc;
+	int err;
+
+	udc = devm_kzalloc(&pdev->dev, sizeof(*udc), GFP_KERNEL);
+	if (!udc)
+		return -ENOMEM;
+
+	id = of_match_node(tegra_udc_of_match, pdev->dev.of_node);
+	if (!id)
+		return -ENODEV;
+
+	udc->phy = devm_usb_get_phy_by_phandle(&pdev->dev, "nvidia,phy", 0);
+	if (IS_ERR(udc->phy)) {
+		err = PTR_ERR(udc->phy);
+		dev_err(&pdev->dev, "failed to get PHY: %d\n", err);
+		return err;
+	}
+
+	udc->clk = devm_clk_get(&pdev->dev, NULL);
+	if (IS_ERR(udc->clk)) {
+		err = PTR_ERR(udc->clk);
+		dev_err(&pdev->dev, "failed to get clock: %d\n", err);
+		return err;
+	}
+
+	err = clk_prepare_enable(udc->clk);
+	if (err < 0) {
+		dev_err(&pdev->dev, "failed to enable clock: %d\n", err);
+		return err;
+	}
+
+	/* setup and register ChipIdea HDRC device */
+	udc->data.name = "tegra-udc";
+	udc->data.capoffset = DEF_CAPOFFSET;
+	udc->data.flags = 0;
+	udc->data.usb_phy = udc->phy;
+
+	/* setup device specific quirks */
+	soc = id->data;
+
+	if (!soc->supports_unaligned_dma)
+		udc->data.flags |= CI_HDRC_REQUIRES_ALIGNED_DMA;
+
+	/* power on UDC controller */
+	usb_phy_set_suspend(udc->phy, 0);
+
+	udc->dev = ci_hdrc_add_device(&pdev->dev, pdev->resource,
+				      pdev->num_resources, &udc->data);
+	if (IS_ERR(udc->dev)) {
+		err = PTR_ERR(udc->dev);
+		dev_err(&pdev->dev, "failed to add HDRC device: %d\n", err);
+		goto power_off;
+	}
+
+	platform_set_drvdata(pdev, udc);
+
+	return 0;
+
+power_off:
+	usb_phy_set_suspend(udc->phy, 1);
+	clk_disable_unprepare(udc->clk);
+	return err;
+}
+
+static int tegra_udc_remove(struct platform_device *pdev)
+{
+	struct tegra_udc *udc = platform_get_drvdata(pdev);
+
+	usb_phy_set_suspend(udc->phy, 1);
+	clk_disable_unprepare(udc->clk);
+
+	return 0;
+}
+
+static struct platform_driver tegra_udc_driver = {
+	.driver = {
+		.name = "tegra-udc",
+		.of_match_table = tegra_udc_of_match,
+	},
+	.probe = tegra_udc_probe,
+	.remove = tegra_udc_remove,
+};
+module_platform_driver(tegra_udc_driver);
+
+MODULE_DESCRIPTION("NVIDIA Tegra USB device mode driver");
+MODULE_AUTHOR("Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>");
+MODULE_ALIAS("platform:tegra-udc");
+MODULE_LICENSE("GPL v2");
-- 
2.13.2

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [PATCH v1 4/9] ARM: tegra: Enable UDC on TrimSlice
       [not found] ` <cover.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
                     ` (2 preceding siblings ...)
  2017-07-05 17:19   ` [PATCH v1 3/9] usb: chipidea: Add support for Tegra20/30/114/124 Dmitry Osipenko
@ 2017-07-05 17:19   ` Dmitry Osipenko
       [not found]     ` <82321d32d968c6b9481a77fbecae8c0756d37f0f.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2017-07-05 17:19   ` [PATCH v1 5/9] ARM: tegra: Enable UDC on Beaver Dmitry Osipenko
                     ` (5 subsequent siblings)
  9 siblings, 1 reply; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-05 17:19 UTC (permalink / raw)
  To: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter
  Cc: Marc Dietrich, Nicolas Chauvet, linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA, Thierry Reding

From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

Override the compatible string of the first USB controller to enable
device mode.

Signed-off-by: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
---
 arch/arm/boot/dts/tegra20-trimslice.dts | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm/boot/dts/tegra20-trimslice.dts b/arch/arm/boot/dts/tegra20-trimslice.dts
index b902ab594afa..96b4f3f9827b 100644
--- a/arch/arm/boot/dts/tegra20-trimslice.dts
+++ b/arch/arm/boot/dts/tegra20-trimslice.dts
@@ -336,7 +336,9 @@
 	};
 
 	usb@c5000000 {
+		compatible = "nvidia,tegra20-udc";
 		status = "okay";
+		dr_mode = "otg";
 	};
 
 	usb-phy@c5000000 {
-- 
2.13.2

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [PATCH v1 5/9] ARM: tegra: Enable UDC on Beaver
       [not found] ` <cover.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
                     ` (3 preceding siblings ...)
  2017-07-05 17:19   ` [PATCH v1 4/9] ARM: tegra: Enable UDC on TrimSlice Dmitry Osipenko
@ 2017-07-05 17:19   ` Dmitry Osipenko
       [not found]     ` <39b0632e80a95ec0208e3ed867033ec8de898624.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2017-07-05 17:19   ` [PATCH v1 6/9] ARM: tegra: Enable UDC on Dalmore Dmitry Osipenko
                     ` (4 subsequent siblings)
  9 siblings, 1 reply; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-05 17:19 UTC (permalink / raw)
  To: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter
  Cc: Marc Dietrich, Nicolas Chauvet, linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA, Thierry Reding

From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

Override the compatible string of the first USB controller to enable
device mode.

Signed-off-by: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
---
 arch/arm/boot/dts/tegra30-beaver.dts | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/arch/arm/boot/dts/tegra30-beaver.dts b/arch/arm/boot/dts/tegra30-beaver.dts
index 4f41b18d9547..c40d6d36f41f 100644
--- a/arch/arm/boot/dts/tegra30-beaver.dts
+++ b/arch/arm/boot/dts/tegra30-beaver.dts
@@ -1927,6 +1927,16 @@
 		non-removable;
 	};
 
+	usb@7d000000 {
+		compatible = "nvidia,tegra30-udc";
+		status = "okay";
+		dr_mode = "otg";
+	};
+
+	usb-phy@7d000000 {
+		status = "okay";
+	};
+
 	usb@7d004000 {
 		status = "okay";
 	};
-- 
2.13.2

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [PATCH v1 6/9] ARM: tegra: Enable UDC on Dalmore
       [not found] ` <cover.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
                     ` (4 preceding siblings ...)
  2017-07-05 17:19   ` [PATCH v1 5/9] ARM: tegra: Enable UDC on Beaver Dmitry Osipenko
@ 2017-07-05 17:19   ` Dmitry Osipenko
       [not found]     ` <6756bf3afa16e414c924ec1b4b2608731a9ebcea.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2017-07-05 17:19   ` [PATCH v1 7/9] ARM: tegra: Enable UDC on Jetson TK1 Dmitry Osipenko
                     ` (3 subsequent siblings)
  9 siblings, 1 reply; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-05 17:19 UTC (permalink / raw)
  To: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter
  Cc: Marc Dietrich, Nicolas Chauvet, linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA, Thierry Reding

From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

Override the compatible string of the first USB controller to enable
device mode.

Signed-off-by: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
---
 arch/arm/boot/dts/tegra114-dalmore.dts | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/arch/arm/boot/dts/tegra114-dalmore.dts b/arch/arm/boot/dts/tegra114-dalmore.dts
index 1444fbd543e7..2a7107dae2a9 100644
--- a/arch/arm/boot/dts/tegra114-dalmore.dts
+++ b/arch/arm/boot/dts/tegra114-dalmore.dts
@@ -1122,6 +1122,16 @@
 		non-removable;
 	};
 
+	usb@7d000000 {
+		compatible = "nvidia,tegra114-udc";
+		status = "okay";
+		dr_mode = "otg";
+	};
+
+	usb-phy@7d000000 {
+		status = "okay";
+	};
+
 	usb@7d008000 {
 		status = "okay";
 	};
-- 
2.13.2

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [PATCH v1 7/9] ARM: tegra: Enable UDC on Jetson TK1
       [not found] ` <cover.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
                     ` (5 preceding siblings ...)
  2017-07-05 17:19   ` [PATCH v1 6/9] ARM: tegra: Enable UDC on Dalmore Dmitry Osipenko
@ 2017-07-05 17:19   ` Dmitry Osipenko
       [not found]     ` <c6b78a8d149eb9341f41a6b1181569c4b78df1af.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2017-07-05 17:19   ` [PATCH v1 8/9] ARM: tegra: Enable UDC on AC100 Dmitry Osipenko
                     ` (2 subsequent siblings)
  9 siblings, 1 reply; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-05 17:19 UTC (permalink / raw)
  To: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter
  Cc: Marc Dietrich, Nicolas Chauvet, linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA, Thierry Reding

From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

Override the compatible string of the first USB controller to enable
device mode.

Signed-off-by: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Tested-by: Nicolas Chauvet <kwizart-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 arch/arm/boot/dts/tegra124-jetson-tk1.dts | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/tegra124-jetson-tk1.dts b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
index 7bacb2954f58..0577a04f6d0d 100644
--- a/arch/arm/boot/dts/tegra124-jetson-tk1.dts
+++ b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
@@ -1722,7 +1722,7 @@
 
 				lanes {
 					usb2-0 {
-						nvidia,function = "xusb";
+						nvidia,function = "snps";
 						status = "okay";
 					};
 
@@ -1829,6 +1829,16 @@
 		};
 	};
 
+	usb@7d000000 {
+		compatible = "nvidia,tegra124-udc";
+		status = "okay";
+		dr_mode = "otg";
+	};
+
+	usb-phy@7d000000 {
+		status = "okay";
+	};
+
 	/* mini-PCIe USB */
 	usb@7d004000 {
 		status = "okay";
-- 
2.13.2

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [PATCH v1 8/9] ARM: tegra: Enable UDC on AC100
       [not found] ` <cover.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
                     ` (6 preceding siblings ...)
  2017-07-05 17:19   ` [PATCH v1 7/9] ARM: tegra: Enable UDC on Jetson TK1 Dmitry Osipenko
@ 2017-07-05 17:19   ` Dmitry Osipenko
       [not found]     ` <a0923f46a14c27afd7d2595dfb8878c2ebf02230.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2017-07-05 17:19   ` [PATCH v1 9/9] ARM: defconfig: tegra: Enable ChipIdea UDC driver Dmitry Osipenko
  2017-07-05 20:31   ` [PATCH v1 0/9] Support UDC on Tegra 20/30/114/124 Stephen Warren
  9 siblings, 1 reply; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-05 17:19 UTC (permalink / raw)
  To: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter
  Cc: Marc Dietrich, Nicolas Chauvet, linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

Override the compatible string of the first USB controller to enable
device mode.

Signed-off-by: Dmitry Osipenko <digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Tested-by: Marc Dietrich <marvin24-Mmb7MZpHnFY@public.gmane.org>
---
 arch/arm/boot/dts/tegra20-paz00.dts | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm/boot/dts/tegra20-paz00.dts b/arch/arm/boot/dts/tegra20-paz00.dts
index b4bfa5586c23..d979153d5a04 100644
--- a/arch/arm/boot/dts/tegra20-paz00.dts
+++ b/arch/arm/boot/dts/tegra20-paz00.dts
@@ -452,7 +452,9 @@
 	};
 
 	usb@c5000000 {
+		compatible = "nvidia,tegra20-udc";
 		status = "okay";
+		dr_mode = "otg";
 	};
 
 	usb-phy@c5000000 {
-- 
2.13.2

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* [PATCH v1 9/9] ARM: defconfig: tegra: Enable ChipIdea UDC driver
       [not found] ` <cover.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
                     ` (7 preceding siblings ...)
  2017-07-05 17:19   ` [PATCH v1 8/9] ARM: tegra: Enable UDC on AC100 Dmitry Osipenko
@ 2017-07-05 17:19   ` Dmitry Osipenko
       [not found]     ` <5eac9306f4049ba51ed8b7f53820d28f294725cb.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2017-07-05 20:31   ` [PATCH v1 0/9] Support UDC on Tegra 20/30/114/124 Stephen Warren
  9 siblings, 1 reply; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-05 17:19 UTC (permalink / raw)
  To: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter
  Cc: Marc Dietrich, Nicolas Chauvet, linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

Since NVIDIA Tegra 20/30/40/TK1 are supported now by the ChipIdea driver,
let's enable this driver in tegra_defconfig.

Signed-off-by: Dmitry Osipenko <digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 arch/arm/configs/tegra_defconfig | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/arm/configs/tegra_defconfig b/arch/arm/configs/tegra_defconfig
index f0efc854b5a2..b0ebe6631602 100644
--- a/arch/arm/configs/tegra_defconfig
+++ b/arch/arm/configs/tegra_defconfig
@@ -121,7 +121,6 @@ CONFIG_TOUCHSCREEN_WM97XX=y
 CONFIG_TOUCHSCREEN_STMPE=y
 CONFIG_INPUT_MISC=y
 # CONFIG_LEGACY_PTYS is not set
-# CONFIG_DEVKMEM is not set
 CONFIG_SERIAL_8250=y
 CONFIG_SERIAL_8250_CONSOLE=y
 CONFIG_SERIAL_OF_PLATFORM=y
@@ -218,6 +217,9 @@ CONFIG_USB_EHCI_TEGRA=y
 CONFIG_USB_ACM=y
 CONFIG_USB_WDM=y
 CONFIG_USB_STORAGE=y
+CONFIG_USB_CHIPIDEA=m
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_GADGET=m
 CONFIG_MMC=y
 CONFIG_MMC_BLOCK_MINORS=16
 CONFIG_MMC_SDHCI=y
@@ -247,8 +249,6 @@ CONFIG_RTC_DRV_TEGRA=y
 CONFIG_DMADEVICES=y
 CONFIG_TEGRA20_APB_DMA=y
 CONFIG_STAGING=y
-CONFIG_SENSORS_ISL29018=y
-CONFIG_SENSORS_ISL29028=y
 CONFIG_MFD_NVEC=y
 CONFIG_KEYBOARD_NVEC=y
 CONFIG_SERIO_NVEC_PS2=y
@@ -263,6 +263,8 @@ CONFIG_ARCH_TEGRA_124_SOC=y
 CONFIG_MEMORY=y
 CONFIG_IIO=y
 CONFIG_MPU3050_I2C=y
+CONFIG_SENSORS_ISL29018=y
+CONFIG_SENSORS_ISL29028=y
 CONFIG_AK8975=y
 CONFIG_PWM=y
 CONFIG_PWM_TEGRA=y
@@ -288,13 +290,11 @@ CONFIG_NLS_CODEPAGE_437=y
 CONFIG_NLS_ISO8859_1=y
 CONFIG_PRINTK_TIME=y
 CONFIG_DEBUG_INFO=y
-CONFIG_DEBUG_FS=y
 CONFIG_MAGIC_SYSRQ=y
 CONFIG_DEBUG_SLAB=y
 CONFIG_DEBUG_VM=y
 CONFIG_DETECT_HUNG_TASK=y
 CONFIG_SCHEDSTATS=y
-CONFIG_TIMER_STATS=y
 # CONFIG_DEBUG_PREEMPT is not set
 CONFIG_DEBUG_MUTEXES=y
 CONFIG_DEBUG_SG=y
-- 
2.13.2

^ permalink raw reply related	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 0/9] Support UDC on Tegra 20/30/114/124
       [not found] ` <cover.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
                     ` (8 preceding siblings ...)
  2017-07-05 17:19   ` [PATCH v1 9/9] ARM: defconfig: tegra: Enable ChipIdea UDC driver Dmitry Osipenko
@ 2017-07-05 20:31   ` Stephen Warren
       [not found]     ` <b5c54655-ccf4-2d4e-59fe-4a9e4609605a-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
  9 siblings, 1 reply; 48+ messages in thread
From: Stephen Warren @ 2017-07-05 20:31 UTC (permalink / raw)
  To: Dmitry Osipenko
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

On 07/05/2017 11:19 AM, Dmitry Osipenko wrote:
> Some time ago Thierry Reding sent out patches that enabled UDC on NVIDIA
> Tegra, unfortunately they haven't got enough traction to get into the
> kernel. I've rebased those patches and added a fix for the Ethernet USB
> Gadget on Tegra20, Marc Dietrich tested UDC driver on AC100 and Nicolas
> Chauvet on TK1. Like an original patchset, this series adds support for
> the peripheral mode only.

Does this mean that the relevant ports no longer support host mode? 
That's going to be a user-visible regression, which doesn't sound like a 
good idea. Isn't OTG possible instead?

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 9/9] ARM: defconfig: tegra: Enable ChipIdea UDC driver
       [not found]     ` <5eac9306f4049ba51ed8b7f53820d28f294725cb.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2017-07-05 20:33       ` Stephen Warren
       [not found]         ` <3fe1b3b2-6473-399a-807e-f007a10c05cd-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
  0 siblings, 1 reply; 48+ messages in thread
From: Stephen Warren @ 2017-07-05 20:33 UTC (permalink / raw)
  To: Dmitry Osipenko
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

On 07/05/2017 11:19 AM, Dmitry Osipenko wrote:
> Since NVIDIA Tegra 20/30/40/TK1 are supported now by the ChipIdea driver,
> let's enable this driver in tegra_defconfig.

Shouldn't this patch be earlier in the series so that we don't 
completely break USB support between the patch which switches a port to 
the UDC driver and the UDC driver actually being built?
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 0/9] Support UDC on Tegra 20/30/114/124
       [not found]     ` <b5c54655-ccf4-2d4e-59fe-4a9e4609605a-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
@ 2017-07-05 22:13       ` Dmitry Osipenko
       [not found]         ` <c8d9740a-7792-87d9-9466-8d3a45280403-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-05 22:13 UTC (permalink / raw)
  To: Stephen Warren
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

On 05.07.2017 23:31, Stephen Warren wrote:
> On 07/05/2017 11:19 AM, Dmitry Osipenko wrote:
>> Some time ago Thierry Reding sent out patches that enabled UDC on NVIDIA
>> Tegra, unfortunately they haven't got enough traction to get into the
>> kernel. I've rebased those patches and added a fix for the Ethernet USB
>> Gadget on Tegra20, Marc Dietrich tested UDC driver on AC100 and Nicolas
>> Chauvet on TK1. Like an original patchset, this series adds support for
>> the peripheral mode only.
> 
> Does this mean that the relevant ports no longer support host mode? That's going
> to be a user-visible regression, which doesn't sound like a good idea. Isn't OTG
> possible instead?

We are going to switch only AC100 and TrimSlice to use the UDC driver. Do you
know whether that port is working in a host mode with the tegra-ehci driver on
these devices? That should be a micro USB port. Since that port is working in a
device mode by default, I presume that switching it into a host mode would
require some extra 'dance', otherwise I may drop the AC100 / TrimSlice patches.

The full-featured OTG should be possible, it could be done later if desired. I'm
leaving it to somebody else to implement.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 0/9] Support UDC on Tegra 20/30/114/124
       [not found]         ` <c8d9740a-7792-87d9-9466-8d3a45280403-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2017-07-05 22:54           ` Stephen Warren
       [not found]             ` <63e87e5c-5331-2680-7686-5ed22718a2bd-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
  2017-07-07  1:12           ` Peter Chen
  1 sibling, 1 reply; 48+ messages in thread
From: Stephen Warren @ 2017-07-05 22:54 UTC (permalink / raw)
  To: Dmitry Osipenko
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

On 07/05/2017 04:13 PM, Dmitry Osipenko wrote:
> On 05.07.2017 23:31, Stephen Warren wrote:
>> On 07/05/2017 11:19 AM, Dmitry Osipenko wrote:
>>> Some time ago Thierry Reding sent out patches that enabled UDC on NVIDIA
>>> Tegra, unfortunately they haven't got enough traction to get into the
>>> kernel. I've rebased those patches and added a fix for the Ethernet USB
>>> Gadget on Tegra20, Marc Dietrich tested UDC driver on AC100 and Nicolas
>>> Chauvet on TK1. Like an original patchset, this series adds support for
>>> the peripheral mode only.
>>
>> Does this mean that the relevant ports no longer support host mode? That's going
>> to be a user-visible regression, which doesn't sound like a good idea. Isn't OTG
>> possible instead?
> 
> We are going to switch only AC100 and TrimSlice to use the UDC driver.

Really? I saw patches in the series for Beaver, Dalmore, and Jetson TK1 too.

> Do you
> know whether that port is working in a host mode with the tegra-ehci driver on
> these devices?

If any USB port is enabled in the DT, it was certainly validated at some 
point. IIRC, we only have host mode enabled at present. So, yes, I'd 
expect this port to work in host mode currently without any issue.

> That should be a micro USB port. Since that port is working in a
> device mode by default, I presume that switching it into a host mode would
> require some extra 'dance', otherwise I may drop the AC100 / TrimSlice patches.
> 
> The full-featured OTG should be possible, it could be done later if desired. I'm
> leaving it to somebody else to implement.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 9/9] ARM: defconfig: tegra: Enable ChipIdea UDC driver
       [not found]         ` <3fe1b3b2-6473-399a-807e-f007a10c05cd-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
@ 2017-07-05 22:57           ` Dmitry Osipenko
  0 siblings, 0 replies; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-05 22:57 UTC (permalink / raw)
  To: Stephen Warren
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

On 05.07.2017 23:33, Stephen Warren wrote:
> On 07/05/2017 11:19 AM, Dmitry Osipenko wrote:
>> Since NVIDIA Tegra 20/30/40/TK1 are supported now by the ChipIdea driver,
>> let's enable this driver in tegra_defconfig.
> 
> Shouldn't this patch be earlier in the series so that we don't completely break
> USB support between the patch which switches a port to the UDC driver and the
> UDC driver actually being built?

I assume that host mode doesn't work at all on AC100 / TrimSlice. Otherwise this
patch should be earlier in the series only if we agree that it should be okay to
switch those devices to the UDC driver.

-- 
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 0/9] Support UDC on Tegra 20/30/114/124
       [not found]             ` <63e87e5c-5331-2680-7686-5ed22718a2bd-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
@ 2017-07-05 23:20               ` Dmitry Osipenko
       [not found]                 ` <94e2532d-d342-3062-ec7a-6dfd865c1b62-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-05 23:20 UTC (permalink / raw)
  To: Stephen Warren
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

On 06.07.2017 01:54, Stephen Warren wrote:
> On 07/05/2017 04:13 PM, Dmitry Osipenko wrote:
>> On 05.07.2017 23:31, Stephen Warren wrote:
>>> On 07/05/2017 11:19 AM, Dmitry Osipenko wrote:
>>>> Some time ago Thierry Reding sent out patches that enabled UDC on NVIDIA
>>>> Tegra, unfortunately they haven't got enough traction to get into the
>>>> kernel. I've rebased those patches and added a fix for the Ethernet USB
>>>> Gadget on Tegra20, Marc Dietrich tested UDC driver on AC100 and Nicolas
>>>> Chauvet on TK1. Like an original patchset, this series adds support for
>>>> the peripheral mode only.
>>>
>>> Does this mean that the relevant ports no longer support host mode? That's going
>>> to be a user-visible regression, which doesn't sound like a good idea. Isn't OTG
>>> possible instead?
>>
>> We are going to switch only AC100 and TrimSlice to use the UDC driver.
> 
> Really? I saw patches in the series for Beaver, Dalmore, and Jetson TK1 too.
> 

Yes, the "PHY" and "EHCI" nodes are disabled on those boards in DT.

>> Do you
>> know whether that port is working in a host mode with the tegra-ehci driver on
>> these devices?
> 
> If any USB port is enabled in the DT, it was certainly validated at some point.
> IIRC, we only have host mode enabled at present. So, yes, I'd expect this port
> to work in host mode currently without any issue.
> 

Okay, so we have to decide whether it's reasonable to switch AC100 and TrimSlice
to the peripheral mode. I think realistically chances that someone uses that
port in a host mode are quite low, while it works fine and probably more useful
in a device mode.

>> That should be a micro USB port. Since that port is working in a
>> device mode by default, I presume that switching it into a host mode would
>> require some extra 'dance', otherwise I may drop the AC100 / TrimSlice patches.
>>
>> The full-featured OTG should be possible, it could be done later if desired. I'm
>> leaving it to somebody else to implement.


-- 
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 1/9] usb: gadget: f_ecm/f_eem/f_rndis: Setup quirk_avoids_skb_reserve
       [not found]     ` <a2f60b1ee32dba0adb7dfaaab7b1ee4d67699107.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2017-07-06  1:12       ` Peter Chen
  2017-07-06 10:13         ` Dmitry Osipenko
  0 siblings, 1 reply; 48+ messages in thread
From: Peter Chen @ 2017-07-06  1:12 UTC (permalink / raw)
  To: Dmitry Osipenko
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

On Wed, Jul 05, 2017 at 08:19:50PM +0300, Dmitry Osipenko wrote:
> This quirk is required to make USB Ethernet gadget working with HW that
> can't cope with unaligned DMA. For some reason only f_ncm handles that
> quirk, let's handle it in the rest of the network models. All models have
> been tested with a ChipIdea UDC driver on NVIDIA Tegra20 SoC that require
> DMA to be aligned.
> 
> Signed-off-by: Dmitry Osipenko <digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> ---
>  drivers/usb/gadget/function/f_ecm.c   | 2 ++
>  drivers/usb/gadget/function/f_eem.c   | 2 ++
>  drivers/usb/gadget/function/f_rndis.c | 4 ++++
>  3 files changed, 8 insertions(+)
> 
> diff --git a/drivers/usb/gadget/function/f_ecm.c b/drivers/usb/gadget/function/f_ecm.c
> index 4c488d15b6f6..01150f7864c7 100644
> --- a/drivers/usb/gadget/function/f_ecm.c
> +++ b/drivers/usb/gadget/function/f_ecm.c
> @@ -584,6 +584,8 @@ static int ecm_set_alt(struct usb_function *f, unsigned intf, unsigned alt)
>  			 */
>  			ecm->port.is_zlp_ok =
>  				gadget_is_zlp_supported(cdev->gadget);
> +			ecm->port.no_skb_reserve =
> +				gadget_avoids_skb_reserve(cdev->gadget);
>  			ecm->port.cdc_filter = DEFAULT_FILTER;
>  			DBG(cdev, "activate ecm\n");
>  			net = gether_connect(&ecm->port);
> diff --git a/drivers/usb/gadget/function/f_eem.c b/drivers/usb/gadget/function/f_eem.c
> index 007ec6e4a5d4..3b70b9ccfd2d 100644
> --- a/drivers/usb/gadget/function/f_eem.c
> +++ b/drivers/usb/gadget/function/f_eem.c
> @@ -215,6 +215,8 @@ static int eem_set_alt(struct usb_function *f, unsigned intf, unsigned alt)
>  		 */
>  		eem->port.is_zlp_ok = 1;
>  		eem->port.cdc_filter = DEFAULT_FILTER;
> +		eem->port.no_skb_reserve =
> +				gadget_avoids_skb_reserve(cdev->gadget);
>  		DBG(cdev, "activate eem\n");
>  		net = gether_connect(&eem->port);
>  		if (IS_ERR(net))
> diff --git a/drivers/usb/gadget/function/f_rndis.c b/drivers/usb/gadget/function/f_rndis.c
> index 16562e461121..1b379c051a84 100644
> --- a/drivers/usb/gadget/function/f_rndis.c
> +++ b/drivers/usb/gadget/function/f_rndis.c
> @@ -593,6 +593,10 @@ static int rndis_set_alt(struct usb_function *f, unsigned intf, unsigned alt)
>  		 */
>  		rndis->port.cdc_filter = 0;
>  
> +		/* Setup DMA alignment workaround for UDC's that need it */
> +		rndis->port.no_skb_reserve =
> +				gadget_avoids_skb_reserve(cdev->gadget);
> +

You may add above comments for other two changes.

>  		DBG(cdev, "RNDIS RX/TX early activation ... \n");
>  		net = gether_connect(&rndis->port);
>  		if (IS_ERR(net))
> -- 
> 2.13.2
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 

Best Regards,
Peter Chen

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 2/9] usb: chipidea: udc: Support SKB alignment quirk
       [not found]     ` <719de7513f42948f5f75742c31f4cc09582411fd.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2017-07-06  1:13       ` Peter Chen
  0 siblings, 0 replies; 48+ messages in thread
From: Peter Chen @ 2017-07-06  1:13 UTC (permalink / raw)
  To: Dmitry Osipenko
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

On Wed, Jul 05, 2017 at 08:19:51PM +0300, Dmitry Osipenko wrote:
> NVIDIA Tegra20 UDC can't cope with unaligned DMA and require a USB gadget
> quirk that avoids SKB buffer alignment to be set in order to make Ethernet
> Gadget working. Later Tegra generations do not require that quirk. Let's
> add a new platform data flag that allows to enable USB gadget quirk for
> platforms that require it.
> 
> Signed-off-by: Dmitry Osipenko <digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> ---
>  drivers/usb/chipidea/udc.c   | 3 +++
>  include/linux/usb/chipidea.h | 1 +
>  2 files changed, 4 insertions(+)
> 
> diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c
> index d68b125796f9..404f10513339 100644
> --- a/drivers/usb/chipidea/udc.c
> +++ b/drivers/usb/chipidea/udc.c
> @@ -1899,6 +1899,9 @@ static int udc_start(struct ci_hdrc *ci)
>  	ci->gadget.name         = ci->platdata->name;
>  	ci->gadget.otg_caps	= otg_caps;
>  
> +	if (ci->platdata->flags & CI_HDRC_REQUIRES_ALIGNED_DMA)
> +		ci->gadget.quirk_avoids_skb_reserve = 1;
> +
>  	if (ci->is_otg && (otg_caps->hnp_support || otg_caps->srp_support ||
>  						otg_caps->adp_support))
>  		ci->gadget.is_otg = 1;
> diff --git a/include/linux/usb/chipidea.h b/include/linux/usb/chipidea.h
> index c5fdfcf99828..d725cff7268d 100644
> --- a/include/linux/usb/chipidea.h
> +++ b/include/linux/usb/chipidea.h
> @@ -58,6 +58,7 @@ struct ci_hdrc_platform_data {
>  #define CI_HDRC_OVERRIDE_TX_BURST	BIT(10)
>  #define CI_HDRC_OVERRIDE_RX_BURST	BIT(11)
>  #define CI_HDRC_OVERRIDE_PHY_CONTROL	BIT(12) /* Glue layer manages phy */
> +#define CI_HDRC_REQUIRES_ALIGNED_DMA	BIT(13)
>  	enum usb_dr_mode	dr_mode;
>  #define CI_HDRC_CONTROLLER_RESET_EVENT		0
>  #define CI_HDRC_CONTROLLER_STOPPED_EVENT	1

Acked-by: Peter Chen <peter.chen-3arQi8VN3Tc@public.gmane.org>

-- 

Best Regards,
Peter Chen
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 3/9] usb: chipidea: Add support for Tegra20/30/114/124
       [not found]     ` <9e0127ea9b580e1af334c4c3bcb8b3c0705614ea.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2017-07-06  1:23       ` Peter Chen
  2017-07-06 10:09         ` Dmitry Osipenko
  0 siblings, 1 reply; 48+ messages in thread
From: Peter Chen @ 2017-07-06  1:23 UTC (permalink / raw)
  To: Dmitry Osipenko
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA, Thierry Reding

On Wed, Jul 05, 2017 at 08:19:52PM +0300, Dmitry Osipenko wrote:
> +	/* setup and register ChipIdea HDRC device */
> +	udc->data.name = "tegra-udc";
> +	udc->data.capoffset = DEF_CAPOFFSET;
> +	udc->data.flags = 0;
> +	udc->data.usb_phy = udc->phy;
> +
> +	/* setup device specific quirks */
> +	soc = id->data;
> +
> +	if (!soc->supports_unaligned_dma)
> +		udc->data.flags |= CI_HDRC_REQUIRES_ALIGNED_DMA;
> +
> +	/* power on UDC controller */
> +	usb_phy_set_suspend(udc->phy, 0);

Why above is needed? The chipidea core will do usb_phy_init for power
on.

> +
> +	udc->dev = ci_hdrc_add_device(&pdev->dev, pdev->resource,
> +				      pdev->num_resources, &udc->data);
> +	if (IS_ERR(udc->dev)) {
> +		err = PTR_ERR(udc->dev);
> +		dev_err(&pdev->dev, "failed to add HDRC device: %d\n", err);
> +		goto power_off;
> +	}
> +
> +	platform_set_drvdata(pdev, udc);
> +
> +	return 0;
> +
> +power_off:
> +	usb_phy_set_suspend(udc->phy, 1);

[...]

> +static int tegra_udc_remove(struct platform_device *pdev)
> +{
> +	struct tegra_udc *udc = platform_get_drvdata(pdev);
> +
> +	usb_phy_set_suspend(udc->phy, 1);

[...]

-- 

Best Regards,
Peter Chen

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 4/9] ARM: tegra: Enable UDC on TrimSlice
       [not found]     ` <82321d32d968c6b9481a77fbecae8c0756d37f0f.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2017-07-06  1:24       ` Peter Chen
  2017-07-06 10:24         ` Dmitry Osipenko
  2017-07-06 16:46         ` Stephen Warren
  2017-07-06 16:35       ` Stephen Warren
  1 sibling, 2 replies; 48+ messages in thread
From: Peter Chen @ 2017-07-06  1:24 UTC (permalink / raw)
  To: Dmitry Osipenko
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA, Thierry Reding

On Wed, Jul 05, 2017 at 08:19:53PM +0300, Dmitry Osipenko wrote:
> From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> 
> Override the compatible string of the first USB controller to enable
> device mode.
> 
> Signed-off-by: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> ---
>  arch/arm/boot/dts/tegra20-trimslice.dts | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/tegra20-trimslice.dts b/arch/arm/boot/dts/tegra20-trimslice.dts
> index b902ab594afa..96b4f3f9827b 100644
> --- a/arch/arm/boot/dts/tegra20-trimslice.dts
> +++ b/arch/arm/boot/dts/tegra20-trimslice.dts
> @@ -336,7 +336,9 @@
>  	};
>  
>  	usb@c5000000 {
> +		compatible = "nvidia,tegra20-udc";
>  		status = "okay";
> +		dr_mode = "otg";

If this board supports peripheral-only, you need to
set dr_mode as "peripheral".

-- 

Best Regards,
Peter Chen

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 3/9] usb: chipidea: Add support for Tegra20/30/114/124
  2017-07-06  1:23       ` Peter Chen
@ 2017-07-06 10:09         ` Dmitry Osipenko
       [not found]           ` <59e943b8-8771-0b1e-36fa-babd5e52a6d5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-06 10:09 UTC (permalink / raw)
  To: Peter Chen
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA, Thierry Reding

On 06.07.2017 04:23, Peter Chen wrote:
> On Wed, Jul 05, 2017 at 08:19:52PM +0300, Dmitry Osipenko wrote:
>> +	/* setup and register ChipIdea HDRC device */
>> +	udc->data.name = "tegra-udc";
>> +	udc->data.capoffset = DEF_CAPOFFSET;
>> +	udc->data.flags = 0;
>> +	udc->data.usb_phy = udc->phy;
>> +
>> +	/* setup device specific quirks */
>> +	soc = id->data;
>> +
>> +	if (!soc->supports_unaligned_dma)
>> +		udc->data.flags |= CI_HDRC_REQUIRES_ALIGNED_DMA;
>> +
>> +	/* power on UDC controller */
>> +	usb_phy_set_suspend(udc->phy, 0);
> 
> Why above is needed? The chipidea core will do usb_phy_init for power
> on.
> 

It is needed because Tegra's USB PHY driver doesn't hook up .init() of the
struct usb_phy and the power management is handled by set_suspend().

-- 
Dmitry

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 1/9] usb: gadget: f_ecm/f_eem/f_rndis: Setup quirk_avoids_skb_reserve
  2017-07-06  1:12       ` Peter Chen
@ 2017-07-06 10:13         ` Dmitry Osipenko
  0 siblings, 0 replies; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-06 10:13 UTC (permalink / raw)
  To: Peter Chen
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

On 06.07.2017 04:12, Peter Chen wrote:
> On Wed, Jul 05, 2017 at 08:19:50PM +0300, Dmitry Osipenko wrote:
>> This quirk is required to make USB Ethernet gadget working with HW that
>> can't cope with unaligned DMA. For some reason only f_ncm handles that
>> quirk, let's handle it in the rest of the network models. All models have
>> been tested with a ChipIdea UDC driver on NVIDIA Tegra20 SoC that require
>> DMA to be aligned.
>>
>> Signed-off-by: Dmitry Osipenko <digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
>> ---
>>  drivers/usb/gadget/function/f_ecm.c   | 2 ++
>>  drivers/usb/gadget/function/f_eem.c   | 2 ++
>>  drivers/usb/gadget/function/f_rndis.c | 4 ++++
>>  3 files changed, 8 insertions(+)
>>
>> diff --git a/drivers/usb/gadget/function/f_ecm.c b/drivers/usb/gadget/function/f_ecm.c
>> index 4c488d15b6f6..01150f7864c7 100644
>> --- a/drivers/usb/gadget/function/f_ecm.c
>> +++ b/drivers/usb/gadget/function/f_ecm.c
>> @@ -584,6 +584,8 @@ static int ecm_set_alt(struct usb_function *f, unsigned intf, unsigned alt)
>>  			 */
>>  			ecm->port.is_zlp_ok =
>>  				gadget_is_zlp_supported(cdev->gadget);
>> +			ecm->port.no_skb_reserve =
>> +				gadget_avoids_skb_reserve(cdev->gadget);
>>  			ecm->port.cdc_filter = DEFAULT_FILTER;
>>  			DBG(cdev, "activate ecm\n");
>>  			net = gether_connect(&ecm->port);
>> diff --git a/drivers/usb/gadget/function/f_eem.c b/drivers/usb/gadget/function/f_eem.c
>> index 007ec6e4a5d4..3b70b9ccfd2d 100644
>> --- a/drivers/usb/gadget/function/f_eem.c
>> +++ b/drivers/usb/gadget/function/f_eem.c
>> @@ -215,6 +215,8 @@ static int eem_set_alt(struct usb_function *f, unsigned intf, unsigned alt)
>>  		 */
>>  		eem->port.is_zlp_ok = 1;
>>  		eem->port.cdc_filter = DEFAULT_FILTER;
>> +		eem->port.no_skb_reserve =
>> +				gadget_avoids_skb_reserve(cdev->gadget);
>>  		DBG(cdev, "activate eem\n");
>>  		net = gether_connect(&eem->port);
>>  		if (IS_ERR(net))
>> diff --git a/drivers/usb/gadget/function/f_rndis.c b/drivers/usb/gadget/function/f_rndis.c
>> index 16562e461121..1b379c051a84 100644
>> --- a/drivers/usb/gadget/function/f_rndis.c
>> +++ b/drivers/usb/gadget/function/f_rndis.c
>> @@ -593,6 +593,10 @@ static int rndis_set_alt(struct usb_function *f, unsigned intf, unsigned alt)
>>  		 */
>>  		rndis->port.cdc_filter = 0;
>>  
>> +		/* Setup DMA alignment workaround for UDC's that need it */
>> +		rndis->port.no_skb_reserve =
>> +				gadget_avoids_skb_reserve(cdev->gadget);
>> +
> 
> You may add above comments for other two changes.
> 

Yeah, but I haven't added a comment there for consistency.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 4/9] ARM: tegra: Enable UDC on TrimSlice
  2017-07-06  1:24       ` Peter Chen
@ 2017-07-06 10:24         ` Dmitry Osipenko
       [not found]           ` <d23f841a-f46d-bf3f-cdb6-9d9c033e80bd-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2017-07-06 16:46         ` Stephen Warren
  1 sibling, 1 reply; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-06 10:24 UTC (permalink / raw)
  To: Peter Chen
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA, Thierry Reding,
	Stephen Warren

On 06.07.2017 04:24, Peter Chen wrote:
> On Wed, Jul 05, 2017 at 08:19:53PM +0300, Dmitry Osipenko wrote:
>> From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>>
>> Override the compatible string of the first USB controller to enable
>> device mode.
>>
>> Signed-off-by: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>> ---
>>  arch/arm/boot/dts/tegra20-trimslice.dts | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/tegra20-trimslice.dts b/arch/arm/boot/dts/tegra20-trimslice.dts
>> index b902ab594afa..96b4f3f9827b 100644
>> --- a/arch/arm/boot/dts/tegra20-trimslice.dts
>> +++ b/arch/arm/boot/dts/tegra20-trimslice.dts
>> @@ -336,7 +336,9 @@
>>  	};
>>  
>>  	usb@c5000000 {
>> +		compatible = "nvidia,tegra20-udc";
>>  		status = "okay";
>> +		dr_mode = "otg";
> 
> If this board supports peripheral-only, you need to
> set dr_mode as "peripheral".
> 

It should support OTG, but we aren't going to implement the host mode switch for
now. Stephen claims that the host mode is working with the tegra-ehci driver, it
would be nice if anyone could confirm this.

-- 
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 4/9] ARM: tegra: Enable UDC on TrimSlice
       [not found]           ` <d23f841a-f46d-bf3f-cdb6-9d9c033e80bd-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2017-07-06 10:43             ` Dmitry Osipenko
  2017-07-06 12:51             ` Marcel Ziswiler
  1 sibling, 0 replies; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-06 10:43 UTC (permalink / raw)
  To: Peter Chen, Stephen Warren
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA, Thierry Reding

On 06.07.2017 13:24, Dmitry Osipenko wrote:
> On 06.07.2017 04:24, Peter Chen wrote:
>> On Wed, Jul 05, 2017 at 08:19:53PM +0300, Dmitry Osipenko wrote:
>>> From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>>>
>>> Override the compatible string of the first USB controller to enable
>>> device mode.
>>>
>>> Signed-off-by: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>>> ---
>>>  arch/arm/boot/dts/tegra20-trimslice.dts | 2 ++
>>>  1 file changed, 2 insertions(+)
>>>
>>> diff --git a/arch/arm/boot/dts/tegra20-trimslice.dts b/arch/arm/boot/dts/tegra20-trimslice.dts
>>> index b902ab594afa..96b4f3f9827b 100644
>>> --- a/arch/arm/boot/dts/tegra20-trimslice.dts
>>> +++ b/arch/arm/boot/dts/tegra20-trimslice.dts
>>> @@ -336,7 +336,9 @@
>>>  	};
>>>  
>>>  	usb@c5000000 {
>>> +		compatible = "nvidia,tegra20-udc";
>>>  		status = "okay";
>>> +		dr_mode = "otg";
>>
>> If this board supports peripheral-only, you need to
>> set dr_mode as "peripheral".
>>
> 
> It should support OTG, but we aren't going to implement the host mode switch for
> now. Stephen claims that the host mode is working with the tegra-ehci driver, it
> would be nice if anyone could confirm this.
> 

Stephen, git blame tells that it is you enabled that port on TrimSlice and
AC100. Could you test them again please?

-- 
Dmitry

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 0/9] Support UDC on Tegra 20/30/114/124
       [not found]                 ` <94e2532d-d342-3062-ec7a-6dfd865c1b62-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2017-07-06 12:03                   ` Thierry Reding
       [not found]                     ` <20170706120328.GB1229-m5CkvRiFyV9wFLYp8hBm2A@public.gmane.org>
  0 siblings, 1 reply; 48+ messages in thread
From: Thierry Reding @ 2017-07-06 12:03 UTC (permalink / raw)
  To: Dmitry Osipenko
  Cc: Stephen Warren, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

[-- Attachment #1: Type: text/plain, Size: 2149 bytes --]

On Thu, Jul 06, 2017 at 02:20:04AM +0300, Dmitry Osipenko wrote:
> On 06.07.2017 01:54, Stephen Warren wrote:
> > On 07/05/2017 04:13 PM, Dmitry Osipenko wrote:
> >> On 05.07.2017 23:31, Stephen Warren wrote:
> >>> On 07/05/2017 11:19 AM, Dmitry Osipenko wrote:
> >>>> Some time ago Thierry Reding sent out patches that enabled UDC on NVIDIA
> >>>> Tegra, unfortunately they haven't got enough traction to get into the
> >>>> kernel. I've rebased those patches and added a fix for the Ethernet USB
> >>>> Gadget on Tegra20, Marc Dietrich tested UDC driver on AC100 and Nicolas
> >>>> Chauvet on TK1. Like an original patchset, this series adds support for
> >>>> the peripheral mode only.
> >>>
> >>> Does this mean that the relevant ports no longer support host mode? That's going
> >>> to be a user-visible regression, which doesn't sound like a good idea. Isn't OTG
> >>> possible instead?
> >>
> >> We are going to switch only AC100 and TrimSlice to use the UDC driver.
> > 
> > Really? I saw patches in the series for Beaver, Dalmore, and Jetson TK1 too.
> > 
> 
> Yes, the "PHY" and "EHCI" nodes are disabled on those boards in DT.
> 
> >> Do you
> >> know whether that port is working in a host mode with the tegra-ehci driver on
> >> these devices?
> > 
> > If any USB port is enabled in the DT, it was certainly validated at some point.
> > IIRC, we only have host mode enabled at present. So, yes, I'd expect this port
> > to work in host mode currently without any issue.
> > 
> 
> Okay, so we have to decide whether it's reasonable to switch AC100 and TrimSlice
> to the peripheral mode. I think realistically chances that someone uses that
> port in a host mode are quite low, while it works fine and probably more useful
> in a device mode.

Judging by this:

	http://trimslice.com/download/documentation/trim-slice-man.pdf

at least TrimSlice doesn't seem to implement OTG, so we'd have to make a
choice to support either host or peripheral mode. I guess technically it
would need to be peripheral mode because pin 4 is not connected.

Does a similar document exist for AC100?

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 4/9] ARM: tegra: Enable UDC on TrimSlice
       [not found]           ` <d23f841a-f46d-bf3f-cdb6-9d9c033e80bd-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2017-07-06 10:43             ` Dmitry Osipenko
@ 2017-07-06 12:51             ` Marcel Ziswiler
       [not found]               ` <1499345493.4445.12.camel-2KBjVHiyJgBBDgjK7y7TUQ@public.gmane.org>
  1 sibling, 1 reply; 48+ messages in thread
From: Marcel Ziswiler @ 2017-07-06 12:51 UTC (permalink / raw)
  To: digetx-Re5JQEeQqe8AvxtiuMwx3w
  Cc: jonathanh-DDmLM1+adcrQT0dZR+AlfA, marvin24-Mmb7MZpHnFY,
	linux-usb-devel-u79uwXL29TY76Z2rM5mHXA,
	kwizart-Re5JQEeQqe8AvxtiuMwx3w,
	thierry.reding-Re5JQEeQqe8AvxtiuMwx3w,
	balbi-DgEjT+Ai2ygdnm+yROfE0A,
	gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r, Peter.Chen-3arQi8VN3Tc,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA,
	swarren-3lzwWm7+Weoh9ZMKESR00Q

On Thu, 2017-07-06 at 13:24 +0300, Dmitry Osipenko wrote:
> On 06.07.2017 04:24, Peter Chen wrote:
> > On Wed, Jul 05, 2017 at 08:19:53PM +0300, Dmitry Osipenko wrote:
> > > From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane
> > > .org>
> > > 
> > > Override the compatible string of the first USB controller to
> > > enable
> > > device mode.
> > > 
> > > Signed-off-by: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@pub
> > > lic.gmane.org>
> > > ---
> > >  arch/arm/boot/dts/tegra20-trimslice.dts | 2 ++
> > >  1 file changed, 2 insertions(+)
> > > 
> > > diff --git a/arch/arm/boot/dts/tegra20-trimslice.dts
> > > b/arch/arm/boot/dts/tegra20-trimslice.dts
> > > index b902ab594afa..96b4f3f9827b 100644
> > > --- a/arch/arm/boot/dts/tegra20-trimslice.dts
> > > +++ b/arch/arm/boot/dts/tegra20-trimslice.dts
> > > @@ -336,7 +336,9 @@
> > >  	};
> > >  
> > >  	usb@c5000000 {
> > > +		compatible = "nvidia,tegra20-udc";
> > >  		status = "okay";
> > > +		dr_mode = "otg";
> > 
> > If this board supports peripheral-only, you need to
> > set dr_mode as "peripheral".
> > 
> 
> It should support OTG, but we aren't going to implement the host mode
> switch for
> now. Stephen claims that the host mode is working with the tegra-ehci 
> driver, it
> would be nice if anyone could confirm this.

I can confirm that on Colibri T20, Apalis/Colibri T30 and Apalis TK1
host mode works just fine with the regular tegra-ehci driver.

I'm about to give your patch set a try on those boards as well and will
give further feedback.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 0/9] Support UDC on Tegra 20/30/114/124
       [not found]                     ` <20170706120328.GB1229-m5CkvRiFyV9wFLYp8hBm2A@public.gmane.org>
@ 2017-07-06 13:04                       ` Marcel Ziswiler
       [not found]                         ` <1499346277.4445.15.camel-2KBjVHiyJgBBDgjK7y7TUQ@public.gmane.org>
  0 siblings, 1 reply; 48+ messages in thread
From: Marcel Ziswiler @ 2017-07-06 13:04 UTC (permalink / raw)
  To: digetx-Re5JQEeQqe8AvxtiuMwx3w
  Cc: jonathanh-DDmLM1+adcrQT0dZR+AlfA, marvin24-Mmb7MZpHnFY,
	linux-usb-devel-u79uwXL29TY76Z2rM5mHXA,
	kwizart-Re5JQEeQqe8AvxtiuMwx3w,
	thierry.reding-Re5JQEeQqe8AvxtiuMwx3w,
	balbi-DgEjT+Ai2ygdnm+yROfE0A,
	gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r, Peter.Chen-3arQi8VN3Tc,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA,
	swarren-3lzwWm7+Weoh9ZMKESR00Q

On Thu, 2017-07-06 at 14:03 +0200, Thierry Reding wrote:
> On Thu, Jul 06, 2017 at 02:20:04AM +0300, Dmitry Osipenko wrote:
> > On 06.07.2017 01:54, Stephen Warren wrote:
> > > On 07/05/2017 04:13 PM, Dmitry Osipenko wrote:
> > > > On 05.07.2017 23:31, Stephen Warren wrote:
> > > > > On 07/05/2017 11:19 AM, Dmitry Osipenko wrote:
> > > > > > Some time ago Thierry Reding sent out patches that enabled
> > > > > > UDC on NVIDIA
> > > > > > Tegra, unfortunately they haven't got enough traction to
> > > > > > get into the
> > > > > > kernel. I've rebased those patches and added a fix for the
> > > > > > Ethernet USB
> > > > > > Gadget on Tegra20, Marc Dietrich tested UDC driver on AC100
> > > > > > and Nicolas
> > > > > > Chauvet on TK1. Like an original patchset, this series adds
> > > > > > support for
> > > > > > the peripheral mode only.
> > > > > 
> > > > > Does this mean that the relevant ports no longer support host
> > > > > mode? That's going
> > > > > to be a user-visible regression, which doesn't sound like a
> > > > > good idea. Isn't OTG
> > > > > possible instead?
> > > > 
> > > > We are going to switch only AC100 and TrimSlice to use the UDC
> > > > driver.
> > > 
> > > Really? I saw patches in the series for Beaver, Dalmore, and
> > > Jetson TK1 too.
> > > 
> > 
> > Yes, the "PHY" and "EHCI" nodes are disabled on those boards in DT.
> > 
> > > > Do you
> > > > know whether that port is working in a host mode with the
> > > > tegra-ehci driver on
> > > > these devices?
> > > 
> > > If any USB port is enabled in the DT, it was certainly validated
> > > at some point.
> > > IIRC, we only have host mode enabled at present. So, yes, I'd
> > > expect this port
> > > to work in host mode currently without any issue.
> > > 
> > 
> > Okay, so we have to decide whether it's reasonable to switch AC100
> > and TrimSlice
> > to the peripheral mode. I think realistically chances that someone
> > uses that
> > port in a host mode are quite low, while it works fine and probably
> > more useful
> > in a device mode.
> 
> Judging by this:
> 
> 	http://trimslice.com/download/documentation/trim-slice-man.pdf
> 
> at least TrimSlice doesn't seem to implement OTG, so we'd have to
> make a
> choice to support either host or peripheral mode. I guess technically
> it
> would need to be peripheral mode because pin 4 is not connected.
> 
> Does a similar document exist for AC100?

Judging by the Compal PAZ00 schematics it does indeed have an ID pin
which is connected to the mini USB socket.

USB1_ID1: From Connector

USB1_ID2: From EC

So an alternative possibility to switch device/host mode would be from
the EC (;-p).

> Thierry

Cheers

Marcel

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 0/9] Support UDC on Tegra 20/30/114/124
       [not found]                         ` <1499346277.4445.15.camel-2KBjVHiyJgBBDgjK7y7TUQ@public.gmane.org>
@ 2017-07-06 15:11                           ` Thierry Reding
       [not found]                             ` <20170706151118.GA3736-m5CkvRiFyV9wFLYp8hBm2A@public.gmane.org>
  0 siblings, 1 reply; 48+ messages in thread
From: Thierry Reding @ 2017-07-06 15:11 UTC (permalink / raw)
  To: Marcel Ziswiler
  Cc: digetx-Re5JQEeQqe8AvxtiuMwx3w, jonathanh-DDmLM1+adcrQT0dZR+AlfA,
	marvin24-Mmb7MZpHnFY, linux-usb-devel-u79uwXL29TY76Z2rM5mHXA,
	kwizart-Re5JQEeQqe8AvxtiuMwx3w, balbi-DgEjT+Ai2ygdnm+yROfE0A,
	gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r, Peter.Chen-3arQi8VN3Tc,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA,
	swarren-3lzwWm7+Weoh9ZMKESR00Q

[-- Attachment #1: Type: text/plain, Size: 4435 bytes --]

On Thu, Jul 06, 2017 at 01:04:40PM +0000, Marcel Ziswiler wrote:
> On Thu, 2017-07-06 at 14:03 +0200, Thierry Reding wrote:
> > On Thu, Jul 06, 2017 at 02:20:04AM +0300, Dmitry Osipenko wrote:
> > > On 06.07.2017 01:54, Stephen Warren wrote:
> > > > On 07/05/2017 04:13 PM, Dmitry Osipenko wrote:
> > > > > On 05.07.2017 23:31, Stephen Warren wrote:
> > > > > > On 07/05/2017 11:19 AM, Dmitry Osipenko wrote:
> > > > > > > Some time ago Thierry Reding sent out patches that enabled
> > > > > > > UDC on NVIDIA
> > > > > > > Tegra, unfortunately they haven't got enough traction to
> > > > > > > get into the
> > > > > > > kernel. I've rebased those patches and added a fix for the
> > > > > > > Ethernet USB
> > > > > > > Gadget on Tegra20, Marc Dietrich tested UDC driver on AC100
> > > > > > > and Nicolas
> > > > > > > Chauvet on TK1. Like an original patchset, this series adds
> > > > > > > support for
> > > > > > > the peripheral mode only.
> > > > > > 
> > > > > > Does this mean that the relevant ports no longer support host
> > > > > > mode? That's going
> > > > > > to be a user-visible regression, which doesn't sound like a
> > > > > > good idea. Isn't OTG
> > > > > > possible instead?
> > > > > 
> > > > > We are going to switch only AC100 and TrimSlice to use the UDC
> > > > > driver.
> > > > 
> > > > Really? I saw patches in the series for Beaver, Dalmore, and
> > > > Jetson TK1 too.
> > > > 
> > > 
> > > Yes, the "PHY" and "EHCI" nodes are disabled on those boards in DT.
> > > 
> > > > > Do you
> > > > > know whether that port is working in a host mode with the
> > > > > tegra-ehci driver on
> > > > > these devices?
> > > > 
> > > > If any USB port is enabled in the DT, it was certainly validated
> > > > at some point.
> > > > IIRC, we only have host mode enabled at present. So, yes, I'd
> > > > expect this port
> > > > to work in host mode currently without any issue.
> > > > 
> > > 
> > > Okay, so we have to decide whether it's reasonable to switch AC100
> > > and TrimSlice
> > > to the peripheral mode. I think realistically chances that someone
> > > uses that
> > > port in a host mode are quite low, while it works fine and probably
> > > more useful
> > > in a device mode.
> > 
> > Judging by this:
> > 
> > 	http://trimslice.com/download/documentation/trim-slice-man.pdf
> > 
> > at least TrimSlice doesn't seem to implement OTG, so we'd have to
> > make a
> > choice to support either host or peripheral mode. I guess technically
> > it
> > would need to be peripheral mode because pin 4 is not connected.
> > 
> > Does a similar document exist for AC100?
> 
> Judging by the Compal PAZ00 schematics it does indeed have an ID pin
> which is connected to the mini USB socket.
> 
> USB1_ID1: From Connector
> 
> USB1_ID2: From EC
> 
> So an alternative possibility to switch device/host mode would be from
> the EC (;-p).

According to the TRM, there's a USB PHY register that can be used to
query the ID/VBUS pins. They can optionally also be connected to a pair
of GPIO lines. Apparently it's even possible to hook them up to the PMU
and use a PMU specific mechanism. Most of that information can be found
in downstream kernel code.

Using U-Boot I can monitor the USB1_IF_USB_PHY_VBUS_WAKEUP_ID_0 register
(address 0x7d000408) and I see that bit ID_STS changes, and can
presumably trigger an interrupt when ID_INT_EN is set.

According to the downstream kernel this isn't supposed to work on the
Jetson TK1 up to and including the D revision, but it seems to work in
U-Boot at least on the C revision that I have. For earlier revisions
there is a sysfs attribute that can be used to force the port into the
desired mode.

Can anyone check whether or not the above register (on Tegra20, the
physical address of the register should be 0xc5000408) changes when
switching between micro A and micro B cables on TrimSlice and/or
PAZ00? Note that I wasn't able to see a difference after unplugging a
micro B cable. It only toggles after plugging in the micro A or after
unplugging the micro B, which I think really only means that by default
the port will be in peripheral mode. This can probably also be
influenced by setting or clearing the ID_PU field (pull-up on ID pin).

If this works reliably, we may be able to implement a very simple form
of detecting host/peripheral mode.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 0/9] Support UDC on Tegra 20/30/114/124
       [not found]                             ` <20170706151118.GA3736-m5CkvRiFyV9wFLYp8hBm2A@public.gmane.org>
@ 2017-07-06 15:52                               ` Dmitry Osipenko
  0 siblings, 0 replies; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-06 15:52 UTC (permalink / raw)
  To: Thierry Reding, Marcel Ziswiler
  Cc: jonathanh-DDmLM1+adcrQT0dZR+AlfA, marvin24-Mmb7MZpHnFY,
	linux-usb-devel-u79uwXL29TY76Z2rM5mHXA,
	kwizart-Re5JQEeQqe8AvxtiuMwx3w, balbi-DgEjT+Ai2ygdnm+yROfE0A,
	gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r, Peter.Chen-3arQi8VN3Tc,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA,
	swarren-3lzwWm7+Weoh9ZMKESR00Q

On 06.07.2017 18:11, Thierry Reding wrote:
> On Thu, Jul 06, 2017 at 01:04:40PM +0000, Marcel Ziswiler wrote:
>> On Thu, 2017-07-06 at 14:03 +0200, Thierry Reding wrote:
>>> On Thu, Jul 06, 2017 at 02:20:04AM +0300, Dmitry Osipenko wrote:
>>>> On 06.07.2017 01:54, Stephen Warren wrote:
>>>>> On 07/05/2017 04:13 PM, Dmitry Osipenko wrote:
>>>>>> On 05.07.2017 23:31, Stephen Warren wrote:
>>>>>>> On 07/05/2017 11:19 AM, Dmitry Osipenko wrote:
>>>>>>>> Some time ago Thierry Reding sent out patches that enabled
>>>>>>>> UDC on NVIDIA
>>>>>>>> Tegra, unfortunately they haven't got enough traction to
>>>>>>>> get into the
>>>>>>>> kernel. I've rebased those patches and added a fix for the
>>>>>>>> Ethernet USB
>>>>>>>> Gadget on Tegra20, Marc Dietrich tested UDC driver on AC100
>>>>>>>> and Nicolas
>>>>>>>> Chauvet on TK1. Like an original patchset, this series adds
>>>>>>>> support for
>>>>>>>> the peripheral mode only.
>>>>>>>
>>>>>>> Does this mean that the relevant ports no longer support host
>>>>>>> mode? That's going
>>>>>>> to be a user-visible regression, which doesn't sound like a
>>>>>>> good idea. Isn't OTG
>>>>>>> possible instead?
>>>>>>
>>>>>> We are going to switch only AC100 and TrimSlice to use the UDC
>>>>>> driver.
>>>>>
>>>>> Really? I saw patches in the series for Beaver, Dalmore, and
>>>>> Jetson TK1 too.
>>>>>
>>>>
>>>> Yes, the "PHY" and "EHCI" nodes are disabled on those boards in DT.
>>>>
>>>>>> Do you
>>>>>> know whether that port is working in a host mode with the
>>>>>> tegra-ehci driver on
>>>>>> these devices?
>>>>>
>>>>> If any USB port is enabled in the DT, it was certainly validated
>>>>> at some point.
>>>>> IIRC, we only have host mode enabled at present. So, yes, I'd
>>>>> expect this port
>>>>> to work in host mode currently without any issue.
>>>>>
>>>>
>>>> Okay, so we have to decide whether it's reasonable to switch AC100
>>>> and TrimSlice
>>>> to the peripheral mode. I think realistically chances that someone
>>>> uses that
>>>> port in a host mode are quite low, while it works fine and probably
>>>> more useful
>>>> in a device mode.
>>>
>>> Judging by this:
>>>
>>> 	http://trimslice.com/download/documentation/trim-slice-man.pdf
>>>
>>> at least TrimSlice doesn't seem to implement OTG, so we'd have to
>>> make a
>>> choice to support either host or peripheral mode. I guess technically
>>> it
>>> would need to be peripheral mode because pin 4 is not connected.
>>>
>>> Does a similar document exist for AC100?
>>
>> Judging by the Compal PAZ00 schematics it does indeed have an ID pin
>> which is connected to the mini USB socket.
>>
>> USB1_ID1: From Connector
>>
>> USB1_ID2: From EC
>>
>> So an alternative possibility to switch device/host mode would be from
>> the EC (;-p).
> 
> According to the TRM, there's a USB PHY register that can be used to
> query the ID/VBUS pins. They can optionally also be connected to a pair
> of GPIO lines. Apparently it's even possible to hook them up to the PMU
> and use a PMU specific mechanism. Most of that information can be found
> in downstream kernel code.
> 
> Using U-Boot I can monitor the USB1_IF_USB_PHY_VBUS_WAKEUP_ID_0 register
> (address 0x7d000408) and I see that bit ID_STS changes, and can
> presumably trigger an interrupt when ID_INT_EN is set.
> 
> According to the downstream kernel this isn't supposed to work on the
> Jetson TK1 up to and including the D revision, but it seems to work in
> U-Boot at least on the C revision that I have. For earlier revisions
> there is a sysfs attribute that can be used to force the port into the
> desired mode.
> 
> Can anyone check whether or not the above register (on Tegra20, the
> physical address of the register should be 0xc5000408) changes when
> switching between micro A and micro B cables on TrimSlice and/or
> PAZ00? Note that I wasn't able to see a difference after unplugging a
> micro B cable. It only toggles after plugging in the micro A or after
> unplugging the micro B, which I think really only means that by default
> the port will be in peripheral mode. This can probably also be
> influenced by setting or clearing the ID_PU field (pull-up on ID pin).
> 
> If this works reliably, we may be able to implement a very simple form
> of detecting host/peripheral mode.

According to the doc, the primary function of USB1 controller on TrimSlice is
for USB-to-SATA. So I think micro USB there is intended for recovery mode only,
in that case we should drop TrimSlice from the patchset.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 4/9] ARM: tegra: Enable UDC on TrimSlice
       [not found]               ` <1499345493.4445.12.camel-2KBjVHiyJgBBDgjK7y7TUQ@public.gmane.org>
@ 2017-07-06 16:15                 ` Dmitry Osipenko
  0 siblings, 0 replies; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-06 16:15 UTC (permalink / raw)
  To: Marcel Ziswiler
  Cc: jonathanh-DDmLM1+adcrQT0dZR+AlfA, marvin24-Mmb7MZpHnFY,
	linux-usb-devel-u79uwXL29TY76Z2rM5mHXA,
	kwizart-Re5JQEeQqe8AvxtiuMwx3w,
	thierry.reding-Re5JQEeQqe8AvxtiuMwx3w,
	balbi-DgEjT+Ai2ygdnm+yROfE0A,
	gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r, Peter.Chen-3arQi8VN3Tc,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA,
	swarren-3lzwWm7+Weoh9ZMKESR00Q

On 06.07.2017 15:51, Marcel Ziswiler wrote:
> On Thu, 2017-07-06 at 13:24 +0300, Dmitry Osipenko wrote:
>> On 06.07.2017 04:24, Peter Chen wrote:
>>> On Wed, Jul 05, 2017 at 08:19:53PM +0300, Dmitry Osipenko wrote:
>>>> From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA-XMD5yJDbdMToUJ55TTLPZA@public.gmane.org
>>>> .org>
>>>>
>>>> Override the compatible string of the first USB controller to
>>>> enable
>>>> device mode.
>>>>
>>>> Signed-off-by: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@pub
>>>> lic.gmane.org>
>>>> ---
>>>>  arch/arm/boot/dts/tegra20-trimslice.dts | 2 ++
>>>>  1 file changed, 2 insertions(+)
>>>>
>>>> diff --git a/arch/arm/boot/dts/tegra20-trimslice.dts
>>>> b/arch/arm/boot/dts/tegra20-trimslice.dts
>>>> index b902ab594afa..96b4f3f9827b 100644
>>>> --- a/arch/arm/boot/dts/tegra20-trimslice.dts
>>>> +++ b/arch/arm/boot/dts/tegra20-trimslice.dts
>>>> @@ -336,7 +336,9 @@
>>>>  	};
>>>>  
>>>>  	usb@c5000000 {
>>>> +		compatible = "nvidia,tegra20-udc";
>>>>  		status = "okay";
>>>> +		dr_mode = "otg";
>>>
>>> If this board supports peripheral-only, you need to
>>> set dr_mode as "peripheral".
>>>
>>
>> It should support OTG, but we aren't going to implement the host mode
>> switch for
>> now. Stephen claims that the host mode is working with the tegra-ehci 
>> driver, it
>> would be nice if anyone could confirm this.
> 
> I can confirm that on Colibri T20, Apalis/Colibri T30 and Apalis TK1
> host mode works just fine with the regular tegra-ehci driver.
> 

Good to know, thank you :)

> I'm about to give your patch set a try on those boards as well and will
> give further feedback.
> 

Okay, but we won't be able to switch those boards to the UDC driver until the
peripheral/host mode switching would be implemented. As Stephen pointed, it
would be a user-visible regression.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 4/9] ARM: tegra: Enable UDC on TrimSlice
       [not found]     ` <82321d32d968c6b9481a77fbecae8c0756d37f0f.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2017-07-06  1:24       ` Peter Chen
@ 2017-07-06 16:35       ` Stephen Warren
  1 sibling, 0 replies; 48+ messages in thread
From: Stephen Warren @ 2017-07-06 16:35 UTC (permalink / raw)
  To: Dmitry Osipenko
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA, Thierry Reding

On 07/05/2017 11:19 AM, Dmitry Osipenko wrote:
> From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> 
> Override the compatible string of the first USB controller to enable
> device mode.

> diff --git a/arch/arm/boot/dts/tegra20-trimslice.dts b/arch/arm/boot/dts/tegra20-trimslice.dts

>   	usb@c5000000 {
> +		compatible = "nvidia,tegra20-udc";
>   		status = "okay";
> +		dr_mode = "otg";
>   	};

As mentioned elsewhere in this thread, there is a mux between this Tegra 
USB port and the external micro USB connector and the internal USB 
USB-SATA adapter, such that the micro USB connector is routed to Tegra 
in USB recovery mode, but the USB-SATA adapter is routed to Tegra at 
other times. Making the change above will prevent using the USB-SATA 
adapter, so I don't think we should make this change.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 8/9] ARM: tegra: Enable UDC on AC100
       [not found]     ` <a0923f46a14c27afd7d2595dfb8878c2ebf02230.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2017-07-06 16:38       ` Stephen Warren
       [not found]         ` <402c57db-a01b-33eb-28d4-7f4b372351f2-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
  0 siblings, 1 reply; 48+ messages in thread
From: Stephen Warren @ 2017-07-06 16:38 UTC (permalink / raw)
  To: Dmitry Osipenko
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

On 07/05/2017 11:19 AM, Dmitry Osipenko wrote:
> Override the compatible string of the first USB controller to enable
> device mode.

> diff --git a/arch/arm/boot/dts/tegra20-paz00.dts b/arch/arm/boot/dts/tegra20-paz00.dts

>   	usb@c5000000 {
> +		compatible = "nvidia,tegra20-udc";
>   		status = "okay";
> +		dr_mode = "otg";
>   	};

This port is the only external USB port on the AC100. I'm not sure it's 
a good idea to reconfigure it so it can only work in device mode, 
although given that display, keyboard, and mouse are built-in to this 
device, perhaps this change is merely unexpected rather than 
catastrophic to a user, since they can recover via the keyboard/display. 
Let's drop this patch until OTG mode is actually implemented.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 6/9] ARM: tegra: Enable UDC on Dalmore
       [not found]     ` <6756bf3afa16e414c924ec1b4b2608731a9ebcea.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2017-07-06 16:42       ` Stephen Warren
  0 siblings, 0 replies; 48+ messages in thread
From: Stephen Warren @ 2017-07-06 16:42 UTC (permalink / raw)
  To: Dmitry Osipenko
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA, Thierry Reding

On 07/05/2017 11:19 AM, Dmitry Osipenko wrote:
> From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> 
> Override the compatible string of the first USB controller to enable
> device mode.

I don't have easy access to this HW any more to test this patch; we do 
have one in our automated test system, but it's rather painful to 
manually test new features on the board, and I think doing so is more 
effort than it's worth investing in this particular board.

Do you have this board (I don't think they're widely available at all), 
and did you test it? If not, I'm a bit surprised it was sent without 
mentioning that it was untested...

As such, I'd suggest dropping this patch.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 5/9] ARM: tegra: Enable UDC on Beaver
       [not found]     ` <39b0632e80a95ec0208e3ed867033ec8de898624.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2017-07-06 16:43       ` Stephen Warren
       [not found]         ` <1d7ffa85-edae-fb1a-d013-cd44d11e1536-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
  0 siblings, 1 reply; 48+ messages in thread
From: Stephen Warren @ 2017-07-06 16:43 UTC (permalink / raw)
  To: Dmitry Osipenko, Thierry Reding
  Cc: Felipe Balbi, Greg Kroah-Hartman, Peter Chen, Jonathan Hunter,
	Marc Dietrich, Nicolas Chauvet, linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA, Thierry Reding

On 07/05/2017 11:19 AM, Dmitry Osipenko wrote:
> From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> 
> Override the compatible string of the first USB controller to enable
> device mode.

Conceptually I'm fine with this change since the port isn't enabled at 
all yet and so this doesn't change any existing behaviour. I hope 
someone tested this on real HW?

Acked-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 7/9] ARM: tegra: Enable UDC on Jetson TK1
       [not found]     ` <c6b78a8d149eb9341f41a6b1181569c4b78df1af.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2017-07-06 16:44       ` Stephen Warren
  0 siblings, 0 replies; 48+ messages in thread
From: Stephen Warren @ 2017-07-06 16:44 UTC (permalink / raw)
  To: Dmitry Osipenko, Thierry Reding
  Cc: Felipe Balbi, Greg Kroah-Hartman, Peter Chen, Jonathan Hunter,
	Marc Dietrich, Nicolas Chauvet, linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA, Thierry Reding

On 07/05/2017 11:19 AM, Dmitry Osipenko wrote:
> From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> 
> Override the compatible string of the first USB controller to enable
> device mode.

Conceptually I'm fine with this change since the port isn't enabled at 
all yet and so this doesn't change any existing behaviour.

Acked-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 4/9] ARM: tegra: Enable UDC on TrimSlice
  2017-07-06  1:24       ` Peter Chen
  2017-07-06 10:24         ` Dmitry Osipenko
@ 2017-07-06 16:46         ` Stephen Warren
       [not found]           ` <7717016d-6da4-6933-a36e-4a6bf45646ab-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
  1 sibling, 1 reply; 48+ messages in thread
From: Stephen Warren @ 2017-07-06 16:46 UTC (permalink / raw)
  To: Peter Chen, Dmitry Osipenko
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA, Thierry Reding

On 07/05/2017 07:24 PM, Peter Chen wrote:
> On Wed, Jul 05, 2017 at 08:19:53PM +0300, Dmitry Osipenko wrote:
>> From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>>
>> Override the compatible string of the first USB controller to enable
>> device mode.
>>
>> Signed-off-by: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>> ---
>>   arch/arm/boot/dts/tegra20-trimslice.dts | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/tegra20-trimslice.dts b/arch/arm/boot/dts/tegra20-trimslice.dts
>> index b902ab594afa..96b4f3f9827b 100644
>> --- a/arch/arm/boot/dts/tegra20-trimslice.dts
>> +++ b/arch/arm/boot/dts/tegra20-trimslice.dts
>> @@ -336,7 +336,9 @@
>>   	};
>>   
>>   	usb@c5000000 {
>> +		compatible = "nvidia,tegra20-udc";
>>   		status = "okay";
>> +		dr_mode = "otg";
> 
> If this board supports peripheral-only, you need to
> set dr_mode as "peripheral".

I agree here. Even if the ports can theoretically do otg, and DT is 
supposed to represent HW not SW, given we have no SW support for actual 
OTG, it'd be best not to change the DT to OTG until it's actually useful 
to do so. This comment applies to the patches I ack'd already too.

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 5/9] ARM: tegra: Enable UDC on Beaver
       [not found]         ` <1d7ffa85-edae-fb1a-d013-cd44d11e1536-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
@ 2017-07-06 16:52           ` Dmitry Osipenko
  0 siblings, 0 replies; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-06 16:52 UTC (permalink / raw)
  To: Stephen Warren, Thierry Reding
  Cc: Felipe Balbi, Greg Kroah-Hartman, Peter Chen, Jonathan Hunter,
	Marc Dietrich, Nicolas Chauvet, linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA, Thierry Reding

On 06.07.2017 19:43, Stephen Warren wrote:
> On 07/05/2017 11:19 AM, Dmitry Osipenko wrote:
>> From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>>
>> Override the compatible string of the first USB controller to enable
>> device mode.
> 
> Conceptually I'm fine with this change since the port isn't enabled at all yet
> and so this doesn't change any existing behaviour. I hope someone tested this on
> real HW?
> 
> Acked-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

I presume that Thierry tested all the boards before, Thierry did you?

-- 
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 8/9] ARM: tegra: Enable UDC on AC100
       [not found]         ` <402c57db-a01b-33eb-28d4-7f4b372351f2-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
@ 2017-07-06 16:57           ` Dmitry Osipenko
       [not found]             ` <32f880f8-a49c-8f29-fe26-f50cae31e215-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-06 16:57 UTC (permalink / raw)
  To: Stephen Warren
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

On 06.07.2017 19:38, Stephen Warren wrote:
> On 07/05/2017 11:19 AM, Dmitry Osipenko wrote:
>> Override the compatible string of the first USB controller to enable
>> device mode.
> 
>> diff --git a/arch/arm/boot/dts/tegra20-paz00.dts
>> b/arch/arm/boot/dts/tegra20-paz00.dts
> 
>>       usb@c5000000 {
>> +        compatible = "nvidia,tegra20-udc";
>>           status = "okay";
>> +        dr_mode = "otg";
>>       };
> 
> This port is the only external USB port on the AC100.

Seems that's not true. http://elinux.org/Tegra/Boards/Toshiba_AC100 claims that
there are host and micro USB ports.

 I'm not sure it's a good
> idea to reconfigure it so it can only work in device mode, although given that
> display, keyboard, and mouse are built-in to this device, perhaps this change is
> merely unexpected rather than catastrophic to a user, since they can recover via
> the keyboard/display. Let's drop this patch until OTG mode is actually implemented.
-- 
Dmitry

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 4/9] ARM: tegra: Enable UDC on TrimSlice
       [not found]           ` <7717016d-6da4-6933-a36e-4a6bf45646ab-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
@ 2017-07-06 17:16             ` Dmitry Osipenko
       [not found]               ` <8c56c8e4-0c61-9400-5f52-0e6c00b51310-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-06 17:16 UTC (permalink / raw)
  To: Stephen Warren, Peter Chen
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA, Thierry Reding

On 06.07.2017 19:46, Stephen Warren wrote:
> On 07/05/2017 07:24 PM, Peter Chen wrote:
>> On Wed, Jul 05, 2017 at 08:19:53PM +0300, Dmitry Osipenko wrote:
>>> From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>>>
>>> Override the compatible string of the first USB controller to enable
>>> device mode.
>>>
>>> Signed-off-by: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>>> ---
>>>   arch/arm/boot/dts/tegra20-trimslice.dts | 2 ++
>>>   1 file changed, 2 insertions(+)
>>>
>>> diff --git a/arch/arm/boot/dts/tegra20-trimslice.dts
>>> b/arch/arm/boot/dts/tegra20-trimslice.dts
>>> index b902ab594afa..96b4f3f9827b 100644
>>> --- a/arch/arm/boot/dts/tegra20-trimslice.dts
>>> +++ b/arch/arm/boot/dts/tegra20-trimslice.dts
>>> @@ -336,7 +336,9 @@
>>>       };
>>>         usb@c5000000 {
>>> +        compatible = "nvidia,tegra20-udc";
>>>           status = "okay";
>>> +        dr_mode = "otg";
>>
>> If this board supports peripheral-only, you need to
>> set dr_mode as "peripheral".
> 
> I agree here. Even if the ports can theoretically do otg, and DT is supposed to
> represent HW not SW, given we have no SW support for actual OTG, it'd be best
> not to change the DT to OTG until it's actually useful to do so. This comment
> applies to the patches I ack'd already too.

In case of absence of the "dr_mode" option or without a support of host mode
switching, UDC driver fallbacks to the peripheral mode. Given that DT is
supposed to be stable, I'm not sure what to do... should I specify the
peripheral mode for now (which doesn't represent the HW) or completely remove
the "dr_mode"?

-- 
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 8/9] ARM: tegra: Enable UDC on AC100
       [not found]             ` <32f880f8-a49c-8f29-fe26-f50cae31e215-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2017-07-06 18:00               ` Stephen Warren
       [not found]                 ` <33990cfa-f2f8-48ba-240b-ad088ba50bb5-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
  0 siblings, 1 reply; 48+ messages in thread
From: Stephen Warren @ 2017-07-06 18:00 UTC (permalink / raw)
  To: Dmitry Osipenko
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

On 07/06/2017 10:57 AM, Dmitry Osipenko wrote:
> On 06.07.2017 19:38, Stephen Warren wrote:
>> On 07/05/2017 11:19 AM, Dmitry Osipenko wrote:
>>> Override the compatible string of the first USB controller to enable
>>> device mode.
>>
>>> diff --git a/arch/arm/boot/dts/tegra20-paz00.dts
>>> b/arch/arm/boot/dts/tegra20-paz00.dts
>>
>>>        usb@c5000000 {
>>> +        compatible = "nvidia,tegra20-udc";
>>>            status = "okay";
>>> +        dr_mode = "otg";
>>>        };
>>
>> This port is the only external USB port on the AC100.
> 
> Seems that's not true. http://elinux.org/Tegra/Boards/Toshiba_AC100 claims that
> there are host and micro USB ports.

You're right; I was getting this board confused with the Springbank 
variety of Seaboard, and when I looked at the mini USB port on the AC100 
I thought it was something else.

Given the physical connector on this USB port on the AC100, it's 
probably fine to convert it to device-mode only since I don't expect 
anyone has a USB OTG cable that has a mini size connector on the host end.

It looks like this port is only enabled because the very first version 
of tegra-paz00.dts didn't explicitly disable the port, and when 
tegra20.dtsi was updated to disable all USB ports by default, 
tegra-paz00.dtsi was updated to enable the port so that the DT change 
didn't affect behaviour, which then left the port enabled explicitly 
albeit without much reason.

So, once the dr_mode is fixed in this change, it's:
Acked-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 4/9] ARM: tegra: Enable UDC on TrimSlice
       [not found]               ` <8c56c8e4-0c61-9400-5f52-0e6c00b51310-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2017-07-06 18:03                 ` Stephen Warren
       [not found]                   ` <52a9941a-59a5-5b49-be67-3b4991497395-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
  0 siblings, 1 reply; 48+ messages in thread
From: Stephen Warren @ 2017-07-06 18:03 UTC (permalink / raw)
  To: Dmitry Osipenko, Peter Chen
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA, Thierry Reding

On 07/06/2017 11:16 AM, Dmitry Osipenko wrote:
> On 06.07.2017 19:46, Stephen Warren wrote:
>> On 07/05/2017 07:24 PM, Peter Chen wrote:
>>> On Wed, Jul 05, 2017 at 08:19:53PM +0300, Dmitry Osipenko wrote:
>>>> From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>>>>
>>>> Override the compatible string of the first USB controller to enable
>>>> device mode.
>>>>
>>>> Signed-off-by: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>>>> ---
>>>>    arch/arm/boot/dts/tegra20-trimslice.dts | 2 ++
>>>>    1 file changed, 2 insertions(+)
>>>>
>>>> diff --git a/arch/arm/boot/dts/tegra20-trimslice.dts
>>>> b/arch/arm/boot/dts/tegra20-trimslice.dts
>>>> index b902ab594afa..96b4f3f9827b 100644
>>>> --- a/arch/arm/boot/dts/tegra20-trimslice.dts
>>>> +++ b/arch/arm/boot/dts/tegra20-trimslice.dts
>>>> @@ -336,7 +336,9 @@
>>>>        };
>>>>          usb@c5000000 {
>>>> +        compatible = "nvidia,tegra20-udc";
>>>>            status = "okay";
>>>> +        dr_mode = "otg";
>>>
>>> If this board supports peripheral-only, you need to
>>> set dr_mode as "peripheral".
>>
>> I agree here. Even if the ports can theoretically do otg, and DT is supposed to
>> represent HW not SW, given we have no SW support for actual OTG, it'd be best
>> not to change the DT to OTG until it's actually useful to do so. This comment
>> applies to the patches I ack'd already too.
> 
> In case of absence of the "dr_mode" option or without a support of host mode
> switching, UDC driver fallbacks to the peripheral mode. Given that DT is
> supposed to be stable, I'm not sure what to do... should I specify the
> peripheral mode for now (which doesn't represent the HW) or completely remove
> the "dr_mode"?

I think specifying dr_mode="peripheral" now is fine; we can change it later.

DT ABI compatibility isn't about never changing the DT content, it's 
about making sure that any schema changes occur in a 
backwards-compatible fashion.

Also in the case of a USB port that does support OTG, the dr_mode 
property represents both (a) the HW's capabilities, and (b) the user's 
desired (initial, if e.g. sysfs modification is possible) mode of 
operation if the HW has multiple capabilities. Given (b), I think it's 
fine to specify peripheral mode for now, and allow the user to change it 
back to host or OTG mode if they want (although OTG mode isn't 
useful/valid until SW support exists).

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 4/9] ARM: tegra: Enable UDC on TrimSlice
       [not found]                   ` <52a9941a-59a5-5b49-be67-3b4991497395-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
@ 2017-07-06 19:14                     ` Dmitry Osipenko
  0 siblings, 0 replies; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-06 19:14 UTC (permalink / raw)
  To: Stephen Warren, Peter Chen
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA, Thierry Reding

On 06.07.2017 21:03, Stephen Warren wrote:
> On 07/06/2017 11:16 AM, Dmitry Osipenko wrote:
>> On 06.07.2017 19:46, Stephen Warren wrote:
>>> On 07/05/2017 07:24 PM, Peter Chen wrote:
>>>> On Wed, Jul 05, 2017 at 08:19:53PM +0300, Dmitry Osipenko wrote:
>>>>> From: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>>>>>
>>>>> Override the compatible string of the first USB controller to enable
>>>>> device mode.
>>>>>
>>>>> Signed-off-by: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>>>>> ---
>>>>>    arch/arm/boot/dts/tegra20-trimslice.dts | 2 ++
>>>>>    1 file changed, 2 insertions(+)
>>>>>
>>>>> diff --git a/arch/arm/boot/dts/tegra20-trimslice.dts
>>>>> b/arch/arm/boot/dts/tegra20-trimslice.dts
>>>>> index b902ab594afa..96b4f3f9827b 100644
>>>>> --- a/arch/arm/boot/dts/tegra20-trimslice.dts
>>>>> +++ b/arch/arm/boot/dts/tegra20-trimslice.dts
>>>>> @@ -336,7 +336,9 @@
>>>>>        };
>>>>>          usb@c5000000 {
>>>>> +        compatible = "nvidia,tegra20-udc";
>>>>>            status = "okay";
>>>>> +        dr_mode = "otg";
>>>>
>>>> If this board supports peripheral-only, you need to
>>>> set dr_mode as "peripheral".
>>>
>>> I agree here. Even if the ports can theoretically do otg, and DT is supposed to
>>> represent HW not SW, given we have no SW support for actual OTG, it'd be best
>>> not to change the DT to OTG until it's actually useful to do so. This comment
>>> applies to the patches I ack'd already too.
>>
>> In case of absence of the "dr_mode" option or without a support of host mode
>> switching, UDC driver fallbacks to the peripheral mode. Given that DT is
>> supposed to be stable, I'm not sure what to do... should I specify the
>> peripheral mode for now (which doesn't represent the HW) or completely remove
>> the "dr_mode"?
> 
> I think specifying dr_mode="peripheral" now is fine; we can change it later.
> 
> DT ABI compatibility isn't about never changing the DT content, it's about
> making sure that any schema changes occur in a backwards-compatible fashion.
> 
> Also in the case of a USB port that does support OTG, the dr_mode property
> represents both (a) the HW's capabilities, and (b) the user's desired (initial,
> if e.g. sysfs modification is possible) mode of operation if the HW has multiple
> capabilities. Given (b), I think it's fine to specify peripheral mode for now,
> and allow the user to change it back to host or OTG mode if they want (although
> OTG mode isn't useful/valid until SW support exists).

Thank you for the clarification.

-- 
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 8/9] ARM: tegra: Enable UDC on AC100
       [not found]                 ` <33990cfa-f2f8-48ba-240b-ad088ba50bb5-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
@ 2017-07-06 21:23                   ` Marc Dietrich
  2017-07-07  8:27                     ` Dmitry Osipenko
  0 siblings, 1 reply; 48+ messages in thread
From: Marc Dietrich @ 2017-07-06 21:23 UTC (permalink / raw)
  To: Stephen Warren
  Cc: Dmitry Osipenko, Thierry Reding, Felipe Balbi,
	Greg Kroah-Hartman, Peter Chen, Jonathan Hunter, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

[-- Attachment #1: Type: text/plain, Size: 2074 bytes --]

Am Donnerstag, 6. Juli 2017, 20:00:02 CEST schrieb Stephen Warren:
> On 07/06/2017 10:57 AM, Dmitry Osipenko wrote:
> > On 06.07.2017 19:38, Stephen Warren wrote:
> >> On 07/05/2017 11:19 AM, Dmitry Osipenko wrote:
> >>> Override the compatible string of the first USB controller to enable
> >>> device mode.
> >>> 
> >>> diff --git a/arch/arm/boot/dts/tegra20-paz00.dts
> >>> b/arch/arm/boot/dts/tegra20-paz00.dts
> >>> 
> >>>        usb@c5000000 {
> >>> 
> >>> +        compatible = "nvidia,tegra20-udc";
> >>> 
> >>>            status = "okay";
> >>> 
> >>> +        dr_mode = "otg";
> >>> 
> >>>        };
> >> 
> >> This port is the only external USB port on the AC100.
> > 
> > Seems that's not true. http://elinux.org/Tegra/Boards/Toshiba_AC100 claims
> > that there are host and micro USB ports.
> 
> You're right; I was getting this board confused with the Springbank
> variety of Seaboard, and when I looked at the mini USB port on the AC100
> I thought it was something else.

Sorry, for the late reply, I'm on vacation.
 
> Given the physical connector on this USB port on the AC100, it's
> probably fine to convert it to device-mode only since I don't expect
> anyone has a USB OTG cable that has a mini size connector on the host end.
> 
> It looks like this port is only enabled because the very first version
> of tegra-paz00.dts didn't explicitly disable the port, and when
> tegra20.dtsi was updated to disable all USB ports by default,
> tegra-paz00.dtsi was updated to enable the port so that the DT change
> didn't affect behaviour, which then left the port enabled explicitly
> albeit without much reason.

I think someone used it in the past in host mode and it was working, but I 
think everyone will be happy to have it operating as client only (as original 
intended), especially because we already have an external (and also an 
internal) usb port.

> So, once the dr_mode is fixed in this change, it's:
> Acked-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

Tested-by: Marc Dietrich <marvin24-Mmb7MZpHnFY@public.gmane.org>

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 3/9] usb: chipidea: Add support for Tegra20/30/114/124
       [not found]           ` <59e943b8-8771-0b1e-36fa-babd5e52a6d5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2017-07-07  1:10             ` Peter Chen
  2017-07-07  8:28               ` Dmitry Osipenko
  0 siblings, 1 reply; 48+ messages in thread
From: Peter Chen @ 2017-07-07  1:10 UTC (permalink / raw)
  To: Dmitry Osipenko
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA, Thierry Reding

On Thu, Jul 06, 2017 at 01:09:32PM +0300, Dmitry Osipenko wrote:
> On 06.07.2017 04:23, Peter Chen wrote:
> > On Wed, Jul 05, 2017 at 08:19:52PM +0300, Dmitry Osipenko wrote:
> >> +	/* setup and register ChipIdea HDRC device */
> >> +	udc->data.name = "tegra-udc";
> >> +	udc->data.capoffset = DEF_CAPOFFSET;
> >> +	udc->data.flags = 0;
> >> +	udc->data.usb_phy = udc->phy;
> >> +
> >> +	/* setup device specific quirks */
> >> +	soc = id->data;
> >> +
> >> +	if (!soc->supports_unaligned_dma)
> >> +		udc->data.flags |= CI_HDRC_REQUIRES_ALIGNED_DMA;
> >> +
> >> +	/* power on UDC controller */
> >> +	usb_phy_set_suspend(udc->phy, 0);
> > 
> > Why above is needed? The chipidea core will do usb_phy_init for power
> > on.
> > 
> 
> It is needed because Tegra's USB PHY driver doesn't hook up .init() of the
> struct usb_phy and the power management is handled by set_suspend().
> 

Ok, please comment it since it is strange that initialize phy at
.set_suspend API, after that, you can add my Ack for this patch.

-- 

Best Regards,
Peter Chen

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 0/9] Support UDC on Tegra 20/30/114/124
       [not found]         ` <c8d9740a-7792-87d9-9466-8d3a45280403-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  2017-07-05 22:54           ` Stephen Warren
@ 2017-07-07  1:12           ` Peter Chen
  2017-07-07  8:49             ` Dmitry Osipenko
  1 sibling, 1 reply; 48+ messages in thread
From: Peter Chen @ 2017-07-07  1:12 UTC (permalink / raw)
  To: Dmitry Osipenko
  Cc: Stephen Warren, Thierry Reding, Felipe Balbi, Greg Kroah-Hartman,
	Peter Chen, Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

On Thu, Jul 06, 2017 at 01:13:01AM +0300, Dmitry Osipenko wrote:
> On 05.07.2017 23:31, Stephen Warren wrote:
> > On 07/05/2017 11:19 AM, Dmitry Osipenko wrote:
> >> Some time ago Thierry Reding sent out patches that enabled UDC on NVIDIA
> >> Tegra, unfortunately they haven't got enough traction to get into the
> >> kernel. I've rebased those patches and added a fix for the Ethernet USB
> >> Gadget on Tegra20, Marc Dietrich tested UDC driver on AC100 and Nicolas
> >> Chauvet on TK1. Like an original patchset, this series adds support for
> >> the peripheral mode only.
> > 
> > Does this mean that the relevant ports no longer support host mode? That's going
> > to be a user-visible regression, which doesn't sound like a good idea. Isn't OTG
> > possible instead?
> 
> We are going to switch only AC100 and TrimSlice to use the UDC driver. Do you
> know whether that port is working in a host mode with the tegra-ehci driver on
> these devices? That should be a micro USB port. Since that port is working in a
> device mode by default, I presume that switching it into a host mode would
> require some extra 'dance', otherwise I may drop the AC100 / TrimSlice patches.
> 
> The full-featured OTG should be possible, it could be done later if desired. I'm
> leaving it to somebody else to implement.
> 

Full-featured OTG? Do you mean it is compliances OTG spec, or just
support dual-role switch through ID pin or external connector?

-- 

Best Regards,
Peter Chen

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 8/9] ARM: tegra: Enable UDC on AC100
  2017-07-06 21:23                   ` Marc Dietrich
@ 2017-07-07  8:27                     ` Dmitry Osipenko
  0 siblings, 0 replies; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-07  8:27 UTC (permalink / raw)
  To: Marc Dietrich, Stephen Warren
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

On 07.07.2017 00:23, Marc Dietrich wrote:
> Am Donnerstag, 6. Juli 2017, 20:00:02 CEST schrieb Stephen Warren:
>> On 07/06/2017 10:57 AM, Dmitry Osipenko wrote:
>>> On 06.07.2017 19:38, Stephen Warren wrote:
>>>> On 07/05/2017 11:19 AM, Dmitry Osipenko wrote:
>>>>> Override the compatible string of the first USB controller to enable
>>>>> device mode.
>>>>>
>>>>> diff --git a/arch/arm/boot/dts/tegra20-paz00.dts
>>>>> b/arch/arm/boot/dts/tegra20-paz00.dts
>>>>>
>>>>>        usb@c5000000 {
>>>>>
>>>>> +        compatible = "nvidia,tegra20-udc";
>>>>>
>>>>>            status = "okay";
>>>>>
>>>>> +        dr_mode = "otg";
>>>>>
>>>>>        };
>>>>
>>>> This port is the only external USB port on the AC100.
>>>
>>> Seems that's not true. http://elinux.org/Tegra/Boards/Toshiba_AC100 claims
>>> that there are host and micro USB ports.
>>
>> You're right; I was getting this board confused with the Springbank
>> variety of Seaboard, and when I looked at the mini USB port on the AC100
>> I thought it was something else.
> 
> Sorry, for the late reply, I'm on vacation.
>  

No worries, have a good time!;)

>> Given the physical connector on this USB port on the AC100, it's
>> probably fine to convert it to device-mode only since I don't expect
>> anyone has a USB OTG cable that has a mini size connector on the host end.
>>
>> It looks like this port is only enabled because the very first version
>> of tegra-paz00.dts didn't explicitly disable the port, and when
>> tegra20.dtsi was updated to disable all USB ports by default,
>> tegra-paz00.dtsi was updated to enable the port so that the DT change
>> didn't affect behaviour, which then left the port enabled explicitly
>> albeit without much reason.
> 
> I think someone used it in the past in host mode and it was working, but I 
> think everyone will be happy to have it operating as client only (as original 
> intended), especially because we already have an external (and also an 
> internal) usb port.
> 
>> So, once the dr_mode is fixed in this change, it's:
>> Acked-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> 
> Tested-by: Marc Dietrich <marvin24-Mmb7MZpHnFY@public.gmane.org>
> 


-- 
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 3/9] usb: chipidea: Add support for Tegra20/30/114/124
  2017-07-07  1:10             ` Peter Chen
@ 2017-07-07  8:28               ` Dmitry Osipenko
  0 siblings, 0 replies; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-07  8:28 UTC (permalink / raw)
  To: Peter Chen
  Cc: Thierry Reding, Felipe Balbi, Greg Kroah-Hartman, Peter Chen,
	Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA, Thierry Reding

On 07.07.2017 04:10, Peter Chen wrote:
> On Thu, Jul 06, 2017 at 01:09:32PM +0300, Dmitry Osipenko wrote:
>> On 06.07.2017 04:23, Peter Chen wrote:
>>> On Wed, Jul 05, 2017 at 08:19:52PM +0300, Dmitry Osipenko wrote:
>>>> +	/* setup and register ChipIdea HDRC device */
>>>> +	udc->data.name = "tegra-udc";
>>>> +	udc->data.capoffset = DEF_CAPOFFSET;
>>>> +	udc->data.flags = 0;
>>>> +	udc->data.usb_phy = udc->phy;
>>>> +
>>>> +	/* setup device specific quirks */
>>>> +	soc = id->data;
>>>> +
>>>> +	if (!soc->supports_unaligned_dma)
>>>> +		udc->data.flags |= CI_HDRC_REQUIRES_ALIGNED_DMA;
>>>> +
>>>> +	/* power on UDC controller */
>>>> +	usb_phy_set_suspend(udc->phy, 0);
>>>
>>> Why above is needed? The chipidea core will do usb_phy_init for power
>>> on.
>>>
>>
>> It is needed because Tegra's USB PHY driver doesn't hook up .init() of the
>> struct usb_phy and the power management is handled by set_suspend().
>>
> 
> Ok, please comment it since it is strange that initialize phy at
> .set_suspend API, after that, you can add my Ack for this patch.
> 

Alright, thank you for the review.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 48+ messages in thread

* Re: [PATCH v1 0/9] Support UDC on Tegra 20/30/114/124
  2017-07-07  1:12           ` Peter Chen
@ 2017-07-07  8:49             ` Dmitry Osipenko
  0 siblings, 0 replies; 48+ messages in thread
From: Dmitry Osipenko @ 2017-07-07  8:49 UTC (permalink / raw)
  To: Peter Chen
  Cc: Stephen Warren, Thierry Reding, Felipe Balbi, Greg Kroah-Hartman,
	Peter Chen, Jonathan Hunter, Marc Dietrich, Nicolas Chauvet,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

On 07.07.2017 04:12, Peter Chen wrote:
> On Thu, Jul 06, 2017 at 01:13:01AM +0300, Dmitry Osipenko wrote:
>> On 05.07.2017 23:31, Stephen Warren wrote:
>>> On 07/05/2017 11:19 AM, Dmitry Osipenko wrote:
>>>> Some time ago Thierry Reding sent out patches that enabled UDC on NVIDIA
>>>> Tegra, unfortunately they haven't got enough traction to get into the
>>>> kernel. I've rebased those patches and added a fix for the Ethernet USB
>>>> Gadget on Tegra20, Marc Dietrich tested UDC driver on AC100 and Nicolas
>>>> Chauvet on TK1. Like an original patchset, this series adds support for
>>>> the peripheral mode only.
>>>
>>> Does this mean that the relevant ports no longer support host mode? That's going
>>> to be a user-visible regression, which doesn't sound like a good idea. Isn't OTG
>>> possible instead?
>>
>> We are going to switch only AC100 and TrimSlice to use the UDC driver. Do you
>> know whether that port is working in a host mode with the tegra-ehci driver on
>> these devices? That should be a micro USB port. Since that port is working in a
>> device mode by default, I presume that switching it into a host mode would
>> require some extra 'dance', otherwise I may drop the AC100 / TrimSlice patches.
>>
>> The full-featured OTG should be possible, it could be done later if desired. I'm
>> leaving it to somebody else to implement.
>>
> 
> Full-featured OTG? Do you mean it is compliances OTG spec, or just
> support dual-role switch through ID pin or external connector?
> 

I meant the dual-role.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 48+ messages in thread

end of thread, other threads:[~2017-07-07  8:49 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-05 17:19 [PATCH v1 0/9] Support UDC on Tegra 20/30/114/124 Dmitry Osipenko
     [not found] ` <cover.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-07-05 17:19   ` [PATCH v1 1/9] usb: gadget: f_ecm/f_eem/f_rndis: Setup quirk_avoids_skb_reserve Dmitry Osipenko
     [not found]     ` <a2f60b1ee32dba0adb7dfaaab7b1ee4d67699107.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-07-06  1:12       ` Peter Chen
2017-07-06 10:13         ` Dmitry Osipenko
2017-07-05 17:19   ` [PATCH v1 2/9] usb: chipidea: udc: Support SKB alignment quirk Dmitry Osipenko
     [not found]     ` <719de7513f42948f5f75742c31f4cc09582411fd.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-07-06  1:13       ` Peter Chen
2017-07-05 17:19   ` [PATCH v1 3/9] usb: chipidea: Add support for Tegra20/30/114/124 Dmitry Osipenko
     [not found]     ` <9e0127ea9b580e1af334c4c3bcb8b3c0705614ea.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-07-06  1:23       ` Peter Chen
2017-07-06 10:09         ` Dmitry Osipenko
     [not found]           ` <59e943b8-8771-0b1e-36fa-babd5e52a6d5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-07-07  1:10             ` Peter Chen
2017-07-07  8:28               ` Dmitry Osipenko
2017-07-05 17:19   ` [PATCH v1 4/9] ARM: tegra: Enable UDC on TrimSlice Dmitry Osipenko
     [not found]     ` <82321d32d968c6b9481a77fbecae8c0756d37f0f.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-07-06  1:24       ` Peter Chen
2017-07-06 10:24         ` Dmitry Osipenko
     [not found]           ` <d23f841a-f46d-bf3f-cdb6-9d9c033e80bd-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-07-06 10:43             ` Dmitry Osipenko
2017-07-06 12:51             ` Marcel Ziswiler
     [not found]               ` <1499345493.4445.12.camel-2KBjVHiyJgBBDgjK7y7TUQ@public.gmane.org>
2017-07-06 16:15                 ` Dmitry Osipenko
2017-07-06 16:46         ` Stephen Warren
     [not found]           ` <7717016d-6da4-6933-a36e-4a6bf45646ab-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2017-07-06 17:16             ` Dmitry Osipenko
     [not found]               ` <8c56c8e4-0c61-9400-5f52-0e6c00b51310-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-07-06 18:03                 ` Stephen Warren
     [not found]                   ` <52a9941a-59a5-5b49-be67-3b4991497395-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2017-07-06 19:14                     ` Dmitry Osipenko
2017-07-06 16:35       ` Stephen Warren
2017-07-05 17:19   ` [PATCH v1 5/9] ARM: tegra: Enable UDC on Beaver Dmitry Osipenko
     [not found]     ` <39b0632e80a95ec0208e3ed867033ec8de898624.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-07-06 16:43       ` Stephen Warren
     [not found]         ` <1d7ffa85-edae-fb1a-d013-cd44d11e1536-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2017-07-06 16:52           ` Dmitry Osipenko
2017-07-05 17:19   ` [PATCH v1 6/9] ARM: tegra: Enable UDC on Dalmore Dmitry Osipenko
     [not found]     ` <6756bf3afa16e414c924ec1b4b2608731a9ebcea.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-07-06 16:42       ` Stephen Warren
2017-07-05 17:19   ` [PATCH v1 7/9] ARM: tegra: Enable UDC on Jetson TK1 Dmitry Osipenko
     [not found]     ` <c6b78a8d149eb9341f41a6b1181569c4b78df1af.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-07-06 16:44       ` Stephen Warren
2017-07-05 17:19   ` [PATCH v1 8/9] ARM: tegra: Enable UDC on AC100 Dmitry Osipenko
     [not found]     ` <a0923f46a14c27afd7d2595dfb8878c2ebf02230.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-07-06 16:38       ` Stephen Warren
     [not found]         ` <402c57db-a01b-33eb-28d4-7f4b372351f2-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2017-07-06 16:57           ` Dmitry Osipenko
     [not found]             ` <32f880f8-a49c-8f29-fe26-f50cae31e215-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-07-06 18:00               ` Stephen Warren
     [not found]                 ` <33990cfa-f2f8-48ba-240b-ad088ba50bb5-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2017-07-06 21:23                   ` Marc Dietrich
2017-07-07  8:27                     ` Dmitry Osipenko
2017-07-05 17:19   ` [PATCH v1 9/9] ARM: defconfig: tegra: Enable ChipIdea UDC driver Dmitry Osipenko
     [not found]     ` <5eac9306f4049ba51ed8b7f53820d28f294725cb.1499273075.git.digetx-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-07-05 20:33       ` Stephen Warren
     [not found]         ` <3fe1b3b2-6473-399a-807e-f007a10c05cd-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2017-07-05 22:57           ` Dmitry Osipenko
2017-07-05 20:31   ` [PATCH v1 0/9] Support UDC on Tegra 20/30/114/124 Stephen Warren
     [not found]     ` <b5c54655-ccf4-2d4e-59fe-4a9e4609605a-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2017-07-05 22:13       ` Dmitry Osipenko
     [not found]         ` <c8d9740a-7792-87d9-9466-8d3a45280403-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-07-05 22:54           ` Stephen Warren
     [not found]             ` <63e87e5c-5331-2680-7686-5ed22718a2bd-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2017-07-05 23:20               ` Dmitry Osipenko
     [not found]                 ` <94e2532d-d342-3062-ec7a-6dfd865c1b62-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-07-06 12:03                   ` Thierry Reding
     [not found]                     ` <20170706120328.GB1229-m5CkvRiFyV9wFLYp8hBm2A@public.gmane.org>
2017-07-06 13:04                       ` Marcel Ziswiler
     [not found]                         ` <1499346277.4445.15.camel-2KBjVHiyJgBBDgjK7y7TUQ@public.gmane.org>
2017-07-06 15:11                           ` Thierry Reding
     [not found]                             ` <20170706151118.GA3736-m5CkvRiFyV9wFLYp8hBm2A@public.gmane.org>
2017-07-06 15:52                               ` Dmitry Osipenko
2017-07-07  1:12           ` Peter Chen
2017-07-07  8:49             ` Dmitry Osipenko

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.