All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3 v4] usb: tegra20-ehci: Add devicetree support.
@ 2011-07-21 21:17 ` achew
  0 siblings, 0 replies; 15+ messages in thread
From: achew @ 2011-07-21 21:17 UTC (permalink / raw)
  To: grant.likely, olof, swarren, dwillemsen, rklein, mogantyv
  Cc: devicetree-discuss, linux-tegra, linux-usb, linux-kernel, Andrew Chew

From: Andrew Chew <achew@nvidia.com>

Add code to try to get platform data information (register base, irq,
modes, various tuning parameters) from device tree, if not present in board
files.

Signed-off-by: Andrew Chew <achew@nvidia.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
---
Applied Olof Johansson's comments:
- Use direct assignment when copying default config structs.
- Use __devinitdata for static default config structs.
- Don't compile the default config structs if CONFIG_OF is disabled, to avoid
  a warning.

 .../devicetree/bindings/usb/tegra20-ehci.txt       |   27 +++
 drivers/usb/host/ehci-tegra.c                      |  189 ++++++++++++++++++++
 2 files changed, 216 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/usb/tegra20-ehci.txt

diff --git a/Documentation/devicetree/bindings/usb/tegra20-ehci.txt b/Documentation/devicetree/bindings/usb/tegra20-ehci.txt
new file mode 100644
index 0000000..315ea6e
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/tegra20-ehci.txt
@@ -0,0 +1,27 @@
+NVIDIA Tegra20 SOC USB controllers
+
+The device node for a USB controller that is part of a Tegra20
+SOC is as described in the document "Open Firmware Recommended
+Practice: Universal Serial Bus" with the following modifications
+and additions:
+
+Required properties:
+ - compatible: Should be "nvidia,tegra20-ehci".
+ - phy-type: Should be one of "utmi" or "ulpi".  Defaults to utmi.
+ - dr-mode: Should be one of "peripheral", "host", or "otg".  Defaults to host.
+ - power-down-on-bus-suspend: For host mode only.  If present, then
+   the USB phy will power down when the host is suspended.
+
+Required properties for phy-type = "utmi".  These values are derived from
+characterization by system engineering.
+ - nvidia,hssync-start-delay: Defaults to 9.
+ - nvidia,idle-wait-delay: Defaults to 17.
+ - nvidia,elastic-limit: Defaults to 16.
+ - nvidia,term-range-adj: Defaults to 6.
+ - nvidia,xcvr-setup: Defaults to 9.
+ - nvidia,xcvr-lsfslew: Defaults to 2.
+ - nvidia,xcvr-lsrslew: Defaults to 2.
+
+Required properties for phy-type = "ulpi":
+ - reset-gpio: The GPIO used to drive reset.  Defaults to 169.
+ - clk: Defaults to "cdev2".
diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c
index 02b2bfd..d7295eb 100644
--- a/drivers/usb/host/ehci-tegra.c
+++ b/drivers/usb/host/ehci-tegra.c
@@ -21,10 +21,34 @@
 #include <linux/platform_data/tegra_usb.h>
 #include <linux/irq.h>
 #include <linux/usb/otg.h>
+#include <linux/of.h>
+#include <linux/of_address.h>
+#include <linux/of_irq.h>
+#include <linux/of_platform.h>
+
 #include <mach/usb_phy.h>
 
 #define TEGRA_USB_DMA_ALIGN 32
 
+static u64 tegra_ehci_dmamask = DMA_BIT_MASK(TEGRA_USB_DMA_ALIGN);
+
+#if defined(CONFIG_OF)
+static struct tegra_utmip_config utmi_default __devinitdata = {
+	.hssync_start_delay = 9,
+	.idle_wait_delay = 17,
+	.elastic_limit = 16,
+	.term_range_adj = 6,
+	.xcvr_setup = 9,
+	.xcvr_lsfslew = 2,
+	.xcvr_lsrslew = 2,
+};
+
+static struct tegra_ulpi_config ulpi_default __devinitdata = {
+	.reset_gpio = 169,
+	.clk = "cdev2",
+};
+#endif
+
 struct tegra_ehci_hcd {
 	struct ehci_hcd *ehci;
 	struct tegra_usb_phy *phy;
@@ -574,9 +598,155 @@ static const struct hc_driver tegra_ehci_hc_driver = {
 	.port_handed_over	= ehci_port_handed_over,
 };
 
+#if defined(CONFIG_OF)
+static int tegra_ehci_parse_dt_node_utmi(struct device_node *dn,
+					 struct platform_device *pdev,
+					 struct tegra_ehci_platform_data *pdata)
+{
+	struct device *dev = &pdev->dev;
+	struct tegra_utmip_config *phy_config;
+	u32 val;
+
+	phy_config = devm_kzalloc(dev, sizeof(struct tegra_utmip_config),
+				  GFP_KERNEL);
+	if (!phy_config)
+		return -ENOMEM;
+
+	/* Copy default values. */
+	*phy_config = utmi_default;
+
+	/* Values can be overridden from their defaults. */
+	if (of_property_read_u32(dn, "nvidia,hssync-start-delay", &val) == 0)
+		phy_config->hssync_start_delay = val;
+
+	if (of_property_read_u32(dn, "nvidia,elastic-limit", &val) == 0)
+		phy_config->elastic_limit = val;
+
+	if (of_property_read_u32(dn, "nvidia,idle-wait-delay", &val) == 0)
+		phy_config->idle_wait_delay = val;
+
+	if (of_property_read_u32(dn, "nvidia,term-range-adj", &val) == 0)
+		phy_config->term_range_adj = val;
+
+	if (of_property_read_u32(dn, "nvidia,xcvr-setup", &val) == 0)
+		phy_config->xcvr_setup = val;
+
+	if (of_property_read_u32(dn, "nvidia,xcvr-lsfslew", &val) == 0)
+		phy_config->xcvr_lsfslew = val;
+
+	if (of_property_read_u32(dn, "nvidia,xcvr-lsrslew", &val) == 0)
+		phy_config->xcvr_lsrslew = val;
+
+	pdata->phy_config = phy_config;
+
+	return 0;
+}
+
+static int tegra_ehci_parse_dt_node_ulpi(struct device_node *dn,
+					 struct platform_device *pdev,
+					 struct tegra_ehci_platform_data *pdata)
+{
+	struct device *dev = &pdev->dev;
+	struct tegra_ulpi_config *phy_config;
+	u32 val;
+	char *sval;
+
+	phy_config = devm_kzalloc(dev, sizeof(struct tegra_ulpi_config),
+				  GFP_KERNEL);
+	if (!phy_config)
+		return -ENOMEM;
+
+	/* Copy default values. */
+	*phy_config = ulpi_default;
+
+	/* Values can be overridden from their defaults. */
+	if (of_property_read_u32(dn, "reset-gpio", &val) == 0)
+		phy_config->reset_gpio = val;
+
+	if (of_property_read_string(dn, "clk", &sval) == 0)
+		phy_config->clk = sval;
+
+	pdata->phy_config = phy_config;
+
+	return 0;
+}
+
+static struct tegra_ehci_platform_data *tegra_ehci_parse_dt_node(
+	struct device_node *dn,
+	struct platform_device *pdev)
+{
+	struct device *dev = &pdev->dev;
+	struct tegra_ehci_platform_data *pdata;
+	char *mode;
+	char *type;
+
+	pdata = devm_kzalloc(dev, sizeof(struct tegra_ehci_platform_data),
+			     GFP_KERNEL);
+	if (!pdata)
+		return NULL;
+
+	/* Default to host if this property is not present. */
+	if (of_property_read_string(dn, "dr-mode", &mode) != 0)
+		pdata->operating_mode = TEGRA_USB_HOST;
+	else if (strcmp(mode, "peripheral") == 0)
+		pdata->operating_mode = TEGRA_USB_DEVICE;
+	else if (strcmp(mode, "host") == 0)
+		pdata->operating_mode = TEGRA_USB_HOST;
+	else if (strcmp(mode, "otg") == 0)
+		pdata->operating_mode = TEGRA_USB_OTG;
+	else {
+		dev_err(dev, "Invalid dt property \"dr-mode\" value %s\n",
+			mode);
+		goto fail;
+	}
+
+	/* power-down-on-bus-suspend is only relevant if dr-mode is host. */
+	if (of_find_property(dn, "power-down-on-bus-suspend", NULL) != 0) {
+		if (pdata->operating_mode != TEGRA_USB_HOST) {
+			dev_err(dev, "The dt property "
+				     "\"power-down-on-bus-suspend\" "
+				     "is only valid when dr-mode is "
+				     "\"host\"\n");
+			goto fail;
+		}
+		pdata->power_down_on_bus_suspend = 1;
+	}
+
+	/* Default to utmi if this property is not present. */
+	if (of_property_read_string(dn, "phy-type", &type) != 0) {
+		if (tegra_ehci_parse_dt_node_utmi(dn, pdev, pdata))
+			goto fail;
+	} else if (strcmp(type, "utmi") == 0) {
+		if (tegra_ehci_parse_dt_node_utmi(dn, pdev, pdata))
+			goto fail;
+	} else if (strcmp(type, "ulpi") == 0) {
+		if (tegra_ehci_parse_dt_node_ulpi(dn, pdev, pdata))
+			goto fail;
+	} else {
+		dev_err(dev, "Invalid dt property \"type\" value %s\n", type);
+		goto fail;
+	}
+
+	return pdata;
+
+fail:
+	devm_kfree(dev, pdata);
+
+	return NULL;
+}
+#else
+static struct tegra_ehci_platform_data *tegra_ehci_parse_dt_node(
+	struct device_node *dn,
+	struct platform_device *pdev)
+{
+	return NULL;
+}
+#endif /* defined(CONFIG_OF) */
+
 static int tegra_ehci_probe(struct platform_device *pdev)
 {
 	struct resource *res;
+	struct device_node *dn = pdev->dev.of_node;
 	struct usb_hcd *hcd;
 	struct tegra_ehci_hcd *tegra;
 	struct tegra_ehci_platform_data *pdata;
@@ -584,8 +754,19 @@ static int tegra_ehci_probe(struct platform_device *pdev)
 	int irq;
 	int instance = pdev->id;
 
+	/*
+	 * See if there's any platform data passed via board files.
+	 * If there isn't, then allocate one and fill it by parsing
+	 * device tree node.
+	 */
 	pdata = pdev->dev.platform_data;
 	if (!pdata) {
+		pdata = tegra_ehci_parse_dt_node(dn, pdev);
+
+		pdev->dev.dma_mask = &tegra_ehci_dmamask;
+		pdev->dev.coherent_dma_mask = tegra_ehci_dmamask;
+	}
+	if (!pdata) {
 		dev_err(&pdev->dev, "Platform data missing\n");
 		return -EINVAL;
 	}
@@ -773,6 +954,12 @@ static void tegra_ehci_hcd_shutdown(struct platform_device *pdev)
 		hcd->driver->shutdown(hcd);
 }
 
+static const struct of_device_id tegra_ehci_of_match[] = {
+	{ .compatible = "nvidia,tegra20-ehci", },
+	{},
+};
+MODULE_DEVICE_TABLE(of, tegra_ehci_of_match);
+
 static struct platform_driver tegra_ehci_driver = {
 	.probe		= tegra_ehci_probe,
 	.remove		= tegra_ehci_remove,
@@ -783,5 +970,7 @@ static struct platform_driver tegra_ehci_driver = {
 	.shutdown	= tegra_ehci_hcd_shutdown,
 	.driver		= {
 		.name	= "tegra-ehci",
+		.owner	= THIS_MODULE,
+		.of_match_table = tegra_ehci_of_match,
 	}
 };
-- 
1.7.6

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

* [PATCH 1/3 v4] usb: tegra20-ehci: Add devicetree support.
@ 2011-07-21 21:17 ` achew
  0 siblings, 0 replies; 15+ messages in thread
