xref: /rk3399_rockchip-uboot/board/rockchip/evb_rv1126b/evb_rv1126b.c (revision 4e72b3266b78595b835d5326b538aedd3bd0e034)
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 Lin int 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 Lin int 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