All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v4 00/11] Add support for DM_USB for TI's DRA7 EVMs and AM57 EVMs platforms
@ 2018-04-12  8:41 Jean-Jacques Hiblot
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 01/11] usb: dwc3-of-simple: Fix dependencies Jean-Jacques Hiblot
                   ` (11 more replies)
  0 siblings, 12 replies; 16+ messages in thread
From: Jean-Jacques Hiblot @ 2018-04-12  8:41 UTC (permalink / raw)
  To: u-boot

Supporting DM USB is required to support DM_ETH and USB network adapters
with the same binary.
This series adds support for DM_USB for the DRA7/AM57 families. As a bonus
it adds support for USB3.

This series applies on the usb tree with the following fixes:
-[PATCH] reset: fix bulk API when DM_RESET is disabled
-[PATCH] usb: dwc3-of-simple: fix error check of clk_get_bulk when disabled

limitation:
- only Host mode is supported. The Device mode can be added later.

Tested on:
- dra7 evm
- dra71 evm
- dra72 evm
- dra72 evm rev C
- dra76 evm
- AM572 evm

Changes in v4:
- Fix word missing in commit log
- Remove dependency on MISC
- Renamed the commit "configs: enable DM_USB for all the platforms of the DRA7 family"
- Remove omap specific glue layer and use dwc3-of-simple glue layer

Changes in v3:
- in syscon_regmap_lookup_by_phandle(), use dev_dbg() instead of printf()
- added unit test for syscon_regmap_lookup_by_phandle()

Changes in v2:
- Add USB3 support to ti-pipe3-phy driver
- omap-usb2-phy: Implement power_on and power_off callbacks
- am57xx boards: when DM_USB is used, turn on the required USB clocks
- split dts changes in 2 commits: one for binding the children of
  ocp2scp at 4a080000, and one to disable USB1  on all DRA7 EVMs
- Instead of disabling USB1 port in dts files, use *-u-boot.dtsi files
- Enable DM_USB in am57xx_evm_defconfig. USB3 (super speed) is supported.

Jean-Jacques Hiblot (9):
  usb: dwc3-of-simple: Fix dependencies
  usb: dwc3-of-simple: Add support for DRA7/AM57 platforms.
  syscon: dm: Add a new method to get a regmap from DTS
  phy: Add a new driver for OMAP's USB2 PHYs
  board: ti: dra7xx-evm: turn on USB clocks in late init stage
  dts: dra7x: make ocp2scp at 4a080000 compatible with simple-bus
  dts: dra7x: Disable USB1 on all evms
  configs: enable OMAP_USB2_PHY for all DRA7 platforms
  configs: am57xx_evm: Enable DM_USB and dependencies

Vignesh R (2):
  phy: ti-pip3-phy: Add support for USB3 PHY
  board; ti: am57xx: turn on USB clocks

 arch/arm/dts/dra7-evm-u-boot.dtsi       |   8 ++
 arch/arm/dts/dra71-evm-u-boot.dtsi      |   9 ++
 arch/arm/dts/dra72-evm-revc-u-boot.dtsi |   8 ++
 arch/arm/dts/dra72-evm-u-boot.dtsi      |  22 ++++
 arch/arm/dts/dra76-evm-u-boot.dtsi      |   9 ++
 arch/arm/dts/omap5-u-boot.dtsi          |   4 +
 arch/sandbox/dts/test.dts               |   6 +-
 board/ti/am57xx/board.c                 |  19 ++++
 board/ti/dra7xx/evm.c                   |  19 ++++
 configs/am57xx_evm_defconfig            |   4 +
 configs/dra7xx_evm_defconfig            |   1 +
 configs/dra7xx_hs_evm_defconfig         |   1 +
 drivers/core/syscon-uclass.c            |  23 ++++
 drivers/phy/Kconfig                     |   8 ++
 drivers/phy/Makefile                    |   1 +
 drivers/phy/omap-usb2-phy.c             | 196 ++++++++++++++++++++++++++++++++
 drivers/phy/ti-pipe3-phy.c              |  30 +++--
 drivers/usb/host/Kconfig                |   3 +-
 drivers/usb/host/dwc3-of-simple.c       |   1 +
 include/syscon.h                        |  13 +++
 test/dm/syscon.c                        |  29 +++++
 21 files changed, 404 insertions(+), 10 deletions(-)
 create mode 100644 arch/arm/dts/dra72-evm-u-boot.dtsi
 create mode 100644 drivers/phy/omap-usb2-phy.c

-- 
2.7.4

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

* [U-Boot] [PATCH v4 01/11] usb: dwc3-of-simple: Fix dependencies
  2018-04-12  8:41 [U-Boot] [PATCH v4 00/11] Add support for DM_USB for TI's DRA7 EVMs and AM57 EVMs platforms Jean-Jacques Hiblot
@ 2018-04-12  8:41 ` Jean-Jacques Hiblot
  2018-04-12  8:47   ` Marek Vasut
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 02/11] usb: dwc3-of-simple: Add support for DRA7/AM57 platforms Jean-Jacques Hiblot
                   ` (10 subsequent siblings)
  11 siblings, 1 reply; 16+ messages in thread
From: Jean-Jacques Hiblot @ 2018-04-12  8:41 UTC (permalink / raw)
  To: u-boot

This simple glue layer does not require CONFIG_MISC, but it does require
CONFIG_DM_USB.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
---

Changes in v4: None
Changes in v3: None
Changes in v2: None

 drivers/usb/host/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 6caa615..6ea9621 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -23,7 +23,7 @@ config USB_XHCI_DWC3
 
 config USB_XHCI_DWC3_OF_SIMPLE
 	bool "DesignWare USB3 DRD Generic OF Simple Glue Layer"
-	select MISC
+	depends on DM_USB
 	help
 	  Support USB2/3 functionality in simple SoC integrations with
 	  USB controller based on the DesignWare USB3 IP Core.
-- 
2.7.4

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

