1*4e72b326SXuhui Lin /* 2*4e72b326SXuhui Lin * SPDX-License-Identifier: GPL-2.0+ 3*4e72b326SXuhui Lin * 4*4e72b326SXuhui Lin * (C) Copyright 2025 Rockchip Electronics Co., Ltd 5*4e72b326SXuhui Lin */ 6*4e72b326SXuhui Lin 7*4e72b326SXuhui Lin #include <common.h> 8*4e72b326SXuhui Lin #include <dwc3-uboot.h> 9*4e72b326SXuhui Lin #include <usb.h> 10*4e72b326SXuhui Lin 11*4e72b326SXuhui Lin DECLARE_GLOBAL_DATA_PTR; 12*4e72b326SXuhui Lin 13*4e72b326SXuhui Lin #ifdef CONFIG_USB_DWC3 14*4e72b326SXuhui Lin static struct dwc3_device dwc3_device_data = { 15*4e72b326SXuhui Lin .maximum_speed = USB_SPEED_HIGH, 16*4e72b326SXuhui Lin .base = 0x21500000, 17*4e72b326SXuhui Lin .dr_mode = USB_DR_MODE_PERIPHERAL, 18*4e72b326SXuhui Lin .index = 0, 19*4e72b326SXuhui Lin .dis_u2_susphy_quirk = 1, 20*4e72b326SXuhui Lin .usb2_phyif_utmi_width = 16, 21*4e72b326SXuhui Lin }; 22*4e72b326SXuhui Lin usb_gadget_handle_interrupts(void)23*4e72b326SXuhui Linint usb_gadget_handle_interrupts(void) 24*4e72b326SXuhui Lin { 25*4e72b326SXuhui Lin dwc3_uboot_handle_interrupt(0); 26*4e72b326SXuhui Lin return 0; 27*4e72b326SXuhui Lin } 28*4e72b326SXuhui Lin board_usb_init(int index,enum usb_init_type init)29*4e72b326SXuhui Linint board_usb_init(int index, enum usb_init_type init) 30*4e72b326SXuhui Lin { 31*4e72b326SXuhui Lin return dwc3_uboot_init(&dwc3_device_data); 32*4e72b326SXuhui Lin } 33*4e72b326SXuhui Lin #endif 34