From: achew @ 2011-07-21 21:17 UTC (permalink / raw)
  To: grant.likely, olof, swarren, dwillemsen, rklein, mogantyv
  Cc: devicetree-discuss, linux-tegra, linux-usb, linux-kernel, Andrew Chew

From: Andrew Chew <achew@nvidia.com>

Add code to try to get platform data information (register base, irq,
modes, various tuning parameters) from device tree, if not present in board
files.

Signed-off-by: Andrew Chew <achew@nvidia.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
---
Applied Olof Johansson's comments:
- Use direct assignment when copying default config structs.
- Use __devinitdata for static default config structs.
- Don't compile the default config structs if CONFIG_OF is disabled, to avoid
  a warning.

 .../devicetree/bindings/usb/tegra20-ehci.txt       |   27 +++
 drivers/usb/host/ehci-tegra.c                      |  189 ++++++++++++++++++++
 2 files changed, 216 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/usb/tegra20-ehci.txt

diff --git a/Documentation/devicetree/bindings/usb/tegra20-ehci.txt b/Documentation/devicetree/bindings/usb/tegra20-ehci.txt
new file mode 100644
index 0000000..315ea6e
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/tegra20-ehci.txt
@@ -0,0 +1,27 @@
+NVIDIA Tegra20 SOC USB controllers
+
+The device node for a USB controller that is part of a Tegra20
+SOC is as described in the document "Open Firmware Recommended
+Practice: Universal Serial Bus" with the following modifications
+and additions:
+
+Required properties:
+ - compatible: Should be "nvidia,tegra20-ehci".
+ - phy-type: Should be one of "utmi" or "ulpi".  Defaults to utmi.
+ - dr-mode: Should be one of "peripheral", "host", or "otg".  Defaults to host.
+ - power-down-on-bus-suspend: For host mode only.  If present, then
+   the USB phy will power down when the host is suspended.
+
+Required properties for phy-type = "utmi".  These values are derived from
+characterization by system engineering.
+ - nvidia,hssync-start-delay: Defaults to 9.
+ - nvidia,idle-wait-delay: Defaults to 17.
+ - nvidia,elastic-limit: Defaults to 16.
+ - nvidia,term-range-adj: Defaults to 6.
+ - nvidia,xcvr-setup: Defaults to 9.
+ - nvidia,xcvr-lsfslew: Defaults to 2.
+ - nvidia,xcvr-lsrslew: Defaults to 2.
+
+Required properties for phy-type = "ulpi":
+ - reset-gpio: The GPIO used to drive reset.  Defaults to 169.
+ - clk: Defaults to "cdev2".
diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c
index 02b2bfd..d7295eb 100644
--- a/drivers/usb/host/ehci-tegra.c
+++ b/drivers/usb/host/ehci-tegra.c
@@ -21,10 +21,34 @@
 #include <linux/platform_data/tegra_usb.h>
 #include <linux/irq.h>
 #include <linux/usb/otg.h>
