| #
8dcdedcf |
| 29-Jan-2024 |
Frank Wang <frank.wang@rock-chips.com> |
usb: dwc3-generic: Add rk3576 support
RK3576 share glue and ctrl in a single node. Use glue_get_ctrl_dev to return the glue node as the ctrl node.
Signed-off-by: Frank Wang <frank.wang@rock-chips.c
usb: dwc3-generic: Add rk3576 support
RK3576 share glue and ctrl in a single node. Use glue_get_ctrl_dev to return the glue node as the ctrl node.
Signed-off-by: Frank Wang <frank.wang@rock-chips.com> Change-Id: I6fd1cd2accd4b0becc927309d089a1f51ac685ad
show more ...
|
| #
c0de5334 |
| 20-Feb-2023 |
Kunihiko Hayashi <hayashi.kunihiko@socionext.com> |
UPSTREAM: usb: dwc3-generic: Export glue structures and functions
In order to allow external SoC-dependent glue drivers to use dwc3-generic functions, push the glue structures and export the functio
UPSTREAM: usb: dwc3-generic: Export glue structures and functions
In order to allow external SoC-dependent glue drivers to use dwc3-generic functions, push the glue structures and export the functions to a header file.
The exported structures and functions are:
- struct dwc3_glue_data - struct dwc3_glue_ops - dwc3_glue_bind() - dwc3_glue_probe() - dwc3_glue_remove()
The SoC-dependent glue drivers can only define their own wrapper driver and specify these functions. The drivers can also add their own compatible strings and configure functions.
Change-Id: I0464fa8121a8ffc4d473f03be9940c5874f193be Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com> Reviewed-by: Marek Vasut <marex@denx.de> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit ef2313b8a26e83c92a14b43b3b3bb1c7af017d98)
show more ...
|
| #
f836e086 |
| 20-Feb-2023 |
Kunihiko Hayashi <hayashi.kunihiko@socionext.com> |
UPSTREAM: usb: dwc3-generic: Add clock initialization in child DT node
Same as the reset cotnrol, should add a clock initialization in child DT node, if the glue node doesn't have any clocks.
Chang
UPSTREAM: usb: dwc3-generic: Add clock initialization in child DT node
Same as the reset cotnrol, should add a clock initialization in child DT node, if the glue node doesn't have any clocks.
Change-Id: I7739e7e22f4063ede652ee8c09cb8254015f99c1 Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com> Reviewed-by: Marek Vasut <marex@denx.de> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit 7c71c684ce697dcb79efb7f027d820a6ab82228b)
show more ...
|
| #
3a6b463b |
| 20-Feb-2023 |
Kunihiko Hayashi <hayashi.kunihiko@socionext.com> |
UPSTREAM: usb: dwc3-generic: Allow different controller DT node pattern
The most of devicetree has the following USB node structure. The controller node is placed as a child node of the glue node. C
UPSTREAM: usb: dwc3-generic: Allow different controller DT node pattern
The most of devicetree has the following USB node structure. The controller node is placed as a child node of the glue node. Current dwc3-generic driver works on this premise.
glue { /* glue node */ usb { /* controller node */ }; };
However, UniPhier original devicetree has the following USB node structure. The controller node is separately placed from the glue node.
usb { /* controller node */ }; glue { /* glue node */ };
In dwc_glue_bind(), this patch provides .glue_get_ctrl_dev() callback to get such a controller node and binds the driver related to the node.
If this callback isn't defined, dwc_glue_bind() looks for the controller nodes from the child nodes, as before.
Change-Id: I49d00bf54cbe7d48a09fb3f24bfee0bee7a04a8f Suggested-by: Marek Vasut <marex@denx.de> Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com> Reviewed-by: Marek Vasut <marex@denx.de> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit f7b7c721332c2e262035d306296d53c2511763a0)
show more ...
|
| #
7d10cedb |
| 12-Apr-2022 |
Marek Vasut <marex@denx.de> |
UPSTREAM: usb: dwc3: Rename .select_dr_mode to .glue_configure
Rename the select_dr_mode callback to glue_configure, the callback is used for more than enforcing controller mode even on the TI chips
UPSTREAM: usb: dwc3: Rename .select_dr_mode to .glue_configure
Rename the select_dr_mode callback to glue_configure, the callback is used for more than enforcing controller mode even on the TI chips, so change the name to a more generic one. No functional change.
Change-Id: Ia08f59500c1840dd7505c94f1e10dc206783053e Tested-By: Tim Harvey <tharvey@gateworks.com> #imx8mp-venice-gw74xx Signed-off-by: Marek Vasut <marex@denx.de> Cc: Angus Ainslie <angus@akkea.ca> Cc: Bin Meng <bmeng.cn@gmail.com> Cc: Fabio Estevam <festevam@gmail.com> Cc: Kunihiko Hayashi <hayashi.kunihiko@socionext.com> Cc: Michal Simek <michal.simek@xilinx.com> Cc: Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit f1ef95591c29c1324415dc0a61254160d7d9290a)
show more ...
|
| #
631619a4 |
| 28-Jan-2021 |
William Wu <william.wu@rock-chips.com> |
usb: dwc3-generic: support host mode if dr_mode is otg
The Rockchip DWC3 controller only support DRD mode (Dual Role Device), but not support OTG mode. So if the dr_mode in DTS is configured to OTG,
usb: dwc3-generic: support host mode if dr_mode is otg
The Rockchip DWC3 controller only support DRD mode (Dual Role Device), but not support OTG mode. So if the dr_mode in DTS is configured to OTG, then we force it to Host mode. This patch does not affect the device function of OTG, such as rockusb.
Signed-off-by: William Wu <william.wu@rock-chips.com> Change-Id: I806623aa9b0bb8b595417755db7d9c6b6c4f38f1
show more ...
|
| #
c637f232 |
| 16-Apr-2020 |
Joseph Chen <chenjh@rock-chips.com> |
Merge branch 'next-dev' into thunder-boot
Change-Id: I22ac688008080eac49169d752a94b66668f890fc
Conflicts: drivers/phy/Kconfig drivers/phy/Makefile
|
| #
ea6d52da |
| 18-Feb-2020 |
Frank Wang <frank.wang@rock-chips.com> |
usb: dwc3: add make compatible for rockchip platform
RK3399 Type-C PHY is required that must hold whole USB3.0 OTG controller in resetting to hold pipe power state in P2 before initializing the PHY.
usb: dwc3: add make compatible for rockchip platform
RK3399 Type-C PHY is required that must hold whole USB3.0 OTG controller in resetting to hold pipe power state in P2 before initializing the PHY. This commit fixed it and added device compatible for rockchip platform.
Change-Id: I2a546ac91632ea29d9ea88e94bfde948c387b834 Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
show more ...
|
| #
ef78966d |
| 04-Mar-2020 |
Kever Yang <kever.yang@rock-chips.com> |
FROMLIST: usb: Migrate to support live DT for some driver
Use ofnode_ instead of fdt_ APIs so that the drivers can support live DT. This patch updates usb_get_dr_mode() and usb_get_maximum_speed() t
FROMLIST: usb: Migrate to support live DT for some driver
Use ofnode_ instead of fdt_ APIs so that the drivers can support live DT. This patch updates usb_get_dr_mode() and usb_get_maximum_speed() to use ofnode as parameter instead of fdt offset. And all the drivers who use these APIs update to use live dt APIs at the same time.
Change-Id: I41a3fa52e8fdb99f7fc36b1bc0eb21ae82f90e63 Signed-off-by: Kever Yang <kever.yang@rock-chips.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (am from http://patchwork.ozlabs.org/patch/1248682/)
show more ...
|
| #
1a4f6af8 |
| 02-Mar-2020 |
Joseph Chen <chenjh@rock-chips.com> |
Merge branch 'next-dev' into thunder-boot
|
| #
c6e835c1 |
| 25-Oct-2019 |
Vignesh Raghavendra <vigneshr@ti.com> |
UPSTREAM: dwc3-generic: Don't fail probe if clk/reset entries are absent
Some boards don't populate clk/reset entries as these are are optional as per binding documentation. Therefore, don't fail dr
UPSTREAM: dwc3-generic: Don't fail probe if clk/reset entries are absent
Some boards don't populate clk/reset entries as these are are optional as per binding documentation. Therefore, don't fail driver probe if clk/reset entries are absent in DT.
This fixes fastboot failures seen due to enabling of CONFIG_CLK on AM57xx
Change-Id: I5a8e1d24f74b78647fd263ba11eaf68d4252abb5 Fixes: e8e683d33b0c ("board: ti: am57xx-idk: Configure the CDCE913 clock synthesizer") Reported-by: Sam Protsenko <semen.protsenko@linaro.org> Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit d624434f5ebc5e3eb5f5609f06200f477cf8d8b5)
show more ...
|
| #
eedade57 |
| 11-Sep-2019 |
Jean-Jacques Hiblot <jjhiblot@ti.com> |
UPSTREAM: usb: dwc3: Add dwc3_of_parse() to get quirks information from DT
Add a new function that read quirk and configuration information from the DT. The goal is to allow platforms using their ow
UPSTREAM: usb: dwc3: Add dwc3_of_parse() to get quirks information from DT
Add a new function that read quirk and configuration information from the DT. The goal is to allow platforms using their own version of DWC3 driver to migrate to the generic DWC3 driver. The function is adapted from the function dwc3_get_properties() in the linux dwc3 driver introduced in commit c5ac6116db35d.
Change-Id: I0716519c36b390cee532d3556e136012a277d036 Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit ba6c5f7a28c8f8ac9eae194c2d37afa0ef51cb3d)
show more ...
|
| #
28b6cda6 |
| 11-Sep-2019 |
Jean-Jacques Hiblot <jjhiblot@ti.com> |
UPSTREAM: usb: dwc3-generic: if no max speed is specified in DT, assume super speed
There is no need to fail if the maximum speed is not specified. If the speed is not specified, do the same as linu
UPSTREAM: usb: dwc3-generic: if no max speed is specified in DT, assume super speed
There is no need to fail if the maximum speed is not specified. If the speed is not specified, do the same as linux and assume super speed.
Change-Id: I6fd5df9a3536a939b96915f6e260904da947e466 Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit 1a63e5e5fbfff7779ce24b404bef3b8ccddf1a8b)
show more ...
|
| #
f7133ecd |
| 11-Sep-2019 |
Jean-Jacques Hiblot <jjhiblot@ti.com> |
UPSTREAM: usb: dwc3-generic: add a new host driver that uses the dwc3 core
Currently the host driver used by dwc3-generic is "xhci-dwc3". This is a functional driver but it doesn't use the dwc3 core
UPSTREAM: usb: dwc3-generic: add a new host driver that uses the dwc3 core
Currently the host driver used by dwc3-generic is "xhci-dwc3". This is a functional driver but it doesn't use the dwc3 core and, in particular, it lacks some bits that may be important. For example on the k2 platforms, it is important that the phy are properly suspended when the USB is not used anymore. The dwc3 core also has a partial support for quirks. The new driver can be used as a drop-in replacement for "xhci-dwc3".
In terms of implementation, it may seem strange that 2 private structures dwc3_generic_host_priv and dwc3_generic_priv) are used. The reason for this is simply that the xhci layer expects a struct xhci_ctrl at the beginning of the private data and it seemed wasteful to include it also for the peripheral case.
Change-Id: I68b9e506836292d5de24feb55c5619d907c173ef Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit b575e909168ca559609f6793720c4811b1dd55fd)
show more ...
|
| #
0d25c40a |
| 11-Sep-2019 |
Jean-Jacques Hiblot <jjhiblot@ti.com> |
UPSTREAM: usb: dwc3-generic: factorize code
Factor code for re-usability. This is another step toward adding host support.
Change-Id: I7c59c13bd9df4839e77555a45720fe318acde94c Signed-off-by: Jean-J
UPSTREAM: usb: dwc3-generic: factorize code
Factor code for re-usability. This is another step toward adding host support.
Change-Id: I7c59c13bd9df4839e77555a45720fe318acde94c Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit 1af590df164f88fffb6484842eec8c8d8e500e70)
show more ...
|
| #
c28d0fe2 |
| 11-Sep-2019 |
Jean-Jacques Hiblot <jjhiblot@ti.com> |
UPSTREAM: usb: dwc3-generic: use platdata
Separate platform data from the private data. This is one step toward adding host support.
Change-Id: Ibd70d22283d064c77a179105c7e7f5675a598c49 Signed-off-
UPSTREAM: usb: dwc3-generic: use platdata
Separate platform data from the private data. This is one step toward adding host support.
Change-Id: Ibd70d22283d064c77a179105c7e7f5675a598c49 Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit 3a38a0adb95bfebbbd39b2bb164f04bdeb10bc03)
show more ...
|
| #
f44c88f1 |
| 05-Jul-2019 |
Jean-Jacques Hiblot <jjhiblot@ti.com> |
UPSTREAM: usb: dwc3: Use UCLASS_NOP instead of UCLASS_MISC for the DWC3 generic glue
dwc3-generic has been broken since MISC uclass has been modified to scan DT sub-nodes after bind. Fixing it by a
UPSTREAM: usb: dwc3: Use UCLASS_NOP instead of UCLASS_MISC for the DWC3 generic glue
dwc3-generic has been broken since MISC uclass has been modified to scan DT sub-nodes after bind. Fixing it by a using the no-op uclass.
Change-Id: Id95c49a16951cbe8bc7e58d8a3f85a7372ffd00a Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit 3b83829ed63fabe460592395571c1d8fd9b861c8)
show more ...
|
| #
8fff75ba |
| 05-Jul-2019 |
Jean-Jacques Hiblot <jjhiblot@ti.com> |
UPSTREAM: usb: dwc3-generic: remove dm_scan_fdt_dev() from the remove() callback
There is simply no reason to do that here.
Change-Id: I4336f493dc638bd0b5dd57cbd4a934c93c5bb0ff Signed-off-by: Jean-
UPSTREAM: usb: dwc3-generic: remove dm_scan_fdt_dev() from the remove() callback
There is simply no reason to do that here.
Change-Id: I4336f493dc638bd0b5dd57cbd4a934c93c5bb0ff Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit e445d46651de61fdfecf34cc2cd97d58ca6c5cf3)
show more ...
|
| #
f7334c81 |
| 04-Dec-2018 |
Jean-Jacques Hiblot <jjhiblot@ti.com> |
UPSTREAM: dwc3-generic: Add support for the am437x
Change-Id: Ifbb1d31cfa83384e60c2d20af4e1b37085ee4232 Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com
UPSTREAM: dwc3-generic: Add support for the am437x
Change-Id: Ifbb1d31cfa83384e60c2d20af4e1b37085ee4232 Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit 1ce5f1f933b6b3e0994b4b7d198afe0198442888)
show more ...
|
| #
4323bebb |
| 04-Dec-2018 |
Jean-Jacques Hiblot <jjhiblot@ti.com> |
UPSTREAM: usb: dwc3-generic: make it compatible with "ti, keystone-dwc3"
Change-Id: Ibb728efe79707ce2d5b4cc7910428b4821719b28 Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: Tom Ri
UPSTREAM: usb: dwc3-generic: make it compatible with "ti, keystone-dwc3"
Change-Id: Ibb728efe79707ce2d5b4cc7910428b4821719b28 Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit 1c03ade328dd08603fa717076c5888557f1a9fa7)
show more ...
|
| #
bb24d586 |
| 29-Nov-2018 |
Jean-Jacques Hiblot <jjhiblot@ti.com> |
UPSTREAM: dwc3-generic: Add support for the TI DWC3 glue
Change-Id: Id225a6f88c94a187f3d19f1bef90dd66a9399a95 Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Signed-off-by: Frank Wang <frank.wa
UPSTREAM: dwc3-generic: Add support for the TI DWC3 glue
Change-Id: Id225a6f88c94a187f3d19f1bef90dd66a9399a95 Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit d66e54ac8084f892bf9a43f3242b5e2bf9a686ed)
show more ...
|
| #
c08fbf46 |
| 29-Nov-2018 |
Jean-Jacques Hiblot <jjhiblot@ti.com> |
UPSTREAM: dwc3-generic: Add select_dr_mode operation
The select_dr_mode operation is executed when the glue driver is probed. The role of this optional function is to configure the operating mode of
UPSTREAM: dwc3-generic: Add select_dr_mode operation
The select_dr_mode operation is executed when the glue driver is probed. The role of this optional function is to configure the operating mode of the controller at the glue level.
Change-Id: I613fc4e985d9400ae9f27b6becff9d6c8d105e98 Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit 93991cf1969077108ae36e90acb3cd25a6a449ac)
show more ...
|
| #
bb4f93a7 |
| 29-Nov-2018 |
Jean-Jacques Hiblot <jjhiblot@ti.com> |
UPSTREAM: dwc3-generic: Handle the PHYs, the clocks and the reset lines
This make the driver more generic. At this point this driver can replace the dwc3-of-simple implementation. Make the descripti
UPSTREAM: dwc3-generic: Handle the PHYs, the clocks and the reset lines
This make the driver more generic. At this point this driver can replace the dwc3-of-simple implementation. Make the description in the Kconfig more generic too.
Change-Id: Icf52db944e2559492cee912e14357f79713ba797 Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit 446e3a205b871943736e22565092771fac98a9a4)
show more ...
|
| #
20828bba |
| 29-Nov-2018 |
Jean-Jacques Hiblot <jjhiblot@ti.com> |
UPSTREAM: dm: usb: create a new UCLASS ID for USB gadget devices
UCLASS_USB_DEV_GENERIC was meant for USB devices connected to host controllers, not gadget devices. Adding a new UCLASS for gadget de
UPSTREAM: dm: usb: create a new UCLASS ID for USB gadget devices
UCLASS_USB_DEV_GENERIC was meant for USB devices connected to host controllers, not gadget devices. Adding a new UCLASS for gadget devices alone.
Also move the generic DM code for USB gadgets in a separate file for clarity.
Conflicts: board/sunxi/board.c
Change-Id: I9bd01ad0814b81f7718927660a8ece4080c5f988 Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit 0131162439508801b9f8a330fa731f04273c9337)
show more ...
|
| #
72736107 |
| 29-Nov-2018 |
Jean-Jacques Hiblot <jjhiblot@ti.com> |
UPSTREAM: dwc3_generic: do not probe the USB device driver when it's bound
The driver will be probed when usb_gadget_initialize() is called.
Change-Id: I3783059179b8b4f21592227ea948f809a6b7c438 Sig
UPSTREAM: dwc3_generic: do not probe the USB device driver when it's bound
The driver will be probed when usb_gadget_initialize() is called.
Change-Id: I3783059179b8b4f21592227ea948f809a6b7c438 Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit 20bebd866690bb09dd1c1cb8ac674c3b17b63c6d)
show more ...
|