* [U-Boot] [PATCH v4 02/11] usb: dwc3-of-simple: Add support for DRA7/AM57 platforms.
  2018-04-12  8:41 [U-Boot] [PATCH v4 00/11] Add support for DM_USB for TI's DRA7 EVMs and AM57 EVMs platforms Jean-Jacques Hiblot
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 01/11] usb: dwc3-of-simple: Fix dependencies Jean-Jacques Hiblot
@ 2018-04-12  8:41 ` Jean-Jacques Hiblot
  2018-04-12  8:47   ` Marek Vasut
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 03/11] syscon: dm: Add a new method to get a regmap from DTS Jean-Jacques Hiblot
                   ` (9 subsequent siblings)
  11 siblings, 1 reply; 16+ messages in thread
From: Jean-Jacques Hiblot @ 2018-04-12  8:41 UTC (permalink / raw)
  To: u-boot

Add the compatibility with "ti,dwc3" and enable it by default if DM_USB
is enabled.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
---

Changes in v4: None
Changes in v3: None
Changes in v2: None

 drivers/usb/host/Kconfig          | 1 +
 drivers/usb/host/dwc3-of-simple.c | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 6ea9621..3455e81 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -24,6 +24,7 @@ config USB_XHCI_DWC3
 config USB_XHCI_DWC3_OF_SIMPLE
 	bool "DesignWare USB3 DRD Generic OF Simple Glue Layer"
 	depends on DM_USB
+	default y if DRA7XX
 	help
 	  Support USB2/3 functionality in simple SoC integrations with
 	  USB controller based on the DesignWare USB3 IP Core.
diff --git a/drivers/usb/host/dwc3-of-simple.c b/drivers/usb/host/dwc3-of-simple.c
index 54a5f60..abc3928 100644
--- a/drivers/usb/host/dwc3-of-simple.c
+++ b/drivers/usb/host/dwc3-of-simple.c
@@ -95,6 +95,7 @@ static int dwc3_of_simple_remove(struct udevice *dev)
 
 static const struct udevice_id dwc3_of_simple_ids[] = {
 	{ .compatible = "amlogic,meson-gxl-dwc3" },
+	{ .compatible = "ti,dwc3" },
 	{ }
 };
 
-- 
2.7.4

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

* [U-Boot] [PATCH v4 03/11] syscon: dm: Add a new method to get a regmap from DTS
  2018-04-12  8:41 [U-Boot] [PATCH v4 00/11] Add support for DM_USB for TI's DRA7 EVMs and AM57 EVMs platforms Jean-Jacques Hiblot
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 01/11] usb: dwc3-of-simple: Fix dependencies Jean-Jacques Hiblot
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 02/11] usb: dwc3-of-simple: Add support for DRA7/AM57 platforms Jean-Jacques Hiblot
@ 2018-04-12  8:41 ` Jean-Jacques Hiblot
  2018-05-04 21:38   ` Simon Glass
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 04/11] phy: ti-pip3-phy: Add support for USB3 PHY Jean-Jacques Hiblot
                   ` (8 subsequent siblings)
  11 siblings, 1 reply; 16+ messages in thread
From: Jean-Jacques Hiblot @ 2018-04-12  8:41 UTC (permalink / raw)
  To: u-boot

syscon_regmap_lookup_by_phandle() can be used to get the regmap of a syscon
device from a reference in the DTS. It operates similarly to the linux
version of the namesake function.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>

---

Changes in v4:
- Fix word missing in commit log

Changes in v3:
- in syscon_regmap_lookup_by_phandle(), use dev_dbg() instead of printf()
- added unit test for syscon_regmap_lookup_by_phandle()

Changes in v2: None

 arch/sandbox/dts/test.dts    |  6 ++++--
 drivers/core/syscon-uclass.c | 23 +++++++++++++++++++++++
 include/syscon.h             | 13 +++++++++++++
 test/dm/syscon.c             | 29 +++++++++++++++++++++++++++++
 4 files changed, 69 insertions(+), 2 deletions(-)

diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts
index 06d0e8c..369002e 100644
--- a/arch/sandbox/dts/test.dts
+++ b/arch/sandbox/dts/test.dts
@@ -311,6 +311,8 @@
 
 		test4 {
 			compatible = "denx,u-boot-probe-test";
+			first-syscon = <&syscon0>;
+			second-sys-ctrl = <&another_system_controller>;
 		};
 	};
 
@@ -380,12 +382,12 @@
 		};
 	};
 