+#include <linux/of.h>
+#include <linux/of_address.h>
+#include <linux/of_irq.h>
+#include <linux/of_platform.h>
+
 #include <mach/usb_phy.h>
 
 #define TEGRA_USB_DMA_ALIGN 32
 
+static u64 tegra_ehci_dmamask = DMA_BIT_MASK(TEGRA_USB_DMA_ALIGN);
+
+#if defined(CONFIG_OF)
+static struct tegra_utmip_config utmi_default __devinitdata = {
+	.hssync_start_delay = 9,
+	.idle_wait_delay = 17,
+	.elastic_limit = 16,
+	.term_range_adj = 6,
+	.xcvr_setup = 9,
+	.xcvr_lsfslew = 2,
+	.xcvr_lsrslew = 2,
+};
+
+static struct tegra_ulpi_config ulpi_default __devinitdata = {
+	.reset_gpio = 169,
+	.clk = "cdev2",
+};
+#endif
+
 struct tegra_ehci_hcd {
 	struct ehci_hcd *ehci;
 	struct tegra_usb_phy *phy;
@@ -574,9 +598,155 @@ static const struct hc_driver tegra_ehci_hc_driver = {
 	.port_handed_over	= ehci_port_handed_over,
 };
 
+#if defined(CONFIG_OF)
+static int tegra_ehci_parse_dt_node_utmi(struct device_node *dn,
+					 struct platform_device *pdev,
+					 struct tegra_ehci_platform_data *pdata)
+{
+	struct device *dev = &pdev->dev;
+	struct tegra_utmip_config *phy_config;
+	u32 val;
+
+	phy_config = devm_kzalloc(dev, sizeof(struct tegra_utmip_config),
+				  GFP_KERNEL);
+	if (!phy_config)
+		return -ENOMEM;
+
+	/* Copy default values. */
+	*phy_config = utmi_default;
+
+	/* Values can be overridden from their defaults. */
+	if (of_property_read_u32(dn, "nvidia,hssync-start-delay", &val) == 0)
+		phy_config->hssync_start_delay = val;
+
+	if (of_property_read_u32(dn, "nvidia,elastic-limit", &val) == 0)
+		phy_config->elastic_limit = val;
+
+	if (of_property_read_u32(dn, "nvidia,idle-wait-delay", &val) == 0)
+		phy_config->idle_wait_delay = val;
+
+	if (of_property_read_u32(dn, "nvidia,term-range-adj", &val) == 0)
+		phy_config->term_range_adj = val;
+
+	if (of_property_read_u32(dn, "nvidia,xcvr-setup", &val) == 0)
+		phy_config->xcvr_setup = val;
+
+	if (of_property_read_u32(dn, "nvidia,xcvr-lsfslew", &val) == 0)
+		phy_config->xcvr_lsfslew = val;
+
+	if (of_property_read_u32(dn, "nvidia,xcvr-lsrslew", &val) == 0)
+		phy_config->xcvr_lsrslew = val;
+
+	pdata->phy_config = phy_config;
+
+	return 0;
+}
+
+static int tegra_ehci_parse_dt_node_ulpi(struct device_node *dn,
+					 struct platform_device *pdev,
+					 struct tegra_ehci_platform_data *pdata)
+{
+	struct device *dev = &pdev->dev;
+	struct tegra_ulpi_config *phy_config;
+	u32 val;
+	char *sval;
+
+	phy_config = devm_kzalloc(dev, sizeof(struct tegra_ulpi_config),
+				  GFP_KERNEL);
+	if (!phy_config)
+		return -ENOMEM;
+
+	/* Copy default values. */
+	*phy_config = ulpi_default;
+
+	/* Values can be overridden from their defaults. */
+	if (of_property_read_u32(dn, "reset-gpio", &val) == 0)
+		phy_config->reset_gpio = val;
+
+	if (of_property_read_string(dn, "clk", &sval) == 0)
+		phy_config->clk = sval;
+
+	pdata->phy_config = phy_config;
+
+	return 0;
+}
+
+static struct tegra_ehci_platform_data *tegra_ehci_parse_dt_node(
+	struct device_node *dn,
+	struct platform_device *pdev)
+{
+	struct device *dev = &pdev->dev;
+	struct tegra_ehci_platform_data *pdata;
+	char *mode;
+	char *type;
+
+	pdata = devm_kzalloc(dev, sizeof(struct tegra_ehci_platform_data),
+			     GFP_KERNEL);
+	if (!pdata)
+		return NULL;
+
+	/* Default to host if this property is not present. */
+	if (of_property_read_string(dn, "dr-mode", &mode) != 0)
+		pdata->operating_mode = TEGRA_USB_HOST;
+	else if (strcmp(mode, "peripheral") == 0)
+		pdata->operating_mode = TEGRA_USB_DEVICE;
+	else if (strcmp(mode, "host") == 0)
+		pdata->operating_mode = TEGRA_USB_HOST;
+	else if (strcmp(mode, "otg") == 0)
+		pdata->operating_mode = TEGRA_USB_OTG;
+	else {
+		dev_err(dev, "Invalid dt property \"dr-mode\" value %s\n",
+			mode);
+		goto fail;
+	}
+
+	/* power-down-on-bus-suspend is only relevant if dr-mode is host. */
+	if (of_find_property(dn, "power-down-on-bus-suspend", NULL) != 0) {
+		if (pdata->operating_mode != TEGRA_USB_HOST) {
+			dev_err(dev, "The dt property "
+				     "\"power-down-on-bus-suspend\" "
+				     "is only valid when dr-mode is "
+				     "\"host\"\n");
+			goto fail;
+		}
+		pdata->power_down_on_bus_suspend = 1;
+	}
+
+	/* Default to utmi if this property is not present. */
+	if (of_property_read_string(dn, "phy-type", &type) != 0) {
+		if (tegra_ehci_parse_dt_node_utmi(dn, pdev, pdata))
+			goto fail;
+	} else if (strcmp(type, "utmi") == 0) {
+		if (tegra_ehci_parse_dt_node_utmi(dn, pdev, pdata))
+			goto fail;
+	} else if (strcmp(type, "ulpi") == 0) {
+		if (tegra_ehci_parse_dt_node_ulpi(dn, pdev, pdata))
+			goto fail;
+	} else {
+		dev_err(dev, "Invalid dt property \"type\" value %s\n", type);
+		goto fail;
+	}
+
+	return pdata;
+
+fail:
+	devm_kfree(dev, pdata);
+
+	return NULL;
+}
+#else
+static struct tegra_ehci_platform_data *tegra_ehci_parse_dt_node(
+	struct device_node *dn,
+	struct platform_device *pdev)
+{
+	return NULL;
+}
+#endif /* defined(CONFIG_OF) */
+
 static int tegra_ehci_probe(struct platform_device *pdev)
 {
 	struct resource *res;
+	struct device_node *dn = pdev->dev.of_node;
 	struct usb_hcd *hcd;
 	struct tegra_ehci_hcd *tegra;
 	struct tegra_ehci_platform_data *pdata;
@@ -584,8 +754,19 @@ static int tegra_ehci_probe(struct platform_device *pdev)
 	int irq;
 	int instance = pdev->id;
 
+	/*
+	 * See if there's any platform data passed via board files.
+	 * If there isn't, then allocate one and fill it by parsing
+	 * device tree node.
+	 */
 	pdata = pdev->dev.platform_data;
 	if (!pdata) {
+		pdata = tegra_ehci_parse_dt_node(dn, pdev);
+
+		pdev->dev.dma_mask = &tegra_ehci_dmamask;
+		pdev->dev.coherent_dma_mask = tegra_ehci_dmamask;
+	}
+	if (!pdata) {
 		dev_err(&pdev->dev, "Platform data missing\n");
 		return -EINVAL;
 	}
@@ -773,6 +954,12 @@ static void tegra_ehci_hcd_shutdown(struct platform_device *pdev)
 		hcd->driver->shutdown(hcd);
 }
 
+static const struct of_device_id tegra_ehci_of_match[] = {
+	{ .compatible = "nvidia,tegra20-ehci", },
+	{},
+};
+MODULE_DEVICE_TABLE(of, tegra_ehci_of_match);
+
 static struct platform_driver tegra_ehci_driver = {
 	.probe		= tegra_ehci_probe,
 	.remove		= tegra_ehci_remove,
@@ -783,5 +970,7 @@ static struct platform_driver tegra_ehci_driver = {
 	.shutdown	= tegra_ehci_hcd_shutdown,
 	.driver		= {
 		.name	= "tegra-ehci",
+		.owner	= THIS_MODULE,
+		.of_match_table = tegra_ehci_of_match,
 	}
 };
-- 
1.7.6


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

* [PATCH 2/3 v4] dt: tegra20: Add ehci host controller nodes.
  2011-07-21 21:17 ` achew
@ 2011-07-21 21:17     ` achew
  -1 siblings, 0 replies; 15+ messages in thread
From: achew-DDmLM1+adcrQT0dZR+AlfA @ 2011-07-21 21:17 UTC (permalink / raw)
  To: grant.likely-s3s/WqlpOiPyB63q8FvJNQ, olof-nZhT3qVonbNeoWH0uzbU5w,
	swarren-DDmLM1+adcrQT0dZR+AlfA,
	dwillemsen-DDmLM1+adcrQT0dZR+AlfA, rklein-DDmLM1+adcrQT0dZR+AlfA,
	mogantyv-DDmLM1+adcrQT0dZR+AlfA
  Cc: linux-tegra-u79uwXL29TY76Z2rM5mHXA,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA

From: Andrew Chew <achew-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

These values were derived from various headers in arch/arm/mach-tegra.

Signed-off-by: Andrew Chew <achew-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Acked-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Acked-by: Olof Johansson <olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org>
---
 arch/arm/boot/dts/tegra20.dtsi |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/arch/arm/boot/dts/tegra20.dtsi b/arch/arm/boot/dts/tegra20.dtsi
index 83fedf3..d51f887 100644
--- a/arch/arm/boot/dts/tegra20.dtsi
+++ b/arch/arm/boot/dts/tegra20.dtsi
@@ -160,5 +160,23 @@
 		interrupts = < 63 >;
 		status = "disabled";
 	};
+
+	ehci@c5000000 {
+		compatible = "nvidia,tegra20-ehci";
+		reg = <0xc5000000 0x4000>;
+		interrupts = < 52 >;
+	};
+
+	ehci@c5004000 {
+		compatible = "nvidia,tegra20-ehci";
+		reg = <0xc5004000 0x4000>;
+		interrupts = < 53 >;
+	};
+
+	ehci@c5008000 {
+		compatible = "nvidia,tegra20-ehci";
+		reg = <0xc5008000 0x4000>;
+		interrupts = < 129 >;
+	};
 };
 
