// // Copyright 2019 Ettus Research, a National Instruments Brand // // SPDX-License-Identifier: GPL-3.0-or-later // /* Bootloader's unique config and string descriptors. */ /* Bootloader Full Speed Configuration Descriptor */ const unsigned char bl_fs_config_desc[] = { /* Configuration Descriptor Type */ 0x09, /* Descriptor Size */ 0x02, /* Configuration Descriptor Type */ 0x20,0x00, /* Length of this descriptor and all sub descriptors */ 0x01, /* Number of interfaces */ 0x01, /* Configuration number */ 0x00, /* COnfiguration string index */ 0x80, /* Config characteristics - Bus powered */ 0x32, /* Max power consumption of device (in 2mA unit) : 100mA */ /* Interface Descriptor */ 0x09, /* Descriptor size */ 0x04, /* Interface Descriptor type */ 0x00, /* Interface number */ 0x00, /* Alternate setting number */ 0x02, /* Number of end points */ 0xFF, /* Interface class */ 0x00, /* Interface sub class */ 0x00, /* Interface protocol code */ 0x00, /* Interface descriptor string index */ /* Endpoint Descriptor for Producer EP */ 0x07, /* Descriptor size */ 0x05, /* Endpoint Descriptor Type */ 0x01, /* Endpoint address and description */ 0x02, /* Bulk End point Type */ 0x40,0x00, /* Max packet size = 64 bytes */ 0x00, /* Servicing interval for data transfers : NA for Bulk */ /* Endpoint Descriptor for Consumer EP */ 0x07, /* Descriptor size */ 0x05, /* Endpoint Descriptor Type */ 0x81, /* Endpoint address and description */ 0x02, /* Bulk End point Type */ 0x40,0x00, /* Max packet size = 64 bytes */ 0x00 /* Servicing interval for data transfers : NA for Bulk */ }; /* Bootloader High Speed Configuration Descriptor */ const unsigned char bl_hs_config_desc[] = { 0x09, /* Descriptor Size */ 0x02, /* Configuration Descriptor Type */ 0x20,0x00, /* Length of this descriptor and all sub descriptors */ 0x01, /* Number of interfaces */ 0x01, /* Configuration number */ 0x00, /* COnfiguration string index */ 0x80, /* Config characteristics - Bus powered */ 0x32, /* Max power consumption of device (in 2mA unit) : 100mA */ /* Interface Descriptor */ 0x09, /* Descriptor size */ 0x04, /* Interface Descriptor type */ 0x00, /* Interface number */ 0x00, /* Alternate setting number */ 0x02, /* Number of end points */ 0xFF, /* Interface class */ 0x00, /* Interface sub class */ 0x00, /* Interface protocol code */ 0x00, /* Interface descriptor string index */ /* Endpoint Descriptor for Producer EP */ 0x07, /* Descriptor size */ 0x05, /* Endpoint Descriptor Type */ 0x01, /* Endpoint address and description */ 0x02, /* Bulk End point Type */ 0x00, /* Max packet size = 512 bytes */ 0x02, 0x00, /* Servicing interval for data transfers : NA for Bulk */ /* Endpoint Descriptor for Consumer EP */ 0x07, /* Descriptor size */ 0x05, /* Endpoint Descriptor Type */ 0x81, /* Endpoint address and description */ 0x02, /* Bulk End point Type */ 0x00, /* Max packet size = 512 bytes */ 0x02, 0x00 /* Servicing interval for data transfers : NA for Bulk */ }; /* Bootloader Super Speed Configuration Descriptor */ const unsigned char bl_ss_config_desc[] = { /* Configuration Descriptor Type */ 0x09, /* Descriptor Size */ 0x02, /* Configuration Descriptor Type */ 0x2C,0x00, /* Length of this descriptor and all sub descriptors */ 0x01, /* Number of interfaces */ 0x01, /* Configuration number */ 0x00, /* COnfiguration string index */ 0x80, /* Config characteristics - D6: Self power; D5: Remote Wakeup */ 0x32, /* Max power consumption of device (in 8mA unit) : 400mA */ /* Interface Descriptor */ 0x09, /* Descriptor size */ 0x04, /* Interface Descriptor type */ 0x00, /* Interface number */ 0x00, /* Alternate setting number */ 0x02, /* Number of end points */ 0xFF, /* Interface class */ 0x00, /* Interface sub class */ 0x00, /* Interface protocol code */ 0x00, /* Interface descriptor string index */ /* Endpoint Descriptor for Producer EP */ 0x07, /* Descriptor size */ 0x05, /* Endpoint Descriptor Type */ 0x01, /* Endpoint address and description */ 0x02, /* Bulk End point Type */ 0x00,0x04, /* Max packet size = 1024 bytes */ 0x00, /* Servicing interval for data transfers : NA for Bulk */ /* Super Speed Endpoint Companion Descriptor for Producer EP */ 0x06, /* Descriptor size */ 0x30, /* SS Endpoint Companion Descriptor Type */ 0x00, /* Max no. of packets in a Burst : 0: Burst 1 packet at a time */ 0x00, /* Max streams for Bulk EP = 0 (No streams)*/ 0x00,0x00, /* Service interval for the EP : NA for Bulk */ /* Endpoint Descriptor for Consumer EP */ 0x07, /* Descriptor size */ 0x05, /* Endpoint Descriptor Type */ 0x81, /* Endpoint address and description */ 0x02, /* Bulk End point Type */ 0x00,0x04, /* Max packet size = 1024 bytes */ 0x00, /* Servicing interval for data transfers : NA for Bulk */ /* Super Speed Endpoint Companion Descriptor for Consumer EP */ 0x06, /* Descriptor size */ 0x30, /* SS Endpoint Companion Descriptor Type */ 0x00, /* Max no. of packets in a Burst : 0: Burst 1 packet at a time */ 0x00, /* Max streams for Bulk EP = 0 (No streams)*/ 0x00,0x00 /* Service interval for the EP : NA for Bulk */ }; /* Bootloader Product String Descriptor */ const unsigned char bl_manufacturer_desc[] = { 0x10, 0x03, 'C', 0x00, 'y', 0x00, 'p', 0x00, 'r', 0x00, 'e', 0x00, 's', 0x00, 's', 0x00 }; /* Bootloader Manufacturer String Descriptor */ const unsigned char bl_product_desc[] = { 0x16, 0x03, 'W', 0x00, 'e', 0x00, 's', 0x00, 't', 0x00, 'B', 0x00, 'r', 0x00, 'i', 0x00, 'd', 0x00, 'g', 0x00, 'e', 0x00 }; /* Bootloader Device Serial String Descriptor */ const unsigned char bl_dev_serial_desc [] = { 0x1A, /* bLength */ 0x03, /* bDescType */ '0',0,'0',0,'0',0,'0',0,'0',0,'0',0, '0',0,'0',0,'0',0,'4',0,'B',0,'E',0, 0,0, /* long word align */ };