-	syscon at 0 {
+	syscon0: syscon at 0 {
 		compatible = "sandbox,syscon0";
 		reg = <0x10 4>;
 	};
 
-	syscon at 1 {
+	another_system_controller: syscon at 1 {
 		compatible = "sandbox,syscon1";
 		reg = <0x20 5
 			0x28 6
diff --git a/drivers/core/syscon-uclass.c b/drivers/core/syscon-uclass.c
index a69937e..739fddd 100644
--- a/drivers/core/syscon-uclass.c
+++ b/drivers/core/syscon-uclass.c
@@ -45,6 +45,29 @@ static int syscon_pre_probe(struct udevice *dev)
 #endif
 }
 
+struct regmap *syscon_regmap_lookup_by_phandle(struct udevice *dev,
+					       const char *name)
+{
+	struct udevice *syscon;
+	struct regmap *r;
+	int err;
+
+	err = uclass_get_device_by_phandle(UCLASS_SYSCON, dev,
+					   name, &syscon);
+	if (err) {
+		dev_dbg(dev, "unable to find syscon device\n");
+		return ERR_PTR(err);
+	}
+
+	r = syscon_get_regmap(syscon);
+	if (!r) {
+		dev_dbg(dev, "unable to find regmap\n");
+		return ERR_PTR(-ENODEV);
+	}
+
+	return r;
+}
+
 int syscon_get_by_driver_data(ulong driver_data, struct udevice **devp)
 {
 	struct udevice *dev;
diff --git a/include/syscon.h b/include/syscon.h
index 5d52b1c..23d257a 100644
--- a/include/syscon.h
+++ b/include/syscon.h
@@ -74,6 +74,19 @@ int syscon_get_by_driver_data(ulong driver_data, struct udevice **devp);
 struct regmap *syscon_get_regmap_by_driver_data(ulong driver_data);
 
 /**
+ * syscon_regmap_lookup_by_phandle() - Look up a controller by a phandle
+ *
+ * This operates by looking up the given name in the device (device
+ * tree property) of the device using the system controller.
+ *
+ * @dev:	Device using the system controller
+ * @name:	Name of property referring to the system controller
+ * @return	A pointer to the regmap if found, ERR_PTR(-ve) on error
+ */
+struct regmap *syscon_regmap_lookup_by_phandle(struct udevice *dev,
+					       const char *name);
+
+/**
  * syscon_get_first_range() - get the first memory range from a syscon regmap
  *
  * @driver_data:	Driver data value to look up
diff --git a/test/dm/syscon.c b/test/dm/syscon.c
index c40f5fc..6f93e63 100644
--- a/test/dm/syscon.c
+++ b/test/dm/syscon.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <dm.h>
 #include <syscon.h>
+#include <regmap.h>
 #include <asm/test.h>
 #include <dm/test.h>
 #include <test/ut.h>
@@ -46,3 +47,31 @@ static int dm_test_syscon_by_driver_data(struct unit_test_state *uts)
 	return 0;
 }
 DM_TEST(dm_test_syscon_by_driver_data, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT);
+
+/* Test system controller by phandle */
+static int dm_test_syscon_by_phandle(struct unit_test_state *uts)
+{
+	struct udevice *dev;
+	struct regmap *map;
+
+	ut_assertok(uclass_get_device_by_name(UCLASS_TEST_PROBE, "test4",
+					      &dev));
+	if (!dev || IS_ERR(dev))
+		return -ENODEV;
+
+	ut_assertok_ptr(syscon_regmap_lookup_by_phandle(dev, "first-syscon"));
+	map = syscon_regmap_lookup_by_phandle(dev, "first-syscon");
+	if (map && !IS_ERR(map))
+		ut_asserteq(1, map->range_count);
+
+	ut_assertok_ptr(syscon_regmap_lookup_by_phandle(dev,
+							"second-sys-ctrl"));
+	map = syscon_regmap_lookup_by_phandle(dev, "second-sys-controller");
+	if (map && !IS_ERR(map))
+		ut_asserteq(4, map->range_count);
+
+	ut_assert(IS_ERR(syscon_regmap_lookup_by_phandle(dev, "not-present")));
+
+	return 0;
+}
+DM_TEST(dm_test_syscon_by_phandle, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT);
-- 
2.7.4

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

* [U-Boot] [PATCH v4 04/11] phy: ti-pip3-phy: Add support for USB3 PHY
  2018-04-12  8:41 [U-Boot] [PATCH v4 00/11] Add support for DM_USB for TI's DRA7 EVMs and AM57 EVMs platforms Jean-Jacques Hiblot
                   ` (2 preceding siblings ...)
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 03/11] syscon: dm: Add a new method to get a regmap from DTS Jean-Jacques Hiblot
@ 2018-04-12  8:41 ` Jean-Jacques Hiblot
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 05/11] phy: Add a new driver for OMAP's USB2 PHYs Jean-Jacques Hiblot
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 16+ messages in thread
From: Jean-Jacques Hiblot @ 2018-04-12  8:41 UTC (permalink / raw)
  To: u-boot

From: Vignesh R <vigneshr@ti.com>

Add support to handle USB3 PHYs present on AM57xx/DRA7xx SoCs. This is
needed to move AM57xx to DM_USB.

Signed-off-by: Vignesh R <vigneshr@ti.com>

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
---

Changes in v4: None
Changes in v3: None
Changes in v2:
- Add USB3 support to ti-pipe3-phy driver

 drivers/phy/ti-pipe3-phy.c | 30 +++++++++++++++++++++++-------
 1 file changed, 23 insertions(+), 7 deletions(-)

diff --git a/drivers/phy/ti-pipe3-phy.c b/drivers/phy/ti-pipe3-phy.c
index babf2ff..9fddd01 100644
--- a/drivers/phy/ti-pipe3-phy.c
+++ b/drivers/phy/ti-pipe3-phy.c
@@ -266,10 +266,13 @@ static int pipe3_exit(struct phy *phy)
 		return -EBUSY;
 	}
 
-	val = readl(pipe3->pll_reset_reg);
-	writel(val | SATA_PLL_SOFT_RESET, pipe3->pll_reset_reg);
-	mdelay(1);
-	writel(val & ~SATA_PLL_SOFT_RESET, pipe3->pll_reset_reg);
+	if (pipe3->pll_reset_reg) {
+		val = readl(pipe3->pll_reset_reg);
+		writel(val | SATA_PLL_SOFT_RESET, pipe3->pll_reset_reg);
+		mdelay(1);
+		writel(val & ~SATA_PLL_SOFT_RESET, pipe3->pll_reset_reg);
+	}
+
 	return 0;
 }
 
@@ -332,9 +335,11 @@ static int pipe3_phy_probe(struct udevice *dev)
 	if (!pipe3->power_reg)
 		return -EINVAL;
 
-	pipe3->pll_reset_reg = get_reg(dev, "syscon-pllreset");
-	if (!pipe3->pll_reset_reg)
-		return -EINVAL;
+	if (device_is_compatible(dev, "ti,phy-pipe3-sata")) {
+		pipe3->pll_reset_reg = get_reg(dev, "syscon-pllreset");
+		if (!pipe3->pll_reset_reg)
+			return -EINVAL;
+	}
 
 	pipe3->dpll_map = (struct pipe3_dpll_map *)dev_get_driver_data(dev);
 
@@ -351,8 +356,19 @@ static struct pipe3_dpll_map dpll_map_sata[] = {
 	{ },                                    /* Terminator */
 };
 
+static struct pipe3_dpll_map dpll_map_usb[] = {
+	{12000000, {1250, 5, 4, 20, 0} },	/* 12 MHz */
+	{16800000, {3125, 20, 4, 20, 0} },	/* 16.8 MHz */
+	{19200000, {1172, 8, 4, 20, 65537} },	/* 19.2 MHz */
+	{20000000, {1000, 7, 4, 10, 0} },	/* 20 MHz */
+	{26000000, {1250, 12, 4, 20, 0} },	/* 26 MHz */
+	{38400000, {3125, 47, 4, 20, 92843} },	/* 38.4 MHz */
+	{ },					/* Terminator */
+};
+
 static const struct udevice_id pipe3_phy_ids[] = {
 	{ .compatible = "ti,phy-pipe3-sata", .data = (ulong)&dpll_map_sata },
+	{ .compatible = "ti,omap-usb3", .data = (ulong)&dpll_map_usb},
 	{ }
 };
 
-- 
2.7.4

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

* [U-Boot] [PATCH v4 05/11] phy: Add a new driver for OMAP's USB2 PHYs
  2018-04-12  8:41 [U-Boot] [PATCH v4 00/11] Add support for DM_USB for TI's DRA7 EVMs and AM57 EVMs platforms Jean-Jacques Hiblot
                   ` (3 preceding siblings ...)
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 04/11] phy: ti-pip3-phy: Add support for USB3 PHY Jean-Jacques Hiblot
@ 2018-04-12  8:41 ` Jean-Jacques Hiblot
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 06/11] board: ti: dra7xx-evm: turn on USB clocks in late init stage Jean-Jacques Hiblot
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 16+ messages in thread
From: Jean-Jacques Hiblot @ 2018-04-12  8:41 UTC (permalink / raw)
  To: u-boot

This drivers supports the USB2 PHY found on omap5 and dra7 SOCs.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>

---

Changes in v4: None
Changes in v3: None
Changes in v2:
- omap-usb2-phy: Implement power_on and power_off callbacks

 drivers/phy/Kconfig         |   8 ++
 drivers/phy/Makefile        |   1 +
 drivers/phy/omap-usb2-phy.c | 196 ++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 205 insertions(+)
 create mode 100644 drivers/phy/omap-usb2-phy.c

diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
index 119edec..ed2b0a8 100644
--- a/drivers/phy/Kconfig
+++ b/drivers/phy/Kconfig
@@ -118,4 +118,12 @@ config MESON_GXL_USB_PHY
 	  This is the generic phy driver for the Amlogic Meson GXL
 	  USB2 and USB3 PHYS.
 