-- 
1.7.6

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

* [PATCH 2/3 v4] dt: tegra20: Add ehci host controller nodes.
@ 2011-07-21 21:17     ` achew
  0 siblings, 0 replies; 15+ messages in thread
From: achew @ 2011-07-21 21:17 UTC (permalink / raw)
  To: grant.likely, olof, swarren, dwillemsen, rklein, mogantyv
  Cc: devicetree-discuss, linux-tegra, linux-usb, linux-kernel, Andrew Chew

From: Andrew Chew <achew@nvidia.com>

These values were derived from various headers in arch/arm/mach-tegra.

Signed-off-by: Andrew Chew <achew@nvidia.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Olof Johansson <olof@lixom.net>
---
 arch/arm/boot/dts/tegra20.dtsi |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/arch/arm/boot/dts/tegra20.dtsi b/arch/arm/boot/dts/tegra20.dtsi
index 83fedf3..d51f887 100644
--- a/arch/arm/boot/dts/tegra20.dtsi
+++ b/arch/arm/boot/dts/tegra20.dtsi
@@ -160,5 +160,23 @@
 		interrupts = < 63 >;
 		status = "disabled";
 	};
+
+	ehci@c5000000 {
+		compatible = "nvidia,tegra20-ehci";
+		reg = <0xc5000000 0x4000>;
+		interrupts = < 52 >;
+	};
+
+	ehci@c5004000 {
+		compatible = "nvidia,tegra20-ehci";
+		reg = <0xc5004000 0x4000>;
+		interrupts = < 53 >;
+	};
+
+	ehci@c5008000 {
+		compatible = "nvidia,tegra20-ehci";
+		reg = <0xc5008000 0x4000>;
+		interrupts = < 129 >;
+	};
 };
 
-- 
1.7.6


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

* [PATCH 3/3 v4] dt: tegra20: Add ehci overrides to Seaboard.
  2011-07-21 21:17 ` achew
