public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH v4 0/8] usb: dwc2: Refactor and update USB DWC2 driver
@ 2025-01-10 13:55 Junhui Liu
  2025-01-10 13:55 ` [PATCH v4 1/8] usb: dwc2: Extract register definitions to common header file Junhui Liu
                   ` (8 more replies)
  0 siblings, 9 replies; 14+ messages in thread
From: Junhui Liu @ 2025-01-10 13:55 UTC (permalink / raw)
  To: Tom Rini, Marek Vasut, Lukasz Majewski, Mattijs Korpershoek
  Cc: u-boot, seashell11234455, pbrobinson, junhui.liu

This series improves the USB DWC2 driver by extracting register
definitions into a common file for better readability and updating the
reset method to reflect changes in version 4.20a, including the new
GRSTCTL_CSFTRST_DONE bit for reset completion indication.

This series has been tested on two platforms:
- MK808 with RK3066 SoC and dwc2 v2.91a, tested with USB flash drive and
  connected the board to the PC through the rockusb command. Test log [1].
- K230-CanMV with K230 SoC [2] and dwc2 v4.30a, tested with the onboard
  rtl8152 USB to net chip and an external rtl8152 adapter connected to
  the onboard USB-C interface via USB hub. Test log [3].

[1] https://gist.github.com/Judehahh/878ace2607d201dc49211f2c655f0fe0#file-mk808-md
[2] https://developer.canaan-creative.com/k230/en/dev/CanMV_K230_Tutorial.html
[3] https://gist.github.com/Judehahh/878ace2607d201dc49211f2c655f0fe0#file-k230-canmv-md

---
Changes in v4:
- Fixed typo from dwc2_core_reg to dwc2_core_regs in patch 1&5.
- Restored `struct dwc2_usbotg_phy` definition that was incorrectly
  removed in patch 6.
- Updated copyright headers to include 2025 in patch 7.
- Expanded comments to clarify PHY clock delay in patch 7.
- Link to v3: https://lore.kernel.org/r/20250104-dwc2-dev-v3-0-d4b2bc1996e4@pigmoral.tech

Changes in v3:
- Handled warnings from checkpatch.pl (add spaces around '<<' and
  replace 'x' with '(x)' for macro argument).
- Add return ret; when timeout happens.
- Link to v2: https://lore.kernel.org/r/20241230-dwc2-dev-v2-3-12cd9b8a2358@outlook.com

Changes in v2:
- Reorganized structures, renamed macros, and moved code for better
  clarity and maintainability.
- Added a fix for the incorrect ULPI_UTMI_SEL bit setting.
- Added a fix for incorrectly calculating HBstLen for external DMA mode.
- Extend the changes that replace uint32 with u32 to also include u8 and
  u16.
- Link to v1: https://lore.kernel.org/r/20240522142311.17351-1-seashell11234455@gmail.com

---
Junhui Liu (1):
      usb: dwc2: Fix incorrect ULPI_UTMI_SEL bit setting

Kongyang Liu (7):
      usb: dwc2: Extract register definitions to common header file
      usb: dwc2: Fix HBstLen setting for external DMA mode
      usb: dwc2: Clean up with bitfield macros
      usb: dwc2: Align macros with Linux kernel definitions
      usb: dwc2: Extract macro definitions to common header
      usb: dwc2: Unify flush and reset logic with v4.20a support
      usb: dwc2: Replace uint<x>_t types with u<x>

 drivers/usb/common/Makefile                |   2 +
 drivers/usb/common/dwc2_core.c             | 131 +++++
 drivers/usb/common/dwc2_core.h             | 560 +++++++++++++++++++++
 drivers/usb/gadget/dwc2_udc_otg.c          | 125 ++---
 drivers/usb/gadget/dwc2_udc_otg_regs.h     | 289 ++---------
 drivers/usb/gadget/dwc2_udc_otg_xfer_dma.c | 306 ++++++------
 drivers/usb/host/dwc2.c                    | 494 ++++++++-----------
 drivers/usb/host/dwc2.h                    | 750 +----------------------------
 8 files changed, 1154 insertions(+), 1503 deletions(-)
---
base-commit: 38a371110308ebeb277e20531a7b698b7981bbfa
change-id: 20241218-dwc2-dev-955c21a81118

Best regards,
-- 
Junhui Liu <junhui.liu@pigmoral.tech>


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

end of thread, other threads:[~2025-06-02  7:58 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-10 13:55 [PATCH v4 0/8] usb: dwc2: Refactor and update USB DWC2 driver Junhui Liu
2025-01-10 13:55 ` [PATCH v4 1/8] usb: dwc2: Extract register definitions to common header file Junhui Liu
2025-01-10 13:55 ` [PATCH v4 2/8] usb: dwc2: Fix incorrect ULPI_UTMI_SEL bit setting Junhui Liu
2025-01-10 13:55 ` [PATCH v4 3/8] usb: dwc2: Fix HBstLen setting for external DMA mode Junhui Liu
2025-01-10 13:55 ` [PATCH v4 4/8] usb: dwc2: Clean up with bitfield macros Junhui Liu
2025-01-10 13:55 ` [PATCH v4 5/8] usb: dwc2: Align macros with Linux kernel definitions Junhui Liu
2025-01-10 13:55 ` [PATCH v4 6/8] usb: dwc2: Extract macro definitions to common header Junhui Liu
2025-01-16  9:03   ` Mattijs Korpershoek
2025-01-10 13:55 ` [PATCH v4 7/8] usb: dwc2: Unify flush and reset logic with v4.20a support Junhui Liu
2025-01-11 21:25   ` Marek Vasut
2025-01-16  9:22   ` Mattijs Korpershoek
2025-01-10 13:55 ` [PATCH v4 8/8] usb: dwc2: Replace uint<x>_t types with u<x> Junhui Liu
2025-01-16  9:24   ` Mattijs Korpershoek
2025-06-02  7:58 ` [PATCH v4 0/8] usb: dwc2: Refactor and update USB DWC2 driver Mattijs Korpershoek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox