#elif defined(USB_MTPDISK) // \cores\teensy4 usb_desc.h
#define VENDOR_ID 0x16C0
#define PRODUCT_ID 0x04D1
#define MANUFACTURER_NAME {'T','e','e','n','s','y','d','u','i','n','o'}
#define MANUFACTURER_NAME_LEN 11
#define PRODUCT_NAME {'T','e','e','n','s','y',' ','M','T','P',' ','D','i','s','k'}
#define PRODUCT_NAME_LEN 15
#define EP0_SIZE 64
#define NUM_INTERFACE 2
#define NUM_ENDPOINTS 4
#define SEREMU_INTERFACE 1 // Serial emulation
#define SEREMU_TX_ENDPOINT 2
#define SEREMU_RX_ENDPOINT 2
#define SEREMU_TX_SIZE 64
#define SEREMU_RX_SIZE 32
#define SEREMU_TX_INTERVAL 1 // TODO: is this ok for 480 Mbit speed
#define SEREMU_RX_INTERVAL 2 // TODO: is this ok for 480 Mbit speed
#define MTP_INTERFACE 2 // MTP Disk
#define MTP_TX_ENDPOINT 3
#define MTP_RX_ENDPOINT 3
#define MTP_EVENT_ENDPOINT 4
#define MTP_TX_SIZE_480 512
#define MTP_RX_SIZE_480 512
#define MTP_TX_SIZE_12 64
#define MTP_RX_SIZE_12 64
#define MTP_EVENT_SIZE 16
#define MTP_EVENT_INTERVAL 1
#define ENDPOINT2_CONFIG ENDPOINT_RECEIVE_INTERRUPT + ENDPOINT_TRANSMIT_INTERRUPT // Serial emulation
#define ENDPOINT3_CONFIG ENDPOINT_RECEIVE_BULK + ENDPOINT_TRANSMIT_BULK
#define ENDPOINT4_CONFIG ENDPOINT_RECEIVE_INTERRUPT + ENDPOINT_TRANSMIT_INTERRUPT // ????
#elif defined(USB_MTPDISK_SERIAL) // \cores\teensy4 usb_desc.h
#define VENDOR_ID 0x16C0
#define PRODUCT_ID 0x04D1
// from (USB_SERIAL_HID)
#define DEVICE_CLASS 0xEF
#define DEVICE_SUBCLASS 0x02
#define DEVICE_PROTOCOL 0x01
#define MANUFACTURER_NAME {'T','e','e','n','s','y','d','u','i','n','o'}
#define MANUFACTURER_NAME_LEN 11
#define PRODUCT_NAME {'T','e','e','n','s','y',' ','M','T','P',' ','D','i','s','k','/','S','e','r','i','a','l'}
#define PRODUCT_NAME_LEN 22
#define EP0_SIZE 64
#define NUM_ENDPOINTS 5
//#define NUM_USB_BUFFERS 22
#define NUM_INTERFACE 3
#define CDC_IAD_DESCRIPTOR 1
#define CDC_STATUS_INTERFACE 0
#define CDC_DATA_INTERFACE 1 // Native Serial port
#define CDC_ACM_ENDPOINT 2
#define CDC_RX_ENDPOINT 3
#define CDC_TX_ENDPOINT 3
#define CDC_ACM_SIZE 16
#define CDC_RX_SIZE_480 512
#define CDC_TX_SIZE_480 512
#define CDC_RX_SIZE_12 64
#define CDC_TX_SIZE_12 64
#define MTP_INTERFACE 2 // MTP Disk
#define MTP_TX_ENDPOINT 4
#define MTP_RX_ENDPOINT 4
#define MTP_EVENT_ENDPOINT 5
#define MTP_TX_SIZE_480 512
#define MTP_RX_SIZE_480 512
#define MTP_TX_SIZE_12 64
#define MTP_RX_SIZE_12 64
#define MTP_EVENT_SIZE 16
#define MTP_EVENT_INTERVAL 1
#define ENDPOINT2_CONFIG ENDPOINT_RECEIVE_UNUSED + ENDPOINT_TRANSMIT_INTERRUPT // Native Serial port
#define ENDPOINT3_CONFIG ENDPOINT_RECEIVE_BULK + ENDPOINT_TRANSMIT_BULK // Native Serial port
#define ENDPOINT4_CONFIG ENDPOINT_RECEIVE_BULK + ENDPOINT_TRANSMIT_BULK // MTP Disk
#define ENDPOINT5_CONFIG ENDPOINT_RECEIVE_INTERRUPT + ENDPOINT_TRANSMIT_INTERRUPT // MTP Disk