[PATCH v6 0/3] usb: gadget: rcar: Add RZ/G2L support and lifecycle fixes

Michele Bisogno micbis.openwrt at gmail.com
Fri Apr 24 18:03:13 CEST 2026


This series adds support for the Renesas RZ/G2L (R9A07G044) USBHS
controller. During development, several lifecycle and resource 
management issues were identified and addressed to satisfy RZ/G2L 
hardware requirements and prevent resource leaks across the driver.

The series is split into three logical parts to ensure bisectability:
1. A bugfix for the gadget deletion sequence during driver remove.
2. The addition of reset controller infrastructure and proper 
   clock/reset teardown logic.
3. The RZ/G2L specific hardware parameters, SYSCFG logic, and 
   compatible strings.

Changes in v6:
- Fixed teardown order in usbhs_udc_otg_remove() to ensure PHY shutdown 
  occurs before reset assertion and clock disablement.
- Added explicit reset_release_bulk() and clk_release_bulk() to both 
  the remove path and the probe error paths.
- Sorted header inclusions alphabetically as requested.
- Fixed a bug in the clock enable error path where resources were 
  not properly released.
- Carried over the Reviewed-by tags

Changes in v5:
- Simplified usbhs_probe() signature to only take struct udevice *dev,
  deriving private data internally as requested.
- Fixed resource leak in usbhs_udc_otg_probe() error paths by adding 
  reset_assert_bulk() to the teardown sequence.
- Standardized resource management by ensuring the probe error path 
  perfectly mirrors the removal path.

Changes in v4:
- Split the monolithic patch into a 3-patch series as requested.
- Added usb_del_gadget_udc() to fix resource leak on driver remove.
- Implemented bulk reset controller support (required for RZ/G2L).
- Improved error handling in probe() to ensure clocks are disabled 
  if reset initialization or deassertion fails.
- Moved reset and clock handles to private data to ensure persistence.
- Reorganized hunks to ensure each patch in the series compiles 
  independently (bisectability).


Michele Bisogno (3):
  usb: gadget: rcar: Fix gadget registration lifecycle in remove
  usb: gadget: rcar: Add support for reset controller
  usb: gadget: rcar: Add support for RZ/G2L (R9A07G044)

 drivers/usb/gadget/rcar/common.c      | 65 +++++++++++++++++++++++----
 drivers/usb/gadget/rcar/renesas_usb.h |  1 +
 2 files changed, 58 insertions(+), 8 deletions(-)

-- 
2.34.1



More information about the U-Boot mailing list