5#ifndef OPENTITAN_SW_DEVICE_LIB_DIF_DIF_USBDEV_H_
6#define OPENTITAN_SW_DEVICE_LIB_DIF_DIF_USBDEV_H_
21#include "sw/device/lib/dif/autogen/dif_usbdev_autogen.h"
30#define USBDEV_NUM_ENDPOINTS 12
31#define USBDEV_MAX_PACKET_SIZE 64
34#define USBDEV_NUM_BUFFERS 32
37#define USBDEV_ENDPOINT_DIR_IN 1
38#define USBDEV_ENDPOINT_DIR_OUT 0
53} dif_usbdev_endpoint_id_t;
65 uint8_t buffers[USBDEV_NUM_BUFFERS];
254 dif_usbdev_endpoint_id_t endpoint,
267 dif_usbdev_endpoint_id_t endpoint,
284 dif_usbdev_endpoint_id_t endpoint,
300 dif_usbdev_endpoint_id_t endpoint,
396 size_t dst_len,
size_t *bytes_written);
481 const uint8_t *src,
size_t src_len,
482 size_t *bytes_written);
651 uint16_t mask, uint16_t state);
665 uint16_t mask, uint16_t state);
687 uint16_t *frame_index);
708 kDifUsbdevLinkStateDisconnected,
709 kDifUsbdevLinkStatePowered,
710 kDifUsbdevLinkStatePoweredSuspended,
711 kDifUsbdevLinkStateActive,
712 kDifUsbdevLinkStateSuspended,
713 kDifUsbdevLinkStateActiveNoSof,
714 kDifUsbdevLinkStateResuming,
752 const dif_usbdev_t *usbdev, uint8_t *setup_depth, uint8_t *out_depth);
767 const dif_usbdev_t *usbdev,
bool *setup_is_full,
bool *out_is_full);
829} dif_usbdev_wake_status_t;
848 dif_usbdev_wake_status_t *
status);
884} dif_usbdev_phy_pins_sense_t;
914} dif_usbdev_phy_pins_drive_t;
927 dif_usbdev_phy_pins_drive_t overrides);
942 const uint8_t *src,
size_t src_len);
957 uint8_t *dst,
size_t dst_len);