+config OMAP_USB2_PHY
+	bool "Support OMAP's USB2 PHY"
+	depends on PHY
+	depends on SYSCON
+	help
+	  Support for the OMAP's USB2 PHY.
+	  This PHY is found on OMAP devices supporting USB2.
+
 endmenu
diff --git a/drivers/phy/Makefile b/drivers/phy/Makefile
index 72c1492..d440e59 100644
--- a/drivers/phy/Makefile
+++ b/drivers/phy/Makefile
@@ -15,3 +15,4 @@ obj-$(CONFIG_PHY_SANDBOX) += sandbox-phy.o
 obj-$(CONFIG_$(SPL_)PIPE3_PHY) += ti-pipe3-phy.o
 obj-$(CONFIG_STI_USB_PHY) += sti_usb_phy.o
 obj-$(CONFIG_MESON_GXL_USB_PHY) += meson-gxl-usb2.o meson-gxl-usb3.o
+obj-$(CONFIG_OMAP_USB2_PHY) += omap-usb2-phy.o
diff --git a/drivers/phy/omap-usb2-phy.c b/drivers/phy/omap-usb2-phy.c
new file mode 100644
index 0000000..671539b
--- /dev/null
+++ b/drivers/phy/omap-usb2-phy.c
@@ -0,0 +1,196 @@
+/*
+ * OMAP USB2 PHY LAYER
+ * Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
+ * Written by Jean-Jacques Hiblot  <jjhiblot@ti.com>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <dm.h>
+#include <errno.h>
+#include <generic-phy.h>
+#include <regmap.h>
+#include <syscon.h>
+
+#define OMAP_USB2_CALIBRATE_FALSE_DISCONNECT	BIT(0)
+
+#define OMAP_DEV_PHY_PD		BIT(0)
+#define OMAP_USB2_PHY_PD	BIT(28)
+
+#define USB2PHY_DISCON_BYP_LATCH	BIT(31)
+#define USB2PHY_ANA_CONFIG1		(0x4c)
+
+DECLARE_GLOBAL_DATA_PTR;
+
+struct omap_usb2_phy {
+	struct regmap *pwr_regmap;
+	ulong flags;
+	void *phy_base;
+	u32 pwr_reg_offset;
+};
+
+struct usb_phy_data {
+	const char *label;
+	u8 flags;
+	u32 mask;
+	u32 power_on;
+	u32 power_off;
+};
+
+static const struct usb_phy_data omap5_usb2_data = {
+	.label = "omap5_usb2",
+	.flags = 0,
+	.mask = OMAP_DEV_PHY_PD,
+	.power_off = OMAP_DEV_PHY_PD,
+};
+
+static const struct usb_phy_data dra7x_usb2_data = {
+	.label = "dra7x_usb2",
+	.flags = OMAP_USB2_CALIBRATE_FALSE_DISCONNECT,
+	.mask = OMAP_DEV_PHY_PD,
+	.power_off = OMAP_DEV_PHY_PD,
+};
+
+static const struct usb_phy_data dra7x_usb2_phy2_data = {
+	.label = "dra7x_usb2_phy2",
+	.flags = OMAP_USB2_CALIBRATE_FALSE_DISCONNECT,
+	.mask = OMAP_USB2_PHY_PD,
+	.power_off = OMAP_USB2_PHY_PD,
+};
+
+static const struct udevice_id omap_usb2_id_table[] = {
+	{
+		.compatible = "ti,omap5-usb2",
+		.data = (ulong)&omap5_usb2_data,
+	},
+	{
+		.compatible = "ti,dra7x-usb2",
+		.data = (ulong)&dra7x_usb2_data,
+	},
+	{
+		.compatible = "ti,dra7x-usb2-phy2",
+		.data = (ulong)&dra7x_usb2_phy2_data,
+	},
+	{},
+};
+
+static int omap_usb_phy_power(struct phy *usb_phy, bool on)
+{
+	struct udevice *dev = usb_phy->dev;
+	const struct usb_phy_data *data;
+	const struct omap_usb2_phy *phy = dev_get_priv(dev);
+	u32 val;
+	int rc;
+
+	data = (const struct usb_phy_data *)dev_get_driver_data(dev);
+	if (!data)
+		return -EINVAL;
+
+	rc = regmap_read(phy->pwr_regmap, phy->pwr_reg_offset, &val);
+	if (rc)
+		return rc;
+	val &= ~data->mask;
+	if (on)
+		val |= data->power_on;
+	else
+		val |= data->power_off;
+	rc = regmap_write(phy->pwr_regmap, phy->pwr_reg_offset, val);
+	if (rc)
+		return rc;
+
+	return 0;
+}
+
+static int omap_usb2_phy_init(struct phy *usb_phy)
+{
+	struct udevice *dev = usb_phy->dev;
+	struct omap_usb2_phy *priv = dev_get_priv(dev);
+	u32 val;
+
+	if (priv->flags & OMAP_USB2_CALIBRATE_FALSE_DISCONNECT) {
+		/*
+		 *
+		 * Reduce the sensitivity of internal PHY by enabling the
+		 * DISCON_BYP_LATCH of the USB2PHY_ANA_CONFIG1 register. This
+		 * resolves issues with certain devices which can otherwise
+		 * be prone to false disconnects.
+		 *
+		 */
+		val = readl(priv->phy_base + USB2PHY_ANA_CONFIG1);
+		val |= USB2PHY_DISCON_BYP_LATCH;
+		writel(val, priv->phy_base + USB2PHY_ANA_CONFIG1);
+	}
+
+	return 0;
+}
+
+static int omap_usb2_phy_power_on(struct phy *usb_phy)
+{
+	return omap_usb_phy_power(usb_phy, true);
+}
+
+static int omap_usb2_phy_power_off(struct phy *usb_phy)
+{
+	return omap_usb_phy_power(usb_phy, false);
+}
+
+static int omap_usb2_phy_exit(struct phy *usb_phy)
+{
+	return omap_usb_phy_power(usb_phy, false);
+}
+
+struct phy_ops omap_usb2_phy_ops = {
+	.init = omap_usb2_phy_init,
+	.power_on = omap_usb2_phy_power_on,
+	.power_off = omap_usb2_phy_power_off,
+	.exit = omap_usb2_phy_exit,
+};
+
+int omap_usb2_phy_probe(struct udevice *dev)
+{
+	int rc;
+	struct regmap *regmap;
+	struct omap_usb2_phy *priv = dev_get_priv(dev);
+	const struct usb_phy_data *data;
+	u32 tmp[2];
+
+	data = (const struct usb_phy_data *)dev_get_driver_data(dev);
+	if (!data)
+		return -EINVAL;
+
+	if (data->flags & OMAP_USB2_CALIBRATE_FALSE_DISCONNECT) {
+		u32 base = dev_read_addr(dev);
+
+		if (base == FDT_ADDR_T_NONE)
+			return -EINVAL;
+		priv->phy_base = (void *)base;
+		priv->flags |= OMAP_USB2_CALIBRATE_FALSE_DISCONNECT;
+	}
+
+	regmap = syscon_regmap_lookup_by_phandle(dev, "syscon-phy-power");
+	if (IS_ERR(regmap)) {
+		printf("can't get regmap (err %ld)\n", PTR_ERR(regmap));
+		return PTR_ERR(regmap);
+	}
+	priv->pwr_regmap = regmap;
+
+	rc =  dev_read_u32_array(dev, "syscon-phy-power", tmp, 2);
+	if (rc) {
+		printf("couldn't get power reg. offset (err %d)\n", rc);
+		return rc;
+	}
+	priv->pwr_reg_offset = tmp[1];
+
+	return 0;
+}
+
+U_BOOT_DRIVER(omap_usb2_phy) = {
+	.name = "omap_usb2_phy",
+	.id = UCLASS_PHY,
+	.of_match = omap_usb2_id_table,
+	.probe = omap_usb2_phy_probe,
+	.ops = &omap_usb2_phy_ops,
+	.priv_auto_alloc_size = sizeof(struct omap_usb2_phy),
+};
-- 
2.7.4

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

