usbotg_core.h 775 B

12345678910111213141516171819202122232425262728293031323334
  1. /*
  2. * Copyright (c) 2025, sakumisu
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. #ifndef USBOTG_CORE_H
  7. #define USBOTG_CORE_H
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11. #define USBOTG_MODE_UNKNOWN 0
  12. #define USBOTG_MODE_OTG 1
  13. #define USBOTG_MODE_HOST 2
  14. #define USBOTG_MODE_DEVICE 3
  15. #include "usbd_core.h"
  16. #include "usbh_core.h"
  17. #include "usb_otg.h"
  18. int usbotg_initialize(uint8_t otg_mode, uint8_t busid, uint32_t reg_base,
  19. int (*usbh_initialize)(uint8_t busid, uint32_t reg_base),
  20. int (*usbd_initialize)(uint8_t busid, uint32_t reg_base));
  21. int usbotg_deinitialize(uint8_t busid, uint32_t reg_base);
  22. /* called by user */
  23. void usbotg_trigger_role_change(uint8_t busid);
  24. #ifdef __cplusplus
  25. }
  26. #endif
  27. #endif /* USBOTG_CORE_H */