dwc3-generic.h 754 B

123456789101112131415161718192021222324252627282930313233
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * dwc3-generic.h - Generic DWC3 Glue layer header
  4. *
  5. * Copyright (C) 2016 - 2018 Xilinx, Inc.
  6. * Copyright (C) 2023 Socionext Inc.
  7. */
  8. #ifndef __DRIVERS_USB_DWC3_GENERIC_H
  9. #define __DRIVERS_USB_DWC3_GENERIC_H
  10. #include <clk.h>
  11. #include <reset.h>
  12. #include <dwc3-uboot.h>
  13. struct dwc3_glue_data {
  14. struct clk_bulk clks;
  15. struct reset_ctl_bulk resets;
  16. fdt_addr_t regs;
  17. fdt_size_t size;
  18. };
  19. struct dwc3_glue_ops {
  20. int (*glue_get_ctrl_dev)(struct udevice *parent, ofnode *node);
  21. void (*glue_configure)(struct udevice *dev, int index,
  22. enum usb_dr_mode mode);
  23. };
  24. int dwc3_glue_bind(struct udevice *parent);
  25. int dwc3_glue_probe(struct udevice *dev);
  26. int dwc3_glue_remove(struct udevice *dev);
  27. #endif