* [U-Boot] [PATCH v4 06/11] board: ti: dra7xx-evm: turn on USB clocks in late init stage
  2018-04-12  8:41 [U-Boot] [PATCH v4 00/11] Add support for DM_USB for TI's DRA7 EVMs and AM57 EVMs platforms Jean-Jacques Hiblot
                   ` (4 preceding siblings ...)
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 05/11] phy: Add a new driver for OMAP's USB2 PHYs Jean-Jacques Hiblot
@ 2018-04-12  8:41 ` Jean-Jacques Hiblot
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 07/11] board; ti: am57xx: turn on USB clocks Jean-Jacques Hiblot
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 16+ messages in thread
From: Jean-Jacques Hiblot @ 2018-04-12  8:41 UTC (permalink / raw)
  To: u-boot

For USB ports that use the Driver Model, turn on the clocks during the
late init stage.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
---

Changes in v4: None
Changes in v3: None
Changes in v2: None

 board/ti/dra7xx/evm.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/board/ti/dra7xx/evm.c b/board/ti/dra7xx/evm.c
index 06f061c..c1e1b8e 100644
--- a/board/ti/dra7xx/evm.c
+++ b/board/ti/dra7xx/evm.c
@@ -647,6 +647,19 @@ int dram_init_banksize(void)
 	return 0;
 }
 
+#if CONFIG_IS_ENABLED(DM_USB) && CONFIG_IS_ENABLED(OF_CONTROL)
+static int device_okay(const char *path)
+{
+	int node;
+
+	node = fdt_path_offset(gd->fdt_blob, path);
+	if (node < 0)
+		return 0;
+
+	return fdtdec_get_is_enabled(gd->fdt_blob, node);
+}
+#endif
+
 int board_late_init(void)
 {
 #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
@@ -686,6 +699,12 @@ int board_late_init(void)
 	if (board_is_dra71x_evm())
 		palmas_i2c_write_u8(LP873X_I2C_SLAVE_ADDR, 0x9, 0x7);
 #endif
+#if CONFIG_IS_ENABLED(DM_USB) && CONFIG_IS_ENABLED(OF_CONTROL)
+	if (device_okay("/ocp/omap_dwc3_1 at 48880000"))
+		enable_usb_clocks(0);
+	if (device_okay("/ocp/omap_dwc3_2 at 488c0000"))
+		enable_usb_clocks(1);
+#endif
 	return 0;
 }
 
-- 
2.7.4

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

* [U-Boot] [PATCH v4 07/11] board; ti: am57xx: turn on USB clocks
  2018-04-12  8:41 [U-Boot] [PATCH v4 00/11] Add support for DM_USB for TI's DRA7 EVMs and AM57 EVMs platforms Jean-Jacques Hiblot
                   ` (5 preceding siblings ...)
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 06/11] board: ti: dra7xx-evm: turn on USB clocks in late init stage Jean-Jacques Hiblot
@ 2018-04-12  8:41 ` Jean-Jacques Hiblot
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 08/11] dts: dra7x: make ocp2scp@4a080000 compatible with simple-bus Jean-Jacques Hiblot
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 16+ messages in thread
From: Jean-Jacques Hiblot @ 2018-04-12  8:41 UTC (permalink / raw)
  To: u-boot

From: Vignesh R <vigneshr@ti.com>

Enable USB clocks in late init stage to support ports under DM_USB.

Signed-off-by: Vignesh R <vigneshr@ti.com>

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
---

Changes in v4: None
Changes in v3: None
Changes in v2:
- am57xx boards: when DM_USB is used, turn on the required USB clocks

 board/ti/am57xx/board.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c
index 5bd8778..cd53776 100644
--- a/board/ti/am57xx/board.c
+++ b/board/ti/am57xx/board.c
@@ -676,6 +676,19 @@ out:
 	return;
 }
 
+#if CONFIG_IS_ENABLED(DM_USB) && CONFIG_IS_ENABLED(OF_CONTROL)
+static int device_okay(const char *path)
+{
+	int node;
+
+	node = fdt_path_offset(gd->fdt_blob, path);
+	if (node < 0)
+		return 0;
+
+	return fdtdec_get_is_enabled(gd->fdt_blob, node);
+}
+#endif
+
 int board_late_init(void)
 {
 	setup_board_eeprom_env();
@@ -715,6 +728,12 @@ int board_late_init(void)
 	board_ti_set_ethaddr(2);
 #endif
 
+#if CONFIG_IS_ENABLED(DM_USB) && CONFIG_IS_ENABLED(OF_CONTROL)
+	if (device_okay("/ocp/omap_dwc3_1 at 48880000"))
+		enable_usb_clocks(0);
+	if (device_okay("/ocp/omap_dwc3_2 at 488c0000"))
+		enable_usb_clocks(1);
+#endif
 	return 0;
 }
 
-- 
2.7.4

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

* [U-Boot] [PATCH v4 08/11] dts: dra7x: make ocp2scp@4a080000 compatible with simple-bus
  2018-04-12  8:41 [U-Boot] [PATCH v4 00/11] Add support for DM_USB for TI's DRA7 EVMs and AM57 EVMs platforms Jean-Jacques Hiblot
                   ` (6 preceding siblings ...)
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 07/11] board; ti: am57xx: turn on USB clocks Jean-Jacques Hiblot
@ 2018-04-12  8:41 ` Jean-Jacques Hiblot
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 09/11] dts: dra7x: Disable USB1 on all evms Jean-Jacques Hiblot
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 16+ messages in thread
From: Jean-Jacques Hiblot @ 2018-04-12  8:41 UTC (permalink / raw)
  To: u-boot