@ 2011-07-21 21:17     ` achew
  -1 siblings, 0 replies; 15+ messages in thread
From: achew-DDmLM1+adcrQT0dZR+AlfA @ 2011-07-21 21:17 UTC (permalink / raw)
  To: grant.likely-s3s/WqlpOiPyB63q8FvJNQ, olof-nZhT3qVonbNeoWH0uzbU5w,
	swarren-DDmLM1+adcrQT0dZR+AlfA,
	dwillemsen-DDmLM1+adcrQT0dZR+AlfA, rklein-DDmLM1+adcrQT0dZR+AlfA,
	mogantyv-DDmLM1+adcrQT0dZR+AlfA
  Cc: linux-tegra-u79uwXL29TY76Z2rM5mHXA,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA

From: Andrew Chew <achew-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

Seaboard has different values for some of the utmi properties.

Signed-off-by: Andrew Chew <achew-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Acked-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Acked-by: Olof Johansson <olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org>
---
 arch/arm/boot/dts/tegra-seaboard.dts |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/arch/arm/boot/dts/tegra-seaboard.dts b/arch/arm/boot/dts/tegra-seaboard.dts
index 5a99b4c..adc000a 100644
--- a/arch/arm/boot/dts/tegra-seaboard.dts
+++ b/arch/arm/boot/dts/tegra-seaboard.dts
@@ -31,4 +31,21 @@
 	sdhci@c8000600 {
 		status = "ok";
 	};
+
+	ehci@c5000000 {
+		power-down-on-bus-suspend;
+		nvidia,hssync-start-delay = < 0 >;
+		nvidia,xcvr-setup = < 15 >;
+	};
+
+	ehci@c5004000 {
+		power-down-on-bus-suspend;
+		phy-type = "ulpi";
+	};
+
+	ehci@c5008000 {
+		power-down-on-bus-suspend;
+		nvidia,hssync-start-delay = < 0 >;
+		nvidia,xcvr-setup = < 8 >;
+	};
 };
-- 
1.7.6

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

* [PATCH 3/3 v4] dt: tegra20: Add ehci overrides to Seaboard.
@ 2011-07-21 21:17     ` achew
  0 siblings, 0 replies; 15+ messages in thread
