| 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 ...
|
| efc9f556 | 19-Feb-2020 |
Frank Wang <frank.wang@rock-chips.com> |
usb: dwc3: add dis_u2_freeclk_exists_quirk
Add a quirk to clear the GUSB2PHYCFG.U2_FREECLK_EXISTS bit, which specifies whether the USB2.0 PHY provides a free-running PHY clock, which is active when
usb: dwc3: add dis_u2_freeclk_exists_quirk
Add a quirk to clear the GUSB2PHYCFG.U2_FREECLK_EXISTS bit, which specifies whether the USB2.0 PHY provides a free-running PHY clock, which is active when the clock control input is active.
Refer to commit 27f83eeb6b42("usb: dwc3: add dis_u2_freeclk_exists_quirk") in Linux Rockchip Kernel.
Change-Id: Id90ac25a7e82bbf7918cc9658797c23008871852 Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
show more ...
|
| 5433dc64 | 14-Jan-2020 |
Frank Wang <frank.wang@rock-chips.com> |
usb: dwc3: gadget: fix TRB buffer to multiple of MaxPacketSize
According to the chapter 8.2.3.3 of DWC3 Databook, the total size of a Buffer Descriptor must be a multiple of MaxPacketSize for OUT en
usb: dwc3: gadget: fix TRB buffer to multiple of MaxPacketSize
According to the chapter 8.2.3.3 of DWC3 Databook, the total size of a Buffer Descriptor must be a multiple of MaxPacketSize for OUT endpoints. This commit fixes it.
Change-Id: I7a4ae8ee73561c06cb4927cb83b4ae18a3f46c43 Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
show more ...
|
| c936c8a6 | 14-Jan-2020 |
Frank Wang <frank.wang@rock-chips.com> |
usb: dwc3: gadget: always enable CSP
CSP bit of TRB Control is useful for protocols such CDC EEM/ECM/NCM where we're transferring in blocks of MTU-sized requests (usually MTU is 1500 bytes).
We kno
usb: dwc3: gadget: always enable CSP
CSP bit of TRB Control is useful for protocols such CDC EEM/ECM/NCM where we're transferring in blocks of MTU-sized requests (usually MTU is 1500 bytes).
We know we will always have a short packet after two (for HS) wMaxPacketSize packets and, usually, we will have a long(-ish) queue of requests (for our g_ether gadget, we have at least 10 requests).
Instead of always stopping the queue processing to interrupt, giveback and restart, let's tell dwc3 to interrupt but continue processing following request if we have anything already pending in the queue.
Refer to commit ca4d44ea2a91 ("usb: dwc3: gadget: always enable CSP") in Linux Kernel.
Change-Id: Icce79fa174f6d7f040e1c332fe6792a1922c5a04 Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
show more ...
|
| 9c946fbb | 09-Jan-2020 |
Frank Wang <frank.wang@rock-chips.com> |
usb: dwc3: add dis-u1u2-quirk to reject enter U1 and U2
The DWC3 with Innosilicon USB 3.0 PHY on Rockchip platforms (e.g. rk3328, rk1808) has problem to exit to U0 state from U1 or U2 state when DWC
usb: dwc3: add dis-u1u2-quirk to reject enter U1 and U2
The DWC3 with Innosilicon USB 3.0 PHY on Rockchip platforms (e.g. rk3328, rk1808) has problem to exit to U0 state from U1 or U2 state when DWC3 work as peripheral mode. This patch adds a quirk to reject transition to U1 and U2 state to workaround this issue.
Refer to commit aaa5c055cc06 ("usb: dwc3: add dis-u1u2-quirk to reject enter U1 and U2") in Rockchip Linux Kernel-4.4 .
Change-Id: I1f4176caab3ccdc31ba7eb06684267833bf804db Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
show more ...
|