This is required when DM_USB is used, to bind the USB phys.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>

---

Changes in v4: None
Changes in v3: None
Changes in v2:
- split dts changes in 2 commits: one for binding the children of
  ocp2scp at 4a080000, and one to disable USB1  on all DRA7 EVMs

 arch/arm/dts/omap5-u-boot.dtsi | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm/dts/omap5-u-boot.dtsi b/arch/arm/dts/omap5-u-boot.dtsi
index bf2684c..a6a7801 100644
--- a/arch/arm/dts/omap5-u-boot.dtsi
+++ b/arch/arm/dts/omap5-u-boot.dtsi
@@ -15,6 +15,10 @@
 	ocp {
 		u-boot,dm-spl;
 
+		ocp2scp at 4a080000 {
+			compatible = "ti,omap-ocp2scp", "simple-bus";
+		};
+
 		ocp2scp at 4a090000 {
 			compatible = "ti,omap-ocp2scp", "simple-bus";
 		};
-- 
2.7.4

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

* [U-Boot] [PATCH v4 09/11] dts: dra7x: Disable USB1 on all evms
  2018-04-12  8:41 [U-Boot] [PATCH v4 00/11] Add support for DM_USB for TI's DRA7 EVMs and AM57 EVMs platforms Jean-Jacques Hiblot
                   ` (7 preceding siblings ...)
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 08/11] dts: dra7x: make ocp2scp@4a080000 compatible with simple-bus Jean-Jacques Hiblot
@ 2018-04-12  8:41 ` Jean-Jacques Hiblot
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 10/11] configs: enable OMAP_USB2_PHY for all DRA7 platforms Jean-Jacques Hiblot
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 16+ messages in thread
From: Jean-Jacques Hiblot @ 2018-04-12  8:41 UTC (permalink / raw)
  To: u-boot

On all the EVMs featuring a SOC of the DRA7 family, the USB1 port is used
as a device for DFU. This port is managed by the platform code and must not
be advertised to the DWC3 DM driver.
This will be changed when/if support for the device mode is added to the
dwc3-omap driver.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>

---

Changes in v4: None
Changes in v3: None
Changes in v2:
- Instead of disabling USB1 port in dts files, use *-u-boot.dtsi files

 arch/arm/dts/dra7-evm-u-boot.dtsi       |  8 ++++++++
 arch/arm/dts/dra71-evm-u-boot.dtsi      |  9 +++++++++
 arch/arm/dts/dra72-evm-revc-u-boot.dtsi |  8 ++++++++
 arch/arm/dts/dra72-evm-u-boot.dtsi      | 22 ++++++++++++++++++++++
 arch/arm/dts/dra76-evm-u-boot.dtsi      |  9 +++++++++
 5 files changed, 56 insertions(+)
 create mode 100644 arch/arm/dts/dra72-evm-u-boot.dtsi

diff --git a/arch/arm/dts/dra7-evm-u-boot.dtsi b/arch/arm/dts/dra7-evm-u-boot.dtsi
index 3e7da7c..59b5643 100644
--- a/arch/arm/dts/dra7-evm-u-boot.dtsi
+++ b/arch/arm/dts/dra7-evm-u-boot.dtsi
@@ -33,3 +33,11 @@
 &mmc2_iodelay_hs200_rev20_conf {
 	u-boot,dm-spl;
 };
+
+&usb1 {
+	status = "disabled";
+};
+
+&omap_dwc3_1 {
+	status = "disabled";
+};
diff --git a/arch/arm/dts/dra71-evm-u-boot.dtsi b/arch/arm/dts/dra71-evm-u-boot.dtsi
index e2ab0bb..a61fcfb 100644
--- a/arch/arm/dts/dra71-evm-u-boot.dtsi
+++ b/arch/arm/dts/dra71-evm-u-boot.dtsi
@@ -45,3 +45,12 @@
 &mmc2_iodelay_hs200_rev20_conf {
 	u-boot,dm-spl;
 };
+
+&usb1 {
+	status = "disabled";
+};
+
+&omap_dwc3_1 {
+	status = "disabled";
+};
+
diff --git a/arch/arm/dts/dra72-evm-revc-u-boot.dtsi b/arch/arm/dts/dra72-evm-revc-u-boot.dtsi
index e2ab0bb..aeca9b2 100644
--- a/arch/arm/dts/dra72-evm-revc-u-boot.dtsi
+++ b/arch/arm/dts/dra72-evm-revc-u-boot.dtsi
@@ -45,3 +45,11 @@
 &mmc2_iodelay_hs200_rev20_conf {
 	u-boot,dm-spl;
 };
