Add support for DM_USB and DM_USB_DEV for TI's DRA7 EVMs and AM57 EVMs platforms.
Subsystems (4)
v9 cover Add support for DM_USB and DM_USB_DEV for TI's DRA7 EVMs and AM57 EVMs platforms.
This series applies on top of the series "[PATCH v4 0/10] Improvements for the dwc3_generic driver"
The branch is also available on github:
https://github.com/jjhiblot/u-boot/tree/dm_usb_dra7_v9
Moving to DM_USB and DM_USB_DEV brings some benefits:
- it is required to support DM_ETH and USB network adapters with the same binary.
- support for USB3 on AM57x comes almost for free
- removal of platform code related to USB
Tested on:
- dra76 evm
- AM572 evm
Changes in v9
- rebased on top of latest u-boot/master
- use DM_USB_GADGET instead of DM_USB_DEV
- remove edison build fix (move to the dwc3 series)
Changes in v8:
- Fix edison build
Changes in v7:
- replace remaining if() statements with ut_assert()
- Fix build issue "multiple definition of `usb_gadget_handle_interrupts'"
- Fixed build issue "multiple definition of `usb_gadget_handle_interrupts'"
Changes in v6:
- ti-pipe3-phy: take PLL out of IDLE in pipe3_init(). The PLL may have been put into idle by pipe3_exit()
- DRA7 configs: enable DM_USB and DM_USB_DEV. Use DWC3_GENERIC in place of DWC3_OF_SIMPLE. disable non DM USB options
- AM57 configs: enable DM_USB and DM_USB_DEV. Use DWC3_GENERIC in place of DWC3_OF_SIMPLE. disable non DM USB options
- Supports DM USB for peripherals
- Removed DTS changes that disabled USB1 on DRA7 because DM_USB_DEV is now supported
Changes in v5:
- Rebased on latest u-boot
- Removed patches that have already been merged
Changes in v4:
- Fix word missing in commit log
- Remove dependency on MISC
- Renamed the commit (DM_USB is already enabled, the only missing option is for the USB2 phy driver)
- Remove dependency on MISC
- 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
- Enable DM_USB in am57xx_evm_defconfig. USB3 (super speed) is supported.
Jean-Jacques Hiblot (9):
syscon: dm: Add a new method to get a regmap from DTS
phy: Add a new driver for OMAP's USB2 PHYs
dwc3-generic: Add support for the TI DWC3 glue
board: ti: dra7xx-evm: turn on USB clocks in late init stage
dts: dra7x: make ocp2scp at 4a080000 compatible with simple-bus
configs: enable DM_USB and DM_USB_DEV for all DRA7 platforms
configs: am57xx_evm: Enable DM_USB and DM_USB_DEV
board: ti: dra7-evm: remove USB platform code
board: ti: am57xx: remove USB platform code
Vignesh R (2):
phy: ti-pip3-phy: Add support for USB3 PHY
board; ti: am57xx: turn on USB clocks
arch/arm/dts/omap5-u-boot.dtsi | 4 + arch/sandbox/dts/test.dts | 6 +- board/ti/am57xx/board.c | 106 ++++------------------ board/ti/dra7xx/evm.c | 123 ++++--------------------- configs/am57xx_evm_defconfig | 12 ++- configs/am57xx_hs_evm_defconfig | 12 ++- configs/dra7xx_evm_defconfig | 10 +- configs/dra7xx_hs_evm_defconfig | 10 +- drivers/core/syscon-uclass.c | 23 +++++ drivers/phy/Kconfig | 9 ++ drivers/phy/Makefile | 1 + drivers/phy/omap-usb2-phy.c | 196 ++++++++++++++++++++++++++++++++++++++++ drivers/phy/ti-pipe3-phy.c | 32 +++++-- drivers/usb/dwc3/dwc3-generic.c | 85 +++++++++++++++++ include/syscon.h | 13 +++ test/dm/syscon.c | 29 ++++++ 16 files changed, 456 insertions(+), 215 deletions(-) create mode 100644 drivers/phy/omap-usb2-phy.c
Signature · 1 line
2.7.4
PATCH v9 1/11 syscon: dm: Add a new method to get a regmap from DTS
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.
---
Changes in v8: None
Changes in v7:
- replace remaining if() statements with ut_assert()
Changes in v6: None
Changes in v5: None
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(-)
arch/sandbox/dts/test.dts +4 -2
@@ -450,6 +450,8 @@ test4 { compatible = "denx,u-boot-probe-test"; + first-syscon = <&syscon0>; + second-sys-ctrl = <&another_system_controller>; }; };
@@ -530,12 +532,12 @@ }; }; - syscon at 0 { + syscon0: syscon at 0 { compatible = "sandbox,syscon0"; reg = <0x10 16>; }; - syscon at 1 { + another_system_controller: syscon at 1 { compatible = "sandbox,syscon1"; reg = <0x20 5 0x28 6
drivers/core/syscon-uclass.c +23 -0
@@ -53,6 +53,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;
include/syscon.h +13 -0
@@ -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
test/dm/syscon.c +29 -0
@@ -6,6 +6,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>
@@ -43,3 +44,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)); + +ut_assertok_ptr (syscon_regmap_lookup_by_phandle (dev,"first-syscon" )); + map =syscon_regmap_lookup_by_phandle (dev,"first-syscon" ); +ut_assert (map); +ut_assert (!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-ctrl" ); +ut_assert (map); +ut_assert (!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 );
Signature · 1 line
2.7.4
PATCH v9 2/11 phy: ti-pip3-phy: Add support for USB3 PHY
In reply to Jean-Jacques HiblotFrom: Vignesh R <[email protected]>
Add support to handle USB3 PHYs present on AM57xx/DRA7xx SoCs. This is needed to move AM57xx to DM_USB.
---
Changes in v8: None
Changes in v7: None
Changes in v6:
- ti-pipe3-phy: take PLL out of IDLE in pipe3_init(). The PLL may have been put into idle by pipe3_exit()
Changes in v5: None
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 | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-)
drivers/phy/ti-pipe3-phy.c +24 -8
@@ -141,7 +141,7 @@ static int omap_pipe3_dpll_program(struct omap_pipe3 *pipe3)omap_pipe3_writel (pipe3->pll_ctrl_base,PLL_CONFIGURATION1 , val); val =omap_pipe3_readl (pipe3->pll_ctrl_base,PLL_CONFIGURATION2 ); - val &= ~PLL_SELFREQDCO_MASK ; + val &= ~(PLL_SELFREQDCO_MASK |PLL_IDLE ); val |= dpll_params->freq <<PLL_SELFREQDCO_SHIFT ;omap_pipe3_writel (pipe3->pll_ctrl_base,PLL_CONFIGURATION2 , val);
@@ -265,10 +265,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 ; }
@@ -331,9 +334,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);
@@ -350,8 +355,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}, { } };
Signature · 1 line
2.7.4
PATCH v9 3/11 phy: Add a new driver for OMAP's USB2 PHYs
In reply to Jean-Jacques HiblotThis drivers supports the USB2 PHY found on omap5 and dra7 SOCs.
---
Changes in v8: None
Changes in v7: None
Changes in v6: None
Changes in v5: None
Changes in v4: None
Changes in v3: None
Changes in v2:
- omap-usb2-phy: Implement power_on and power_off callbacks
drivers/phy/Kconfig | 9 ++ drivers/phy/Makefile | 1 + drivers/phy/omap-usb2-phy.c | 196 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 206 insertions(+) create mode 100644 drivers/phy/omap-usb2-phy.c
drivers/phy/Kconfig +9 -0
@@ -155,4 +155,13 @@ config MSM8916_USB_PHY This PHY is found on qualcomm dragonboard410c development board. +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
drivers/phy/Makefile +1 -0
@@ -17,3 +17,4 @@ obj-$(CONFIG_PHY_RCAR_GEN3) += phy-rcar-gen3.o obj-$(CONFIG_PHY_STM32_USBPHYC) += phy-stm32-usbphyc.o obj-$(CONFIG_MESON_GXL_USB_PHY) += meson-gxl-usb2.o meson-gxl-usb3.o obj-$(CONFIG_MSM8916_USB_PHY) += msm8916-usbh-phy.o +obj-$(CONFIG_OMAP_USB2_PHY) += omap-usb2-phy.o
drivers/phy/omap-usb2-phy.c new file +196 -0
196 lines not on this page · raw message
Signature · 1 line
2.7.4
PATCH v9 4/11 dwc3-generic: Add support for the TI DWC3 glue
In reply to Jean-Jacques Hiblot---
Changes in v8: None
Changes in v7: None
Changes in v6: None
Changes in v5: None
Changes in v4: None
Changes in v3: None
Changes in v2: None
drivers/usb/dwc3/dwc3-generic.c | 85 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+)
drivers/usb/dwc3/dwc3-generic.c +85 -0
@@ -119,6 +119,90 @@ struct dwc3_glue_ops { enum usb_dr_mode mode); }; +void dwc3_ti_select_dr_mode (struct udevice *dev,int index, +enum usb_dr_mode mode) +{ +#define USBOTGSS_UTMI_OTG_STATUS 0x0084 +#define USBOTGSS_UTMI_OTG_OFFSET 0x0480 + +/* UTMI_OTG_STATUS REGISTER */ +#define USBOTGSS_UTMI_OTG_STATUS_SW_MODE BIT(31) +#define USBOTGSS_UTMI_OTG_STATUS_POWERPRESENT BIT(9) +#define USBOTGSS_UTMI_OTG_STATUS_TXBITSTUFFENABLE BIT(8) +#define USBOTGSS_UTMI_OTG_STATUS_IDDIG BIT(4) +#define USBOTGSS_UTMI_OTG_STATUS_SESSEND BIT(3) +#define USBOTGSS_UTMI_OTG_STATUS_SESSVALID BIT(2) +#define USBOTGSS_UTMI_OTG_STATUS_VBUSVALID BIT(1) +enum dwc3_omap_utmi_mode { +DWC3_OMAP_UTMI_MODE_UNKNOWN =0 , +DWC3_OMAP_UTMI_MODE_HW , +DWC3_OMAP_UTMI_MODE_SW , +}; + +u32 use_id_pin; +u32 host_mode; +u32 reg; +u32 utmi_mode; +u32 utmi_status_offset =USBOTGSS_UTMI_OTG_STATUS ; + +struct dwc3_glue_data *glue =dev_get_platdata (dev); +void *base =map_physmem (glue->regs,0x10000 ,MAP_NOCACHE ); + +if (device_is_compatible (dev,"ti,am437x-dwc3" )) + utmi_status_offset +=USBOTGSS_UTMI_OTG_OFFSET ; + + utmi_mode =dev_read_u32_default (dev,"utmi-mode" , +DWC3_OMAP_UTMI_MODE_UNKNOWN ); +if (utmi_mode !=DWC3_OMAP_UTMI_MODE_HW ) { +debug ("%s: OTG is not supported. defaulting to PERIPHERAL\n" , + dev->name); + mode =USB_DR_MODE_PERIPHERAL ; + } + +switch (mode) { +case USB_DR_MODE_PERIPHERAL : + use_id_pin =0 ; + host_mode =0 ; +break ; +case USB_DR_MODE_HOST : + use_id_pin =0 ; + host_mode =1 ; +break ; +case USB_DR_MODE_OTG : +default : + use_id_pin =1 ; + host_mode =0 ; +break ; + } + + reg =readl (base + utmi_status_offset); + + reg &= ~(USBOTGSS_UTMI_OTG_STATUS_SW_MODE ); +if (!use_id_pin) + reg |=USBOTGSS_UTMI_OTG_STATUS_SW_MODE ; + +writel (reg, base + utmi_status_offset); + + reg &= ~(USBOTGSS_UTMI_OTG_STATUS_SESSEND | +USBOTGSS_UTMI_OTG_STATUS_VBUSVALID | +USBOTGSS_UTMI_OTG_STATUS_IDDIG ); + + reg |=USBOTGSS_UTMI_OTG_STATUS_SESSVALID | +USBOTGSS_UTMI_OTG_STATUS_POWERPRESENT ; + +if (!host_mode) + reg |=USBOTGSS_UTMI_OTG_STATUS_IDDIG | +USBOTGSS_UTMI_OTG_STATUS_VBUSVALID ; + +writel (reg, base + utmi_status_offset); + +unmap_physmem (base,MAP_NOCACHE ); +} + +struct dwc3_glue_ops ti_ops = { + .select_dr_mode = dwc3_ti_select_dr_mode, +}; +static int dwc3_glue_bind (struct udevice *parent) {const void *fdt = gd->fdt_blob;
@@ -258,6 +342,7 @@ static int dwc3_glue_remove(struct udevice *dev)static const struct udevice_id dwc3_glue_ids[] = { { .compatible ="xlnx,zynqmp-dwc3" }, + { .compatible ="ti,dwc3" , .data = (ulong)&ti_ops }, { } };
Signature · 1 line
2.7.4
PATCH v9 5/11 board: ti: dra7xx-evm: turn on USB clocks in late init stage
In reply to Jean-Jacques HiblotFor USB ports that use the Driver Model, turn on the clocks during the late init stage.
---
Changes in v8: None
Changes in v7: None
Changes in v6: None
Changes in v5: None
Changes in v4: None
Changes in v3: None
Changes in v2: None
board/ti/dra7xx/evm.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)
board/ti/dra7xx/evm.c +19 -0
@@ -646,6 +646,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
@@ -685,6 +698,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 ; }
Signature · 1 line
2.7.4
PATCH v9 6/11 board; ti: am57xx: turn on USB clocks
In reply to Jean-Jacques HiblotFrom: Vignesh R <[email protected]>
Enable USB clocks in late init stage to support ports under DM_USB.
---
Changes in v8: None
Changes in v7: None
Changes in v6: None
Changes in v5: None
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(+)
board/ti/am57xx/board.c +19 -0
@@ -675,6 +675,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 ();
@@ -714,6 +727,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 ; }
Signature · 1 line
2.7.4
PATCH v9 6/11 board; ti: am57xx: turn on USB clocks
Quoted 7 lines · Jean-Jacques Hiblot
From: Vignesh R <[email protected]>
Enable USB clocks in late init stage to support ports under
DM_USB.Signed-off-by Vignesh R <[email protected]>Signed-off-by Jean-Jacques Hiblot <[email protected]>
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20181129/f58d9529/attachment.sig>
PATCH v9 7/11 dts: dra7x: make ocp2scp@4a080000 compatible with simple-bus
In reply to Jean-Jacques HiblotThis is required when DM_USB is used, to bind the USB phys.
---
Changes in v8: None
Changes in v7: None
Changes in v6: None
Changes in v5: None
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(+)
arch/arm/dts/omap5-u-boot.dtsi +4 -0
@@ -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"; };
Signature · 1 line
2.7.4
PATCH v9 7/11 dts: dra7x: make ocp2scp@4a080000 compatible with simple-bus
Quoted 4 lines · Jean-Jacques Hiblot
This is required when
DM_USBis used, to bind the USB phys.Signed-off-by Jean-Jacques Hiblot <[email protected]>
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20181129/2fac41cd/attachment.sig>
PATCH v9 8/11 configs: enable DM_USB and DM_USB_DEV for all DRA7 platforms
In reply to Jean-Jacques Hiblot---
Changes in v8: None
Changes in v7:
- Fix build issue "multiple definition of `usb_gadget_handle_interrupts'"
Changes in v6:
- DRA7 configs: enable DM_USB and DM_USB_DEV. Use DWC3_GENERIC in place of DWC3_OF_SIMPLE. disable non DM USB options
Changes in v5: None
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
board/ti/dra7xx/evm.c | 2 +- configs/dra7xx_evm_defconfig | 10 ++++++---- configs/dra7xx_hs_evm_defconfig | 10 ++++++---- 3 files changed, 13 insertions(+), 9 deletions(-)
board/ti/dra7xx/evm.c +1 -1
@@ -915,7 +915,7 @@ const struct mmc_platform_fixups *platform_fixups_mmc(uint32_t addr) }#endif -#ifdef CONFIG_USB_DWC3 +#if defined(CONFIG_USB_DWC3 ) && !CONFIG_IS_ENABLED (DM_USB )static struct dwc3_device usb_otg_ss1 = { .maximum_speed =USB_SPEED_SUPER , .base = DRA7_USB_OTG_SS1_BASE,
configs/dra7xx_evm_defconfig +6 -4
@@ -56,6 +56,7 @@ CONFIG_FASTBOOT_CMD_OEM_FORMAT=y CONFIG_DM_GPIO=y CONFIG_PCF8575_GPIO=y CONFIG_DM_I2C=y +CONFIG_MISC=y CONFIG_DM_MMC=y CONFIG_MMC_IO_VOLTAGE=y CONFIG_MMC_UHS_SUPPORT=y
@@ -72,6 +73,7 @@ CONFIG_PHY_GIGE=y CONFIG_MII=y CONFIG_SPL_PHY=y CONFIG_PIPE3_PHY=y +CONFIG_OMAP_USB2_PHY=y CONFIG_PMIC_PALMAS=y CONFIG_PMIC_LP873X=y CONFIG_DM_REGULATOR_FIXED=y
@@ -87,14 +89,14 @@ CONFIG_TIMER=y CONFIG_OMAP_TIMER=y CONFIG_USB=y CONFIG_DM_USB=y +CONFIG_SPL_DM_USB=y +CONFIG_DM_USB_GADGET=y +CONFIG_SPL_DM_USB_GADGET=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y -CONFIG_USB_XHCI_DRA7XX_INDEX=1 CONFIG_USB_DWC3=y CONFIG_USB_DWC3_GADGET=y -CONFIG_USB_DWC3_OMAP=y -CONFIG_USB_DWC3_PHY_OMAP=y -CONFIG_OMAP_USB_PHY=y +CONFIG_USB_DWC3_GENERIC=y CONFIG_USB_STORAGE=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_MANUFACTURER="Texas Instruments"
configs/dra7xx_hs_evm_defconfig +6 -4
@@ -56,6 +56,7 @@ CONFIG_FASTBOOT_CMD_OEM_FORMAT=y CONFIG_DM_GPIO=y CONFIG_PCF8575_GPIO=y CONFIG_DM_I2C=y +CONFIG_MISC=y CONFIG_DM_MMC=y CONFIG_MMC_IO_VOLTAGE=y CONFIG_MMC_UHS_SUPPORT=y
@@ -71,6 +72,7 @@ CONFIG_PHY_GIGE=y CONFIG_MII=y CONFIG_SPL_PHY=y CONFIG_PIPE3_PHY=y +CONFIG_OMAP_USB2_PHY=y CONFIG_PMIC_PALMAS=y CONFIG_PMIC_LP873X=y CONFIG_DM_REGULATOR_FIXED=y
@@ -86,14 +88,14 @@ CONFIG_TIMER=y CONFIG_OMAP_TIMER=y CONFIG_USB=y CONFIG_DM_USB=y +CONFIG_SPL_DM_USB=y +CONFIG_DM_USB_GADGET=y +CONFIG_SPL_DM_USB_GADGET=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y -CONFIG_USB_XHCI_DRA7XX_INDEX=1 CONFIG_USB_DWC3=y CONFIG_USB_DWC3_GADGET=y -CONFIG_USB_DWC3_OMAP=y -CONFIG_USB_DWC3_PHY_OMAP=y -CONFIG_OMAP_USB_PHY=y +CONFIG_USB_DWC3_GENERIC=y CONFIG_USB_STORAGE=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_MANUFACTURER="Texas Instruments"
Signature · 1 line
2.7.4
PATCH v9 8/11 configs: enable DM_USB and DM_USB_DEV for all DRA7 platforms
Quoted 2 lines · Jean-Jacques Hiblot
Signed-off-by Jean-Jacques Hiblot <[email protected]>
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20181129/66101064/attachment.sig>
PATCH v9 9/11 configs: am57xx_evm: Enable DM_USB and DM_USB_DEV
In reply to Jean-Jacques HiblotEnable DM_USB and DM_USB_DEV for AM57xx based boards.
---
Changes in v8: None
Changes in v7:
- Fixed build issue "multiple definition of `usb_gadget_handle_interrupts'"
Changes in v6:
- AM57 configs: enable DM_USB and DM_USB_DEV. Use DWC3_GENERIC in place of DWC3_OF_SIMPLE. disable non DM USB options
Changes in v5:
- Rebased on latest u-boot
- Removed patches that have already been merged
Changes in v4:
- Remove dependency on MISC
- Remove omap specific glue layer and use dwc3-of-simple glue layer
Changes in v3: None
Changes in v2:
- Enable DM_USB in am57xx_evm_defconfig. USB3 (super speed) is supported.
board/ti/am57xx/board.c | 4 +--- configs/am57xx_evm_defconfig | 12 +++++++++--- configs/am57xx_hs_evm_defconfig | 12 +++++++++--- 3 files changed, 19 insertions(+), 9 deletions(-)
board/ti/am57xx/board.c +1 -3
@@ -883,7 +883,7 @@ int spl_start_uboot(void) }#endif -#ifdef CONFIG_USB_DWC3 +#if defined(CONFIG_USB_DWC3 ) && !CONFIG_IS_ENABLED (DM_USB )static struct dwc3_device usb_otg_ss2 = { .maximum_speed =USB_SPEED_HIGH , .base = DRA7_USB_OTG_SS2_BASE,
@@ -912,9 +912,7 @@ int usb_gadget_handle_interrupts(int index)return 0 ; } -#endif /* CONFIG_USB_DWC3 */ -#if defined(CONFIG_USB_DWC3 ) || defined(CONFIG_USB_XHCI_OMAP )int board_usb_init (int index,enum usb_init_type init) {enable_usb_clocks (index);
configs/am57xx_evm_defconfig +9 -3
@@ -50,6 +50,7 @@ CONFIG_FASTBOOT_FLASH_MMC_DEV=1 CONFIG_FASTBOOT_CMD_OEM_FORMAT=y CONFIG_DM_GPIO=y CONFIG_DM_I2C=y +CONFIG_MISC=y CONFIG_DM_MMC=y CONFIG_MMC_OMAP_HS=y CONFIG_DM_SPI_FLASH=y
@@ -61,6 +62,9 @@ CONFIG_PHY_MICREL_KSZ90X1=y CONFIG_DM_ETH=y CONFIG_DRIVER_TI_CPSW=y CONFIG_MII=y +CONFIG_PHY=y +CONFIG_PIPE3_PHY=y +CONFIG_OMAP_USB2_PHY=y CONFIG_DM_PMIC=y CONFIG_PMIC_PALMAS=y CONFIG_DM_REGULATOR=y
@@ -70,13 +74,15 @@ CONFIG_SPI=y CONFIG_DM_SPI=y CONFIG_TI_QSPI=y CONFIG_USB=y +CONFIG_DM_USB=y +CONFIG_SPL_DM_USB=y +CONFIG_DM_USB_GADGET=y +CONFIG_SPL_DM_USB_GADGET=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y CONFIG_USB_DWC3=y CONFIG_USB_DWC3_GADGET=y -CONFIG_USB_DWC3_OMAP=y -CONFIG_USB_DWC3_PHY_OMAP=y -CONFIG_OMAP_USB_PHY=y +CONFIG_USB_DWC3_GENERIC=y CONFIG_USB_STORAGE=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_MANUFACTURER="Texas Instruments"
configs/am57xx_hs_evm_defconfig +9 -3
@@ -53,6 +53,7 @@ CONFIG_FASTBOOT_FLASH_MMC_DEV=1 CONFIG_FASTBOOT_CMD_OEM_FORMAT=y CONFIG_DM_GPIO=y CONFIG_DM_I2C=y +CONFIG_MISC=y CONFIG_DM_MMC=y CONFIG_MMC_OMAP_HS=y CONFIG_DM_SPI_FLASH=y
@@ -64,6 +65,9 @@ CONFIG_PHY_MICREL_KSZ90X1=y CONFIG_DM_ETH=y CONFIG_DRIVER_TI_CPSW=y CONFIG_MII=y +CONFIG_PHY=y +CONFIG_PIPE3_PHY=y +CONFIG_OMAP_USB2_PHY=y CONFIG_DM_PMIC=y CONFIG_PMIC_PALMAS=y CONFIG_DM_REGULATOR=y
@@ -73,13 +77,15 @@ CONFIG_SPI=y CONFIG_DM_SPI=y CONFIG_TI_QSPI=y CONFIG_USB=y +CONFIG_DM_USB=y +CONFIG_SPL_DM_USB=y +CONFIG_DM_USB_GADGET=y +CONFIG_SPL_DM_USB_GADGET=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_DWC3=y CONFIG_USB_DWC3=y CONFIG_USB_DWC3_GADGET=y -CONFIG_USB_DWC3_OMAP=y -CONFIG_USB_DWC3_PHY_OMAP=y -CONFIG_OMAP_USB_PHY=y +CONFIG_USB_DWC3_GENERIC=y CONFIG_USB_STORAGE=y CONFIG_USB_GADGET=y CONFIG_USB_GADGET_MANUFACTURER="Texas Instruments"
Signature · 1 line
2.7.4
PATCH v9 9/11 configs: am57xx_evm: Enable DM_USB and DM_USB_DEV
Quoted 5 lines · Jean-Jacques Hiblot
Enable
DM_USBandDM_USB_DEVfor AM57xx based boards.Signed-off-by Vignesh R <[email protected]>Signed-off-by Jean-Jacques Hiblot <[email protected]>
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20181129/dd1a1b9a/attachment.sig>
PATCH v9 10/11 board: ti: dra7-evm: remove USB platform code
In reply to Jean-Jacques Hiblot---
Changes in v8: None
Changes in v7: None
Changes in v6: None
Changes in v5: None
Changes in v4: None
Changes in v3: None
Changes in v2: None
board/ti/dra7xx/evm.c | 104 -------------------------------------------------- 1 file changed, 104 deletions(-)
board/ti/dra7xx/evm.c +0 -104
@@ -915,110 +915,6 @@ const struct mmc_platform_fixups *platform_fixups_mmc(uint32_t addr) }#endif -#if defined(CONFIG_USB_DWC3 ) && !CONFIG_IS_ENABLED (DM_USB ) -static struct dwc3_device usb_otg_ss1 = { - .maximum_speed =USB_SPEED_SUPER , - .base =DRA7_USB_OTG_SS1_BASE , - .tx_fifo_resize = false, - .index =0 , -}; - -static struct dwc3_omap_device usb_otg_ss1_glue = { - .base = (void *)DRA7_USB_OTG_SS1_GLUE_BASE , - .utmi_mode =DWC3_OMAP_UTMI_MODE_SW , - .index =0 , -}; - -static struct ti_usb_phy_device usb_phy1_device = { - .pll_ctrl_base = (void *)DRA7_USB3_PHY1_PLL_CTRL , - .usb2_phy_power = (void *)DRA7_USB2_PHY1_POWER , - .usb3_phy_power = (void *)DRA7_USB3_PHY1_POWER , - .index =0 , -}; - -static struct dwc3_device usb_otg_ss2 = { - .maximum_speed =USB_SPEED_SUPER , - .base =DRA7_USB_OTG_SS2_BASE , - .tx_fifo_resize = false, - .index =1 , -}; - -static struct dwc3_omap_device usb_otg_ss2_glue = { - .base = (void *)DRA7_USB_OTG_SS2_GLUE_BASE , - .utmi_mode =DWC3_OMAP_UTMI_MODE_SW , - .index =1 , -}; - -static struct ti_usb_phy_device usb_phy2_device = { - .usb2_phy_power = (void *)DRA7_USB2_PHY2_POWER , - .index =1 , -}; - -int board_usb_init (int index,enum usb_init_type init) -{ -enable_usb_clocks (index); -switch (index) { -case 0 : -if (init ==USB_INIT_DEVICE ) { - usb_otg_ss1.dr_mode =USB_DR_MODE_PERIPHERAL ; - usb_otg_ss1_glue.vbus_id_status =OMAP_DWC3_VBUS_VALID ; - }else { - usb_otg_ss1.dr_mode =USB_DR_MODE_HOST ; - usb_otg_ss1_glue.vbus_id_status =OMAP_DWC3_ID_GROUND ; - } - -ti_usb_phy_uboot_init (&usb_phy1_device); -dwc3_omap_uboot_init (&usb_otg_ss1_glue); -dwc3_uboot_init (&usb_otg_ss1); -break ; -case 1 : -if (init ==USB_INIT_DEVICE ) { - usb_otg_ss2.dr_mode =USB_DR_MODE_PERIPHERAL ; - usb_otg_ss2_glue.vbus_id_status =OMAP_DWC3_VBUS_VALID ; - }else { - usb_otg_ss2.dr_mode =USB_DR_MODE_HOST ; - usb_otg_ss2_glue.vbus_id_status =OMAP_DWC3_ID_GROUND ; - } - -ti_usb_phy_uboot_init (&usb_phy2_device); -dwc3_omap_uboot_init (&usb_otg_ss2_glue); -dwc3_uboot_init (&usb_otg_ss2); -break ; -default : -printf ("Invalid Controller Index\n" ); - } - -return 0 ; -} - -int board_usb_cleanup (int index,enum usb_init_type init) -{ -switch (index) { -case 0 : -case 1 : -ti_usb_phy_uboot_exit (index); -dwc3_uboot_exit (index); -dwc3_omap_uboot_exit (index); -break ; -default : -printf ("Invalid Controller Index\n" ); - } -disable_usb_clocks (index); -return 0 ; -} - -int usb_gadget_handle_interrupts (int index) -{ -u32 status; - - status =dwc3_omap_uboot_interrupt_status (index); -if (status) -dwc3_uboot_handle_interrupt (index); - -return 0 ; -} -#endif -#if defined(CONFIG_SPL_BUILD ) && defined(CONFIG_SPL_OS_BOOT )int spl_start_uboot (void ) {
Signature · 1 line
2.7.4
PATCH v9 10/11 board: ti: dra7-evm: remove USB platform code
Quoted 1 line · Jean-Jacques Hiblot
Signed-off-by Jean-Jacques Hiblot <[email protected]>
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20181129/d942227c/attachment.sig>
PATCH v9 11/11 board: ti: am57xx: remove USB platform code
In reply to Jean-Jacques Hiblot---
Changes in v8:
- Fix edison build
Changes in v7: None
Changes in v6:
- Supports DM USB for peripherals
- Removed DTS changes that disabled USB1 on DRA7 because DM_USB_DEV is now supported
Changes in v5: None
Changes in v4: None
Changes in v3: None
Changes in v2: None
board/ti/am57xx/board.c | 85 ------------------------------------------------- 1 file changed, 85 deletions(-)
board/ti/am57xx/board.c +0 -85
@@ -883,91 +883,6 @@ int spl_start_uboot(void) }#endif -#if defined(CONFIG_USB_DWC3 ) && !CONFIG_IS_ENABLED (DM_USB ) -static struct dwc3_device usb_otg_ss2 = { - .maximum_speed =USB_SPEED_HIGH , - .base =DRA7_USB_OTG_SS2_BASE , - .tx_fifo_resize = false, - .index =1 , -}; - -static struct dwc3_omap_device usb_otg_ss2_glue = { - .base = (void *)DRA7_USB_OTG_SS2_GLUE_BASE , - .utmi_mode =DWC3_OMAP_UTMI_MODE_SW , - .index =1 , -}; - -static struct ti_usb_phy_device usb_phy2_device = { - .usb2_phy_power = (void *)DRA7_USB2_PHY2_POWER , - .index =1 , -}; - -int usb_gadget_handle_interrupts (int index) -{ -u32 status; - - status =dwc3_omap_uboot_interrupt_status (index); -if (status) -dwc3_uboot_handle_interrupt (index); - -return 0 ; -} - -int board_usb_init (int index,enum usb_init_type init) -{ -enable_usb_clocks (index); -switch (index) { -case 0 : -if (init ==USB_INIT_DEVICE ) { -printf ("port %d can't be used as device\n" , index); -disable_usb_clocks (index); -return -EINVAL ; - } -break ; -case 1 : -if (init ==USB_INIT_DEVICE ) { -#ifdef CONFIG_USB_DWC3 - usb_otg_ss2.dr_mode =USB_DR_MODE_PERIPHERAL ; - usb_otg_ss2_glue.vbus_id_status =OMAP_DWC3_VBUS_VALID ; -ti_usb_phy_uboot_init (&usb_phy2_device); -dwc3_omap_uboot_init (&usb_otg_ss2_glue); -dwc3_uboot_init (&usb_otg_ss2); -#endif - }else { -printf ("port %d can't be used as host\n" , index); -disable_usb_clocks (index); -return -EINVAL ; - } - -break ; -default : -printf ("Invalid Controller Index\n" ); - } - -return 0 ; -} - -int board_usb_cleanup (int index,enum usb_init_type init) -{ -#ifdef CONFIG_USB_DWC3 -switch (index) { -case 0 : -case 1 : -if (init ==USB_INIT_DEVICE ) { -ti_usb_phy_uboot_exit (index); -dwc3_uboot_exit (index); -dwc3_omap_uboot_exit (index); - } -break ; -default : -printf ("Invalid Controller Index\n" ); - } -#endif -disable_usb_clocks (index); -return 0 ; -} -#endif /* defined(CONFIG_USB_DWC3) || defined(CONFIG_USB_XHCI_OMAP) */ -#ifdef CONFIG_DRIVER_TI_CPSW /* Delay value to add to calibrated value */
Signature · 1 line
2.7.4
PATCH v9 11/11 board: ti: am57xx: remove USB platform code
Quoted 2 lines · Jean-Jacques Hiblot
Signed-off-by Jean-Jacques Hiblot <[email protected]>
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20181129/def59564/attachment.sig>
v9 cover Add support for DM_USB and DM_USB_DEV for TI's DRA7 EVMs and AM57 EVMs platforms.
In reply to Jean-Jacques HiblotI forgot to mention that there is travis running on :
https://travis-ci.org/jjhiblot/u-boot/builds/461182699
An earlier travis iteration (v9 was rebased on u-boot-usb:master at the time, not u-boot/master) is available here:
https://travis-ci.org/jjhiblot/u-boot/builds/460701054.
JJ
Quoted 97 lines · Jean-Jacques Hiblot
This series applies on top of the series "[PATCH v4 0/10] Improvements for the
dwc3_genericdriver"
The branch is also available on github:
https://github.com/jjhiblot/u-boot/tree/dm_usb_dra7_v9Moving to
DM_USBandDM_USB_DEVbrings some benefits:
- it is required to supportDM_ETHand USB network adapters with the same binary.
- support for USB3 on AM57x comes almost for free
- removal of platform code related to USBTested on:
- dra76 evm
- AM572 evmChanges in v9
- rebased on top of latest u-boot/master
- useDM_USB_GADGETinstead ofDM_USB_DEV
- remove edison build fix (move to the dwc3 series)Changes in v8:
- Fix edison buildChanges in v7:
- replace remainingif()statements withut_assert()
- Fix build issue "multiple definition of `usb_gadget_handle_interrupts'"
- Fixed build issue "multiple definition of `usb_gadget_handle_interrupts'"Changes in v6:
- ti-pipe3-phy: take PLL out of IDLE inpipe3_init(). The PLL may have been put into idle bypipe3_exit()
- DRA7 configs: enableDM_USBandDM_USB_DEV. UseDWC3_GENERICin place ofDWC3_OF_SIMPLE. disable non DM USB options
- AM57 configs: enableDM_USBandDM_USB_DEV. UseDWC3_GENERICin place ofDWC3_OF_SIMPLE. disable non DM USB options
- Supports DM USB for peripherals
- Removed DTS changes that disabled USB1 on DRA7 becauseDM_USB_DEVis now supportedChanges in v5:
- Rebased on latest u-boot
- Removed patches that have already been mergedChanges in v4:
- Fix word missing in commit log
- Remove dependency on MISC
- Renamed the commit (DM_USBis already enabled, the only missing option is for the USB2 phy driver)
- Remove dependency on MISC
- Remove omap specific glue layer and use dwc3-of-simple glue layerChanges in v3:
- insyscon_regmap_lookup_by_phandle(), usedev_dbg()instead ofprintf()
- added unit test forsyscon_regmap_lookup_by_phandle()Changes in v2:
- Add USB3 support to ti-pipe3-phy driver
- omap-usb2-phy: Implementpower_onandpower_offcallbacks
- am57xx boards: whenDM_USBis used, turn on the required USB clocks
- split dts changes in 2 commits: one for binding the children of ocp2scp at4a080000, and one to disable USB1 on all DRA7 EVMs
- EnableDM_USBinam57xx_evm_defconfig. USB3 (super speed) is supported.Jean-Jacques Hiblot (9):
syscon: dm: Add a new method to get a regmap from DTS
phy: Add a new driver for OMAP's USB2 PHYs
dwc3-generic: Add support for the TI DWC3 glue
board: ti: dra7xx-evm: turn on USB clocks in late init stage
dts: dra7x: make ocp2scp at4a080000compatible with simple-bus
configs: enableDM_USBandDM_USB_DEVfor all DRA7 platforms
configs:am57xx_evm: EnableDM_USBandDM_USB_DEV
board: ti: dra7-evm: remove USB platform code
board: ti: am57xx: remove USB platform codeVignesh R (2):
phy: ti-pip3-phy: Add support for USB3 PHY
board; ti: am57xx: turn on USB clocksarch/arm/dts/omap5-u-boot.dtsi | 4 + arch/sandbox/dts/test.dts | 6 +- board/ti/am57xx/board.c | 106 ++++------------------ board/ti/dra7xx/evm.c | 123 ++++--------------------- configs/am57xx_evm_defconfig | 12 ++- configs/am57xx_hs_evm_defconfig | 12 ++- configs/dra7xx_evm_defconfig | 10 +- configs/dra7xx_hs_evm_defconfig | 10 +- drivers/core/syscon-uclass.c | 23 +++++ drivers/phy/Kconfig | 9 ++ drivers/phy/Makefile | 1 + drivers/phy/omap-usb2-phy.c | 196 ++++++++++++++++++++++++++++++++++++++++ drivers/phy/ti-pipe3-phy.c | 32 +++++-- drivers/usb/dwc3/dwc3-generic.c | 85 +++++++++++++++++ include/syscon.h | 13 +++ test/dm/syscon.c | 29 ++++++ 16 files changed, 456 insertions(+), 215 deletions(-)create mode 100644
drivers/phy/omap-usb2-phy.c