From: achew @ 2011-07-21 21:17 UTC (permalink / raw)
  To: grant.likely, olof, swarren, dwillemsen, rklein, mogantyv
  Cc: devicetree-discuss, linux-tegra, linux-usb, linux-kernel, Andrew Chew

From: Andrew Chew <achew@nvidia.com>

Seaboard has different values for some of the utmi properties.

Signed-off-by: Andrew Chew <achew@nvidia.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Olof Johansson <olof@lixom.net>
---
 arch/arm/boot/dts/tegra-seaboard.dts |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/arch/arm/boot/dts/tegra-seaboard.dts b/arch/arm/boot/dts/tegra-seaboard.dts
index 5a99b4c..adc000a 100644
--- a/arch/arm/boot/dts/tegra-seaboard.dts
+++ b/arch/arm/boot/dts/tegra-seaboard.dts
@@ -31,4 +31,21 @@
 	sdhci@c8000600 {
 		status = "ok";
 	};
+
+	ehci@c5000000 {
+		power-down-on-bus-suspend;
+		nvidia,hssync-start-delay = < 0 >;
+		nvidia,xcvr-setup = < 15 >;
+	};
+
+	ehci@c5004000 {
+		power-down-on-bus-suspend;
+		phy-type = "ulpi";
+	};
+
+	ehci@c5008000 {
+		power-down-on-bus-suspend;
+		nvidia,hssync-start-delay = < 0 >;
+		nvidia,xcvr-setup = < 8 >;
+	};
 };
-- 
1.7.6


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

* Re: [PATCH 1/3 v4] usb: tegra20-ehci: Add devicetree support.
  2011-07-21 21:17 ` achew
@ 2011-07-21 21:27   ` Dan Willemsen
  -1 siblings, 0 replies; 15+ messages in thread
From: Dan Willemsen @ 2011-07-21 21:27 UTC (permalink / raw)
  To: Andrew Chew, grant.likely, olof, Stephen Warren, Rhyland Klein
  Cc: devicetree-discuss, linux-tegra, linux-usb, linux-kernel

On 7/21/11 2:17 PM, "Andrew Chew" <achew@nvidia.com> wrote:
>From: Andrew Chew <achew@nvidia.com>
>
>Add code to try to get platform data information (register base, irq,
>modes, various tuning parameters) from device tree, if not present in
>board
>files.

This patch no longer gets the register base or irq, just the modes and
tuning parameters.

- Dan Willemsen

>Signed-off-by: Andrew Chew <achew@nvidia.com>
>Acked-by: Stephen Warren <swarren@nvidia.com>
>---
>Applied Olof Johansson's comments:
>- Use direct assignment when copying default config structs.
>- Use __devinitdata for static default config structs.
>- Don't compile the default config structs if CONFIG_OF is disabled, to
>avoid
>  a warning.
>
> .../devicetree/bindings/usb/tegra20-ehci.txt       |   27 +++
> drivers/usb/host/ehci-tegra.c                      |  189
>++++++++++++++++++++
> 2 files changed, 216 insertions(+), 0 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/usb/tegra20-ehci.txt

--
nvpublic

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

* Re: [PATCH 1/3 v4] usb: tegra20-ehci: Add devicetree support.
@ 2011-07-21 21:27   ` Dan Willemsen
  0 siblings, 0 replies; 15+ messages in thread
From: Dan Willemsen @ 2011-07-21 21:27 UTC (permalink / raw)
  To: Andrew Chew, grant.likely, olof, Stephen Warren, Rhyland Klein,
	Venkat Moganty
  Cc: devicetree-discuss, linux-tegra, linux-usb, linux-kernel

On 7/21/11 2:17 PM, "Andrew Chew" <achew@nvidia.com> wrote:
>From: Andrew Chew <achew@nvidia.com>
>
>Add code to try to get platform data information (register base, irq,
>modes, various tuning parameters) from device tree, if not present in
>board
>files.

This patch no longer gets the register base or irq, just the modes and
tuning parameters.

- Dan Willemsen

>Signed-off-by: Andrew Chew <achew@nvidia.com>
>Acked-by: Stephen Warren <swarren@nvidia.com>
>---
>Applied Olof Johansson's comments:
>- Use direct assignment when copying default config structs.
>- Use __devinitdata for static default config structs.
>- Don't compile the default config structs if CONFIG_OF is disabled, to
>avoid
>  a warning.
>
> .../devicetree/bindings/usb/tegra20-ehci.txt       |   27 +++
> drivers/usb/host/ehci-tegra.c                      |  189
>++++++++++++++++++++
> 2 files changed, 216 insertions(+), 0 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/usb/tegra20-ehci.txt

--
nvpublic


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

* Re: [PATCH 1/3 v4] usb: tegra20-ehci: Add devicetree support.
  2011-07-21 21:17 ` achew
@ 2011-07-21 21:36     ` Olof Johansson
  -1 siblings, 0 replies; 15+ messages in thread
From: Olof Johansson @ 2011-07-21 21:36 UTC (permalink / raw)
  To: achew-DDmLM1+adcrQT0dZR+AlfA
  Cc: dwillemsen-DDmLM1+adcrQT0dZR+AlfA, rklein-DDmLM1+adcrQT0dZR+AlfA,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	mogantyv-DDmLM1+adcrQT0dZR+AlfA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ

On Thu, Jul 21, 2011 at 2:17 PM,  <achew-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> wrote:
> From: Andrew Chew <achew-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>
> Add code to try to get platform data information (register base, irq,
> modes, various tuning parameters) from device tree, if not present in board
> files.
>
> Signed-off-by: Andrew Chew <achew-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> Acked-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

Acked-by: Olof Johansson <olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org>


-Olof

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

* Re: [PATCH 1/3 v4] usb: tegra20-ehci: Add devicetree support.
@ 2011-07-21 21:36     ` Olof Johansson
  0 siblings, 0 replies; 15+ messages in thread