+
+&usb1 {
+	status = "disabled";
+};
+
+&omap_dwc3_1 {
+	status = "disabled";
+};
diff --git a/arch/arm/dts/dra72-evm-u-boot.dtsi b/arch/arm/dts/dra72-evm-u-boot.dtsi
new file mode 100644
index 0000000..3d1dd6a
--- /dev/null
+++ b/arch/arm/dts/dra72-evm-u-boot.dtsi
@@ -0,0 +1,22 @@
+/*
+ * Copyright (C) 2018 Texas Instruments Incorporated - http://www.ti.com/
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include "omap5-u-boot.dtsi"
+
+&pcf_gpio_21{
+	u-boot,i2c-offset-len = <0>;
+};
+
+&pcf_hdmi{
+	u-boot,i2c-offset-len = <0>;
+};
+
+&usb1 {
+	status = "disabled";
+};
+
+&omap_dwc3_1 {
+	status = "disabled";
+};
diff --git a/arch/arm/dts/dra76-evm-u-boot.dtsi b/arch/arm/dts/dra76-evm-u-boot.dtsi
index a5a0694..c719421 100644
--- a/arch/arm/dts/dra76-evm-u-boot.dtsi
+++ b/arch/arm/dts/dra76-evm-u-boot.dtsi
@@ -25,3 +25,12 @@
 &mmc2_iodelay_hs200_conf {
 	u-boot,dm-spl;
 };
+
+&usb1 {
+	status = "disabled";
+};
+
+&omap_dwc3_1 {
+	status = "disabled";
+};
+
-- 
2.7.4

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

* [U-Boot] [PATCH v4 10/11] configs: enable OMAP_USB2_PHY for all DRA7 platforms
  2018-04-12  8:41 [U-Boot] [PATCH v4 00/11] Add support for DM_USB for TI's DRA7 EVMs and AM57 EVMs platforms Jean-Jacques Hiblot
                   ` (8 preceding siblings ...)
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 09/11] dts: dra7x: Disable USB1 on all evms Jean-Jacques Hiblot
@ 2018-04-12  8:41 ` Jean-Jacques Hiblot
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 11/11] configs: am57xx_evm: Enable DM_USB and dependencies Jean-Jacques Hiblot
  2018-04-12  8:48 ` [U-Boot] [PATCH v4 00/11] Add support for DM_USB for TI's DRA7 EVMs and AM57 EVMs platforms Marek Vasut
  11 siblings, 0 replies; 16+ messages in thread
From: Jean-Jacques Hiblot @ 2018-04-12  8:41 UTC (permalink / raw)
  To: u-boot

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>

---

Changes in v4:
- Remove dependency on MISC
- Renamed the commit (DM_USB is already enabled, the only missing option
  is for the USB2 phy driver)

Changes in v3: None
Changes in v2: None

 configs/dra7xx_evm_defconfig    | 1 +
 configs/dra7xx_hs_evm_defconfig | 1 +
 2 files changed, 2 insertions(+)

diff --git a/configs/dra7xx_evm_defconfig b/configs/dra7xx_evm_defconfig
index 595c1b5..e2de2d3 100644
--- a/configs/dra7xx_evm_defconfig
+++ b/configs/dra7xx_evm_defconfig
@@ -65,6 +65,7 @@ CONFIG_DM_ETH=y
 CONFIG_DRIVER_TI_CPSW=y
 CONFIG_PHY_GIGE=y
 CONFIG_SPL_PHY=y
+CONFIG_OMAP_USB2_PHY=y
 CONFIG_PMIC_PALMAS=y
 CONFIG_PMIC_LP873X=y
 CONFIG_DM_REGULATOR_FIXED=y
diff --git a/configs/dra7xx_hs_evm_defconfig b/configs/dra7xx_hs_evm_defconfig
index f0dac9e..40e3ed3 100644
--- a/configs/dra7xx_hs_evm_defconfig
+++ b/configs/dra7xx_hs_evm_defconfig
@@ -64,6 +64,7 @@ CONFIG_DM_ETH=y
 CONFIG_DRIVER_TI_CPSW=y
 CONFIG_PHY_GIGE=y
 CONFIG_SPL_PHY=y
+CONFIG_OMAP_USB2_PHY=y
 CONFIG_PMIC_PALMAS=y
 CONFIG_PMIC_LP873X=y
 CONFIG_DM_REGULATOR_FIXED=y
-- 
2.7.4

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

* [U-Boot] [PATCH v4 11/11] configs: am57xx_evm: Enable DM_USB and dependencies
  2018-04-12  8:41 [U-Boot] [PATCH v4 00/11] Add support for DM_USB for TI's DRA7 EVMs and AM57 EVMs platforms Jean-Jacques Hiblot
                   ` (9 preceding siblings ...)
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 10/11] configs: enable OMAP_USB2_PHY for all DRA7 platforms Jean-Jacques Hiblot
@ 2018-04-12  8:41 ` Jean-Jacques Hiblot
  2018-04-12  8:48 ` [U-Boot] [PATCH v4 00/11] Add support for DM_USB for TI's DRA7 EVMs and AM57 EVMs platforms Marek Vasut
  11 siblings, 0 replies; 16+ messages in thread
From: Jean-Jacques Hiblot @ 2018-04-12  8:41 UTC (permalink / raw)
  To: u-boot

Enable DM_USB for AM57xx based boards.

Signed-off-by: Vignesh R <vigneshr@ti.com>

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
---

Changes in v4:
- Remove dependency on MISC

Changes in v3: None
Changes in v2:
- Enable DM_USB in am57xx_evm_defconfig. USB3 (super speed) is supported.

 configs/am57xx_evm_defconfig | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/configs/am57xx_evm_defconfig b/configs/am57xx_evm_defconfig
index 0424887..97e0077 100644
--- a/configs/am57xx_evm_defconfig
+++ b/configs/am57xx_evm_defconfig
@@ -77,3 +77,7 @@ CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_MANUFACTURER="Texas Instruments"
 CONFIG_USB_GADGET_VENDOR_NUM=0x0451
 CONFIG_USB_GADGET_PRODUCT_NUM=0xd022
+CONFIG_DM_USB=y
+CONFIG_OMAP_USB2_PHY=y
+CONFIG_PIPE3_PHY=y
+CONFIG_PHY=y
-- 
2.7.4

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

* [U-Boot] [PATCH v4 01/11] usb: dwc3-of-simple: Fix dependencies
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 01/11] usb: dwc3-of-simple: Fix dependencies Jean-Jacques Hiblot
@ 2018-04-12  8:47   ` Marek Vasut
  0 siblings, 0 replies; 16+ messages in thread
From: Marek Vasut @ 2018-04-12  8:47 UTC (permalink / raw)
  To: u-boot

On 04/12/2018 10:41 AM, Jean-Jacques Hiblot wrote:
> This simple glue layer does not require CONFIG_MISC, but it does require
> CONFIG_DM_USB.
> 
> Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
> ---
> 
> Changes in v4: None
> Changes in v3: None
> Changes in v2: None
> 
>  drivers/usb/host/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
> index 6caa615..6ea9621 100644
> --- a/drivers/usb/host/Kconfig
> +++ b/drivers/usb/host/Kconfig
> @@ -23,7 +23,7 @@ config USB_XHCI_DWC3
>  
>  config USB_XHCI_DWC3_OF_SIMPLE
>  	bool "DesignWare USB3 DRD Generic OF Simple Glue Layer"
> -	select MISC
> +	depends on DM_USB
>  	help
>  	  Support USB2/3 functionality in simple SoC integrations with
>  	  USB controller based on the DesignWare USB3 IP Core.
> 

Applied to USB , thanks

-- 
Best regards,
Marek Vasut

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

* [U-Boot] [PATCH v4 02/11] usb: dwc3-of-simple: Add support for DRA7/AM57 platforms.
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 02/11] usb: dwc3-of-simple: Add support for DRA7/AM57 platforms Jean-Jacques Hiblot
@ 2018-04-12  8:47   ` Marek Vasut
  0 siblings, 0 replies; 16+ messages in thread
From: Marek Vasut @ 2018-04-12  8:47 UTC (permalink / raw)
  To: u-boot

On 04/12/2018 10:41 AM, Jean-Jacques Hiblot wrote:
> Add the compatibility with "ti,dwc3" and enable it by default if DM_USB
> is enabled.
> 
> Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
> ---
> 
> Changes in v4: None
> Changes in v3: None
> Changes in v2: None
> 
>  drivers/usb/host/Kconfig          | 1 +
>  drivers/usb/host/dwc3-of-simple.c | 1 +
>  2 files changed, 2 insertions(+)
> 
> diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
> index 6ea9621..3455e81 100644
> --- a/drivers/usb/host/Kconfig
> +++ b/drivers/usb/host/Kconfig
> @@ -24,6 +24,7 @@ config USB_XHCI_DWC3
>  config USB_XHCI_DWC3_OF_SIMPLE
>  	bool "DesignWare USB3 DRD Generic OF Simple Glue Layer"
>  	depends on DM_USB
> +	default y if DRA7XX
>  	help
>  	  Support USB2/3 functionality in simple SoC integrations with
>  	  USB controller based on the DesignWare USB3 IP Core.
> diff --git a/drivers/usb/host/dwc3-of-simple.c b/drivers/usb/host/dwc3-of-simple.c
> index 54a5f60..abc3928 100644
> --- a/drivers/usb/host/dwc3-of-simple.c
> +++ b/drivers/usb/host/dwc3-of-simple.c
> @@ -95,6 +95,7 @@ static int dwc3_of_simple_remove(struct udevice *dev)
>  
>  static const struct udevice_id dwc3_of_simple_ids[] = {
>  	{ .compatible = "amlogic,meson-gxl-dwc3" },
> +	{ .compatible = "ti,dwc3" },
>  	{ }
>  };
>  
> 

Applied to USB , thanks

-- 
Best regards,
Marek Vasut

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

* [U-Boot] [PATCH v4 00/11] Add support for DM_USB for TI's DRA7 EVMs and AM57 EVMs platforms
  2018-04-12  8:41 [U-Boot] [PATCH v4 00/11] Add support for DM_USB for TI's DRA7 EVMs and AM57 EVMs platforms Jean-Jacques Hiblot
                   ` (10 preceding siblings ...)
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 11/11] configs: am57xx_evm: Enable DM_USB and dependencies Jean-Jacques Hiblot
@ 2018-04-12  8:48 ` Marek Vasut
  11 siblings, 0 replies; 16+ messages in thread
From: Marek Vasut @ 2018-04-12  8:48 UTC (permalink / raw)
  To: u-boot

On 04/12/2018 10:41 AM, Jean-Jacques Hiblot wrote:
> Supporting DM USB is required to support DM_ETH and USB network adapters
> with the same binary.
> This series adds support for DM_USB for the DRA7/AM57 families. As a bonus
> it adds support for USB3.
> 
> This series applies on the usb tree with the following fixes:
> -[PATCH] reset: fix bulk API when DM_RESET is disabled
> -[PATCH] usb: dwc3-of-simple: fix error check of clk_get_bulk when disabled
> 
> limitation:
> - only Host mode is supported. The Device mode can be added later.
> 
> Tested on:
> - dra7 evm
> - dra71 evm
> - dra72 evm
> - dra72 evm rev C
> - dra76 evm
> - AM572 evm
[...]

I'll pull 01 and 02 through USB, pull the rest through TI. Thanks

-- 
Best regards,
Marek Vasut

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

* [U-Boot] [PATCH v4 03/11] syscon: dm: Add a new method to get a regmap from DTS
  2018-04-12  8:41 ` [U-Boot] [PATCH v4 03/11] syscon: dm: Add a new method to get a regmap from DTS Jean-Jacques Hiblot
@ 2018-05-04 21:38   ` Simon Glass
  0 siblings, 0 replies; 16+ messages in thread
From: Simon Glass @ 2018-05-04 21:38 UTC (permalink / raw)
  To: u-boot

On 12 April 2018 at 02:41, Jean-Jacques Hiblot <jjhiblot@ti.com> wrote:
> syscon_regmap_lookup_by_phandle() can be used to get the regmap of a
syscon
> device from a reference in the DTS. It operates similarly to the linux
> version of the namesake function.
>
> Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
>
> ---
>
> Changes in v4:
> - Fix word missing in commit log
>
> Changes in v3:
> - in syscon_regmap_lookup_by_phandle(), use dev_dbg() instead of printf()
> - added unit test for syscon_regmap_lookup_by_phandle()
>
> Changes in v2: None
>
>  arch/sandbox/dts/test.dts    |  6 ++++--
>  drivers/core/syscon-uclass.c | 23 +++++++++++++++++++++++
>  include/syscon.h             | 13 +++++++++++++
>  test/dm/syscon.c             | 29 +++++++++++++++++++++++++++++
>  4 files changed, 69 insertions(+), 2 deletions(-)

Reviewed-by: Simon Glass <sjg@chromium.org>

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

end of thread, other threads:[~2018-05-04 21:38 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-12  8:41 [U-Boot] [PATCH v4 00/11] Add support for DM_USB for TI's DRA7 EVMs and AM57 EVMs platforms Jean-Jacques Hiblot
2018-04-12  8:41 ` [U-Boot] [PATCH v4 01/11] usb: dwc3-of-simple: Fix dependencies Jean-Jacques Hiblot
2018-04-12  8:47   ` Marek Vasut
2018-04-12  8:41 ` [U-Boot] [PATCH v4 02/11] usb: dwc3-of-simple: Add support for DRA7/AM57 platforms Jean-Jacques Hiblot
2018-04-12  8:47   ` Marek Vasut
2018-04-12  8:41 ` [U-Boot] [PATCH v4 03/11] syscon: dm: Add a new method to get a regmap from DTS Jean-Jacques Hiblot
2018-05-04 21:38   ` Simon Glass
2018-04-12  8:41 ` [U-Boot] [PATCH v4 04/11] phy: ti-pip3-phy: Add support for USB3 PHY Jean-Jacques Hiblot
2018-04-12  8:41 ` [U-Boot] [PATCH v4 05/11] phy: Add a new driver for OMAP's USB2 PHYs Jean-Jacques Hiblot
2018-04-12  8:41 ` [U-Boot] [PATCH v4 06/11] board: ti: dra7xx-evm: turn on USB clocks in late init stage Jean-Jacques Hiblot
2018-04-12  8:41 ` [U-Boot] [PATCH v4 07/11] board; ti: am57xx: turn on USB clocks Jean-Jacques Hiblot
2018-04-12  8:41 ` [U-Boot] [PATCH v4 08/11] dts: dra7x: make ocp2scp@4a080000 compatible with simple-bus Jean-Jacques Hiblot
2018-04-12  8:41 ` [U-Boot] [PATCH v4 09/11] dts: dra7x: Disable USB1 on all evms Jean-Jacques Hiblot
2018-04-12  8:41 ` [U-Boot] [PATCH v4 10/11] configs: enable OMAP_USB2_PHY for all DRA7 platforms Jean-Jacques Hiblot
2018-04-12  8:41 ` [U-Boot] [PATCH v4 11/11] configs: am57xx_evm: Enable DM_USB and dependencies Jean-Jacques Hiblot
2018-04-12  8:48 ` [U-Boot] [PATCH v4 00/11] Add support for DM_USB for TI's DRA7 EVMs and AM57 EVMs platforms Marek Vasut

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.