1/* SPDX-License-Identifier: GPL-2.0+ */ 2/* 3 * drivers/usb/gadget/dwc2_udc.h 4 * Designware DWC2 on-chip full/high speed USB device controllers 5 * Copyright (C) 2005 for Samsung Electronics 6 */ 7 8#ifndef __DWC2_USB_GADGET 9#define __DWC2_USB_GADGET 10 11#include <dm/ofnode.h> 12 13#define PHY0_SLEEP (1 << 5) 14#define DWC2_MAX_HW_ENDPOINTS 16 15 16struct dwc2_plat_otg_data { 17 void *priv; 18 ofnode phy_of_node; 19 int (*phy_control)(int on); 20 uintptr_t regs_phy; 21 uintptr_t regs_otg; 22 unsigned int usb_phy_ctrl; 23 unsigned int usb_flags; 24 unsigned int usb_gusbcfg; 25 unsigned int rx_fifo_sz; 26 unsigned int np_tx_fifo_sz; 27 unsigned int tx_fifo_sz; 28 unsigned int tx_fifo_sz_array[DWC2_MAX_HW_ENDPOINTS]; 29 unsigned char tx_fifo_sz_nb; 30 bool force_b_session_valid; 31 bool force_vbus_detection; 32 bool activate_stm_id_vb_detection; 33}; 34 35int dwc2_udc_probe(struct dwc2_plat_otg_data *pdata); 36 37int dwc2_udc_B_session_valid(struct udevice *dev); 38 39#endif /* __DWC2_USB_GADGET */ 40