From: Olof Johansson @ 2011-07-21 21:36 UTC (permalink / raw)
  To: achew
  Cc: grant.likely, swarren, dwillemsen, rklein, mogantyv,
	devicetree-discuss, linux-tegra, linux-usb, linux-kernel

On Thu, Jul 21, 2011 at 2:17 PM,  <achew@nvidia.com> wrote:
> From: Andrew Chew <achew@nvidia.com>
>
> Add code to try to get platform data information (register base, irq,
> modes, various tuning parameters) from device tree, if not present in board
> files.
>
> Signed-off-by: Andrew Chew <achew@nvidia.com>
> Acked-by: Stephen Warren <swarren@nvidia.com>

Acked-by: Olof Johansson <olof@lixom.net>


-Olof

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

* RE: [PATCH 1/3 v4] usb: tegra20-ehci: Add devicetree support.
  2011-07-21 21:27   ` Dan Willemsen
@ 2011-07-21 21:43       ` Andrew Chew
  -1 siblings, 0 replies; 15+ messages in thread
From: Andrew Chew @ 2011-07-21 21:43 UTC (permalink / raw)
  To: Dan Willemsen, grant.likely-s3s/WqlpOiPyB63q8FvJNQ,
	olof-nZhT3qVonbNeoWH0uzbU5w, Stephen Warren
  Cc: linux-tegra-u79uwXL29TY76Z2rM5mHXA,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
	linux-usb-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA

> On 7/21/11 2:17 PM, "Andrew Chew" <achew-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> wrote:
> >From: Andrew Chew <achew-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
> >
> >Add code to try to get platform data information (register base, irq,
> >modes, various tuning parameters) from device tree, if not present in
> >board
> >files.
> 
> This patch no longer gets the register base or irq, just the modes and
> tuning parameters.
> 
> - Dan Willemsen

You're totally right, Dan.  Grant, would you mind fixing the commit message, if nothing else comes up?  Or would you prefer I send a new patchset out?

I suppose the commit message should just read:

Add code to try to get platform data information (modes, various tuning
parameters) from device tree, if not present in board files.

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

* RE: [PATCH 1/3 v4] usb: tegra20-ehci: Add devicetree support.
@ 2011-07-21 21:43       ` Andrew Chew
  0 siblings, 0 replies; 15+ messages in thread
From: Andrew Chew @ 2011-07-21 21:43 UTC (permalink / raw)
  To: Dan Willemsen, grant.likely, olof, Stephen Warren, Rhyland Klein,
	Venkat Moganty
  Cc: devicetree-discuss, linux-tegra, linux-usb, linux-kernel

> On 7/21/11 2:17 PM, "Andrew Chew" <achew@nvidia.com> wrote:
> >From: Andrew Chew <achew@nvidia.com>
> >
> >Add code to try to get platform data information (register base, irq,
> >modes, various tuning parameters) from device tree, if not present in
> >board
> >files.
> 
> This patch no longer gets the register base or irq, just the modes and
> tuning parameters.
> 
> - Dan Willemsen

You're totally right, Dan.  Grant, would you mind fixing the commit message, if nothing else comes up?  Or would you prefer I send a new patchset out?

I suppose the commit message should just read:

Add code to try to get platform data information (modes, various tuning
parameters) from device tree, if not present in board files.

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

* Re: [PATCH 1/3 v4] usb: tegra20-ehci: Add devicetree support.
  2011-07-21 21:17 ` achew
                   ` (2 preceding siblings ...)
  (?)
@ 2011-12-07  3:42 ` Jean-Christophe PLAGNIOL-VILLARD
  2011-12-07 17:08     ` Stephen Warren
  -1 siblings, 1 reply; 15+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2011-12-07  3:42 UTC (permalink / raw)
  To: achew
  Cc: grant.likely, olof, swarren, dwillemsen, rklein, mogantyv,
	linux-tegra, devicetree-discuss, linux-usb, linux-kernel

On 14:17 Thu 21 Jul     , achew@nvidia.com wrote:
> From: Andrew Chew <achew@nvidia.com>
> 
> Add code to try to get platform data information (register base, irq,
> modes, various tuning parameters) from device tree, if not present in board
> files.
> 
> Signed-off-by: Andrew Chew <achew@nvidia.com>
> Acked-by: Stephen Warren <swarren@nvidia.com>
> ---
> Applied Olof Johansson's comments:
> - Use direct assignment when copying default config structs.
> - Use __devinitdata for static default config structs.
> - Don't compile the default config structs if CONFIG_OF is disabled, to avoid
>   a warning.
> 
>  .../devicetree/bindings/usb/tegra20-ehci.txt       |   27 +++
>  drivers/usb/host/ehci-tegra.c                      |  189 ++++++++++++++++++++
>  2 files changed, 216 insertions(+), 0 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/usb/tegra20-ehci.txt
> 
> diff --git a/Documentation/devicetree/bindings/usb/tegra20-ehci.txt b/Documentation/devicetree/bindings/usb/tegra20-ehci.txt
> new file mode 100644
> index 0000000..315ea6e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/tegra20-ehci.txt
> @@ -0,0 +1,27 @@
> +NVIDIA Tegra20 SOC USB controllers
> +
> +The device node for a USB controller that is part of a Tegra20
> +SOC is as described in the document "Open Firmware Recommended
> +Practice: Universal Serial Bus" with the following modifications
> +and additions:
> +
> +Required properties:
> + - compatible: Should be "nvidia,tegra20-ehci".
> + - phy-type: Should be one of "utmi" or "ulpi".  Defaults to utmi.
> + - dr-mode: Should be one of "peripheral", "host", or "otg".  Defaults to host.
> + - power-down-on-bus-suspend: For host mode only.  If present, then
> +   the USB phy will power down when the host is suspended.
> +
> +Required properties for phy-type = "utmi".  These values are derived from
> +characterization by system engineering.
> + - nvidia,hssync-start-delay: Defaults to 9.
> + - nvidia,idle-wait-delay: Defaults to 17.
> + - nvidia,elastic-limit: Defaults to 16.
> + - nvidia,term-range-adj: Defaults to 6.
> + - nvidia,xcvr-setup: Defaults to 9.
> + - nvidia,xcvr-lsfslew: Defaults to 2.
> + - nvidia,xcvr-lsrslew: Defaults to 2.
> +
> +Required properties for phy-type = "ulpi":
> + - reset-gpio: The GPIO used to drive reset.  Defaults to 169.
> + - clk: Defaults to "cdev2".
> diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c
> index 02b2bfd..d7295eb 100644
> --- a/drivers/usb/host/ehci-tegra.c
> +++ b/drivers/usb/host/ehci-tegra.c
> @@ -21,10 +21,34 @@
>  #include <linux/platform_data/tegra_usb.h>
>  #include <linux/irq.h>
>  #include <linux/usb/otg.h>
> +#include <linux/of.h>
> +#include <linux/of_address.h>
> +#include <linux/of_irq.h>
> +#include <linux/of_platform.h>
> +
>  #include <mach/usb_phy.h>
>  
>  #define TEGRA_USB_DMA_ALIGN 32
>  
> +static u64 tegra_ehci_dmamask = DMA_BIT_MASK(TEGRA_USB_DMA_ALIGN);
I really does not like this
as the dmamask is supposed to be device specific

before we put it in the soc codewhich alow to have it generic

this need to be manage a DT level
	dmamask = <32>

or
	dmamask = <0xffffffff>

Best Regards,
J.

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

* RE: [PATCH 1/3 v4] usb: tegra20-ehci: Add devicetree support.
  2011-12-07  3:42 ` Jean-Christophe PLAGNIOL-VILLARD
