11633e8d2SJoseph Chen /* 21633e8d2SJoseph Chen * SPDX-License-Identifier: GPL-2.0+ 31633e8d2SJoseph Chen * 41633e8d2SJoseph Chen * (C) Copyright 2019 Rockchip Electronics Co., Ltd 51633e8d2SJoseph Chen */ 61633e8d2SJoseph Chen 71633e8d2SJoseph Chen #include <common.h> 8*7422c372SRen Jianing #include <dwc3-uboot.h> 9*7422c372SRen Jianing #include <usb.h> 101633e8d2SJoseph Chen 111633e8d2SJoseph Chen DECLARE_GLOBAL_DATA_PTR; 121633e8d2SJoseph Chen 13*7422c372SRen Jianing #ifdef CONFIG_USB_DWC3 14*7422c372SRen Jianing static struct dwc3_device dwc3_device_data = { 15*7422c372SRen Jianing .maximum_speed = USB_SPEED_HIGH, 16*7422c372SRen Jianing .base = 0xffd00000, 17*7422c372SRen Jianing .dr_mode = USB_DR_MODE_PERIPHERAL, 18*7422c372SRen Jianing .index = 0, 19*7422c372SRen Jianing .dis_u2_susphy_quirk = 1, 20*7422c372SRen Jianing .usb2_phyif_utmi_width = 16, 21*7422c372SRen Jianing }; 22*7422c372SRen Jianing usb_gadget_handle_interrupts(void)23*7422c372SRen Jianingint usb_gadget_handle_interrupts(void) 24*7422c372SRen Jianing { 25*7422c372SRen Jianing dwc3_uboot_handle_interrupt(0); 26*7422c372SRen Jianing return 0; 27*7422c372SRen Jianing } 28*7422c372SRen Jianing board_usb_init(int index,enum usb_init_type init)29*7422c372SRen Jianingint board_usb_init(int index, enum usb_init_type init) 30*7422c372SRen Jianing { 31*7422c372SRen Jianing return dwc3_uboot_init(&dwc3_device_data); 32*7422c372SRen Jianing } 33*7422c372SRen Jianing #endif 34