xref: /rk3399_rockchip-uboot/board/rockchip/evb_rk3328/evb-rk3328.c (revision c637f2321bc4ce8e021571daba5bf82a677b865f)
1*1b23c040SFrank Wang // SPDX-License-Identifier:     GPL-2.0
2625ec503SKever Yang /*
3*1b23c040SFrank Wang  * Copyright (C) 2020 Rockchip Electronics Co., Ltd
4625ec503SKever Yang  */
5*1b23c040SFrank Wang 
6*1b23c040SFrank Wang #include <asm/io.h>
7*1b23c040SFrank Wang #include <usb.h>
8*1b23c040SFrank Wang #include <dwc3-uboot.h>
9*1b23c040SFrank Wang #include <linux/usb/phy-rockchip-inno-usb3.h>
10*1b23c040SFrank Wang 
11*1b23c040SFrank Wang #if CONFIG_IS_ENABLED(USB_DWC3_GADGET)
12*1b23c040SFrank Wang static struct dwc3_device dwc3_device_data = {
13*1b23c040SFrank Wang 	.maximum_speed = USB_SPEED_SUPER,
14*1b23c040SFrank Wang 	.base = 0xff600000,
15*1b23c040SFrank Wang 	.dr_mode = USB_DR_MODE_PERIPHERAL,
16*1b23c040SFrank Wang 	.index = 0,
17*1b23c040SFrank Wang 	.dis_u2_susphy_quirk = 1,
18*1b23c040SFrank Wang 	.dis_u1u2_quirk = 1,
19*1b23c040SFrank Wang 	.usb2_phyif_utmi_width = 16,
20*1b23c040SFrank Wang };
21*1b23c040SFrank Wang 
usb_gadget_handle_interrupts(void)22*1b23c040SFrank Wang int usb_gadget_handle_interrupts(void)
23*1b23c040SFrank Wang {
24*1b23c040SFrank Wang 	dwc3_uboot_handle_interrupt(0);
25*1b23c040SFrank Wang 	return 0;
26*1b23c040SFrank Wang }
27*1b23c040SFrank Wang 
board_usb_init(int index,enum usb_init_type init)28*1b23c040SFrank Wang int board_usb_init(int index, enum usb_init_type init)
29*1b23c040SFrank Wang {
30*1b23c040SFrank Wang 	rockchip_u3phy_uboot_init();
31*1b23c040SFrank Wang 	return dwc3_uboot_init(&dwc3_device_data);
32*1b23c040SFrank Wang }
33*1b23c040SFrank Wang #endif
34