@ 2011-12-07 17:08     ` Stephen Warren
  0 siblings, 0 replies; 15+ messages in thread
From: Stephen Warren @ 2011-12-07 17:08 UTC (permalink / raw)
  To: Jean-Christophe PLAGNIOL-VILLARD, Andrew Chew
  Cc: grant.likely, olof, Dan Willemsen, Rhyland Klein, Venkat Moganty,
	linux-tegra, devicetree-discuss, linux-usb, linux-kernel

Jean-Christophe PLAGNIOL-VILLARD wrote at Tuesday, December 06, 2011 8:42 PM:
> On 14:17 Thu 21 Jul     , achew@nvidia.com wrote:
> > From: Andrew Chew <achew@nvidia.com>
> >
> > Add code to try to get platform data information (register base, irq,
> > modes, various tuning parameters) from device tree, if not present in board
> > files.
...
> > +static u64 tegra_ehci_dmamask = DMA_BIT_MASK(TEGRA_USB_DMA_ALIGN);
> I really does not like this
> as the dmamask is supposed to be device specific
> 
> before we put it in the soc codewhich alow to have it generic
> 
> this need to be manage a DT level
> 	dmamask = <32>
> 
> or
> 	dmamask = <0xffffffff>

Jean-Christophe,

The patch you're replying to is very old; Olof has posted (and applied)
some basic USB bindings much more recently than the above.

-- 
nvpublic

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

* RE: [PATCH 1/3 v4] usb: tegra20-ehci: Add devicetree support.
@ 2011-12-07 17:08     ` Stephen Warren
  0 siblings, 0 replies; 15+ messages in thread
From: Stephen Warren @ 2011-12-07 17:08 UTC (permalink / raw)
  To: Jean-Christophe PLAGNIOL-VILLARD, Andrew Chew
  Cc: grant.likely, olof, Dan Willemsen, Rhyland Klein, Venkat Moganty,
	linux-tegra, devicetree-discuss, linux-usb, linux-kernel

Jean-Christophe PLAGNIOL-VILLARD wrote at Tuesday, December 06, 2011 8:42 PM:
> On 14:17 Thu 21 Jul     , achew@nvidia.com wrote:
> > From: Andrew Chew <achew@nvidia.com>
> >
> > Add code to try to get platform data information (register base, irq,
> > modes, various tuning parameters) from device tree, if not present in board
> > files.
...
> > +static u64 tegra_ehci_dmamask = DMA_BIT_MASK(TEGRA_USB_DMA_ALIGN);
> I really does not like this
> as the dmamask is supposed to be device specific
> 
> before we put it in the soc codewhich alow to have it generic
> 
> this need to be manage a DT level
> 	dmamask = <32>
> 
> or
> 	dmamask = <0xffffffff>

Jean-Christophe,

The patch you're replying to is very old; Olof has posted (and applied)
some basic USB bindings much more recently than the above.

-- 
nvpublic


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

end of thread, other threads:[~2011-12-07 17:08 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-21 21:17 [PATCH 1/3 v4] usb: tegra20-ehci: Add devicetree support achew
2011-07-21 21:17 ` achew
2011-07-21 21:27 ` Dan Willemsen
2011-07-21 21:27   ` Dan Willemsen
     [not found]   ` <CA4DE74D.50C07%dwillemsen-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-07-21 21:43     ` Andrew Chew
2011-07-21 21:43       ` Andrew Chew
     [not found] ` <1311283067-18952-1-git-send-email-achew-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-07-21 21:17   ` [PATCH 2/3 v4] dt: tegra20: Add ehci host controller nodes achew-DDmLM1+adcrQT0dZR+AlfA
2011-07-21 21:17     ` achew
2011-07-21 21:17   ` [PATCH 3/3 v4] dt: tegra20: Add ehci overrides to Seaboard achew-DDmLM1+adcrQT0dZR+AlfA
2011-07-21 21:17     ` achew
2011-07-21 21:36   ` [PATCH 1/3 v4] usb: tegra20-ehci: Add devicetree support Olof Johansson
2011-07-21 21:36     ` Olof Johansson
2011-12-07  3:42 ` Jean-Christophe PLAGNIOL-VILLARD
2011-12-07 17:08   ` Stephen Warren
2011-12-07 17:08     ` Stephen Warren

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.