2023-02-20 05:50:28 +00:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0 */
|
|
|
|
/*
|
|
|
|
* dwc3-generic.h - Generic DWC3 Glue layer header
|
|
|
|
*
|
|
|
|
* Copyright (C) 2016 - 2018 Xilinx, Inc.
|
|
|
|
* Copyright (C) 2023 Socionext Inc.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __DRIVERS_USB_DWC3_GENERIC_H
|
|
|
|
#define __DRIVERS_USB_DWC3_GENERIC_H
|
|
|
|
|
|
|
|
#include <clk.h>
|
|
|
|
#include <reset.h>
|
|
|
|
#include <dwc3-uboot.h>
|
|
|
|
|
|
|
|
struct dwc3_glue_data {
|
|
|
|
struct clk_bulk clks;
|
|
|
|
struct reset_ctl_bulk resets;
|
|
|
|
fdt_addr_t regs;
|
2023-02-20 05:50:29 +00:00
|
|
|
fdt_size_t size;
|
2023-02-20 05:50:28 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct dwc3_glue_ops {
|
|
|
|
int (*glue_get_ctrl_dev)(struct udevice *parent, ofnode *node);
|
|
|
|
void (*glue_configure)(struct udevice *dev, int index,
|
|
|
|
enum usb_dr_mode mode);
|
|
|
|
};
|
|
|
|
|
|
|
|
int dwc3_glue_bind(struct udevice *parent);
|
|
|
|
int dwc3_glue_probe(struct udevice *dev);
|
|
|
|
int dwc3_glue_remove(struct udevice *dev);
|
|
|
|
|
|
|
|
#endif
|