usb_cables: use generated cable defintions

This commit is contained in:
King Kévin 2019-12-11 13:45:07 +01:00
parent aa6bb0ace7
commit 26dc7d528b
2 changed files with 414 additions and 171 deletions

View File

@ -743,9 +743,9 @@ static const struct usb_connector_t usb_microb_device_connector = {
/** USB-C connector ("device" side, "A" side first) pins */
static const uint8_t usb_c_device_sidea_pins[] = {72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96};
/** USB-C connector ("device" side, "B" side first) pins */
//static const uint8_t usb_c_device_sideb_pins[] = {72, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84};
static const uint8_t usb_c_device_sideb_pins[] = {72, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84};
/** USB-C connector ("device" side) */
static const struct usb_connector_t usb_device_c_connector = {
static const struct usb_connector_t usb_c_device_connector = {
.name = "C",
.host = false,
.pins_nb = LENGTH(usb_c_device_sidea_pins),
@ -771,7 +771,7 @@ const struct usb_connector_t* usb_connectors[] = {
&usb_b_device_connector,
&usb_minib_device_connector,
&usb_microb_device_connector,
&usb_device_c_connector,
&usb_c_device_connector,
&lightning_device_connector,
};
@ -783,7 +783,7 @@ static const struct usb_connector_t* usb_a_a_connectors[] = {
&usb_a_device_connector,
};
/** USB A-A power cable
/** USB type A to type A power cable pin pairs
* @implements this cable is not specified since it does not carry USB data signals
* @note A-A cable are not specified since they use a host connector on both sides
*/
@ -792,7 +792,7 @@ static const uint8_t usb_aapower_pins[][2] = {
{usb_a_host_pins[4], usb_a_device_pins[4]}, // GND
};
/** USB A-A USB 2.0 cable
/** USB type A to type A USB 2.0 cable pin pairs
* @implements this cable is not specified since it does not carry USB data signals
* @note A-A cable are not specified since they use a host connector on both sides, but some cheap devices use it because the connector is cheap
*/
@ -804,7 +804,7 @@ static const uint8_t usb_aausb2_pins[][2] = {
{usb_a_host_pins[4], usb_a_device_pins[4]}, // GND
};
/** USB A-A USB 3.x cable
/** USB type A to type A USB 3.x cable pin pairs
* @implements this cable is not specified since it does not carry USB data signals
* @note A-A cable are not specified since they use a host connector on both sides, but it is often used on PCIe raiser boards
*/
@ -827,16 +827,15 @@ static const struct usb_connector_t* usb_a_host_b_connectors[] = {
&usb_b_device_connector,
};
/** USB A-A USB 3.x cable
/** USB type A to type B power only cable pin pairs
* @implements this cable is not specified since it does not carry USB data signals
* @note A-A cable are not specified since they use a host connector on both sides, but it is often used on PCIe raiser boards
*/
static const uint8_t usb__a_host__b__abpower_pins[][2] = {
{usb_a_host_pins[1], usb_b_device_pins[1]}, // VBUS
{usb_a_host_pins[4], usb_b_device_pins[4]}, // GND
};
/** USB A-B USB 2.0 cable
/** USB type A to type B USB 2.0 cable pin pairs
* @implements USB Cables and Connectors Class 2.0 (https://www.usb.org/document-library/cables-and-connectors-class-20)
* @note the shield is mandatory
*/
@ -848,8 +847,8 @@ static const uint8_t usb__a_host__b__abusb2_pins[][2] = {
{usb_a_host_pins[4], usb_b_device_pins[4]}, // GND
};
/** USB A-B USB 3.x cable
* @implements USB Cables and Connectors Class 2.0 (https://www.usb.org/document-library/cables-and-connectors-class-20)
/** USB type A to type B USB 3.x cable pin pairs
* @implements USB 3.1 Legacy Cable and Connector (https://www.usb.org/document-library/usb-31-legacy-cable-and-connector-revision-10)
* @note the shield is mandatory
*/
static const uint8_t usb__a_host__b__abusb3_pins[][2] = {
@ -903,19 +902,19 @@ static const struct usb_connector_t* usb_a_host_minib_connectors[] = {
&usb_minib_device_connector,
};
static const uint8_t usb_a_host_minib_power_unshielded_pins[][2] = {
/** USB type A to type mini-B power only cable pin pairs
* @implements this cable is not specified since it does not carry USB data signals
*/
static const uint8_t usb__a_host__minib__aminibpower_pins[][2] = {
{usb_a_host_pins[1], usb_minib_device_pins[1]}, // VBUS
{usb_a_host_pins[4], usb_minib_device_pins[5]}, // GND
};
static const uint8_t usb_a_host_minib_usb2_unshielded_pins[][2] = {
{usb_a_host_pins[1], usb_minib_device_pins[1]}, // VBUS
{usb_a_host_pins[2], usb_minib_device_pins[2]}, // D-
{usb_a_host_pins[3], usb_minib_device_pins[3]}, // D+
{usb_a_host_pins[4], usb_minib_device_pins[5]}, // GND
};
static const uint8_t usb_a_host_minib_usb2_shielded_pins[][2] = {
/** USB type A to type mini-B USB 2.0 cable pin pairs
* @implements USB Cables and Connectors Class 2.0 (https://www.usb.org/document-library/cables-and-connectors-class-20)
* @note the shield is mandatory
*/
static const uint8_t usb__a_host__minib__aminibusb2_pins[][2] = {
{usb_a_host_pins[0], usb_minib_device_pins[0]}, // shield
{usb_a_host_pins[1], usb_minib_device_pins[1]}, // VBUS
{usb_a_host_pins[2], usb_minib_device_pins[2]}, // D-
@ -929,19 +928,12 @@ static const struct usb_connector_t* usb_a_device_minib_connectors[] = {
&usb_minib_device_connector,
};
static const uint8_t usb_a_device_minib_power_unshielded_pins[][2] = {
static const uint8_t usb__a_device__minib__aminibpower_pins[][2] = {
{usb_a_device_pins[1], usb_minib_device_pins[1]}, // VBUS
{usb_a_device_pins[4], usb_minib_device_pins[5]}, // GND
};
static const uint8_t usb_a_device_minib_usb2_unshielded_pins[][2] = {
{usb_a_device_pins[1], usb_minib_device_pins[1]}, // VBUS
{usb_a_device_pins[2], usb_minib_device_pins[2]}, // D-
{usb_a_device_pins[3], usb_minib_device_pins[3]}, // D+
{usb_a_device_pins[4], usb_minib_device_pins[5]}, // GND
};
static const uint8_t usb_a_device_minib_usb2_shielded_pins[][2] = {
static const uint8_t usb__a_device__minib__aminibusb2_pins[][2] = {
{usb_a_device_pins[0], usb_minib_device_pins[0]}, // shield
{usb_a_device_pins[1], usb_minib_device_pins[1]}, // VBUS
{usb_a_device_pins[2], usb_minib_device_pins[2]}, // D-
@ -955,19 +947,19 @@ static const struct usb_connector_t* usb_a_host_microb_connectors[] = {
&usb_microb_device_connector,
};
static const uint8_t usb_a_host_microb_power_unshielded_pins[][2] = {
/** USB type A to type micro-B power only cable pin pairs
* @implements this cable is not specified since it does not carry USB data signals
*/
static const uint8_t usb__a_host__microb__amicrobpower_pins[][2] = {
{usb_a_host_pins[1], usb_microb_device_pins[1]}, // VBUS
{usb_a_host_pins[4], usb_microb_device_pins[5]}, // GND
};
static const uint8_t usb_a_host_microb_usb2_unshielded_pins[][2] = {
{usb_a_host_pins[1], usb_microb_device_pins[1]}, // VBUS
{usb_a_host_pins[2], usb_microb_device_pins[2]}, // D-
{usb_a_host_pins[3], usb_microb_device_pins[3]}, // D+
{usb_a_host_pins[4], usb_microb_device_pins[5]}, // GND
};
static const uint8_t usb_a_host_microb_usb2_shielded_pins[][2] = {
/** USB type A to type micro-B USB 2.0 cable pin pairs
* @implements USB Cables and Connectors Class 2.0 (https://www.usb.org/document-library/cables-and-connectors-class-20)
* @note the shield is mandatory
*/
static const uint8_t usb__a_host__microb__amicrobusb2_pins[][2] = {
{usb_a_host_pins[0], usb_microb_device_pins[0]}, // shield
{usb_a_host_pins[1], usb_microb_device_pins[1]}, // VBUS
{usb_a_host_pins[2], usb_microb_device_pins[2]}, // D-
@ -975,19 +967,11 @@ static const uint8_t usb_a_host_microb_usb2_shielded_pins[][2] = {
{usb_a_host_pins[4], usb_microb_device_pins[5]}, // GND
};
static const uint8_t usb_a_host_microb_usb3_unshielded_pins[][2] = {
{usb_a_host_pins[1], usb_microb_device_pins[1]}, // VBUS
{usb_a_host_pins[2], usb_microb_device_pins[2]}, // D-
{usb_a_host_pins[3], usb_microb_device_pins[3]}, // D+
{usb_a_host_pins[4], usb_microb_device_pins[5]}, // GND
{usb_a_host_pins[5], usb_microb_device_pins[6]}, // SSRX-, SSTX-
{usb_a_host_pins[6], usb_microb_device_pins[7]}, // SSRX+, SSTX+
{usb_a_host_pins[7], usb_microb_device_pins[8]}, // GND_DRAIN
{usb_a_host_pins[8], usb_microb_device_pins[9]}, // SSTX-, SSRX-
{usb_a_host_pins[9], usb_microb_device_pins[10]}, // SSTX+, SSRX+
};
static const uint8_t usb_a_host_microb_usb3_shielded_pins[][2] = {
/** USB type A to type micro-B USB 3.x cable pin pairs
* @implements USB 3.1 Legacy Cable and Connector (https://www.usb.org/document-library/usb-31-legacy-cable-and-connector-revision-10)
* @note the shield is mandatory
*/
static const uint8_t usb__a_host__microb__amicrobusb3_pins[][2] = {
{usb_a_host_pins[0], usb_microb_device_pins[0]}, // shield
{usb_a_host_pins[1], usb_microb_device_pins[1]}, // VBUS
{usb_a_host_pins[2], usb_microb_device_pins[2]}, // D-
@ -1006,19 +990,12 @@ static const struct usb_connector_t* usb_a_device_microb_connectors[] = {
&usb_microb_device_connector,
};
static const uint8_t usb_a_device_microb_power_unshielded_pins[][2] = {
static const uint8_t usb__a_device__microb__amicrobpower_pins[][2] = {
{usb_a_device_pins[1], usb_microb_device_pins[1]}, // VBUS
{usb_a_device_pins[4], usb_microb_device_pins[5]}, // GND
};
static const uint8_t usb_a_device_microb_usb2_unshielded_pins[][2] = {
{usb_a_device_pins[1], usb_microb_device_pins[1]}, // VBUS
{usb_a_device_pins[2], usb_microb_device_pins[2]}, // D-
{usb_a_device_pins[3], usb_microb_device_pins[3]}, // D+
{usb_a_device_pins[4], usb_microb_device_pins[5]}, // GND
};
static const uint8_t usb_a_device_microb_usb2_shielded_pins[][2] = {
static const uint8_t usb__a_device__microb__amicrobusb2_pins[][2] = {
{usb_a_device_pins[0], usb_microb_device_pins[0]}, // shield
{usb_a_device_pins[1], usb_microb_device_pins[1]}, // VBUS
{usb_a_device_pins[2], usb_microb_device_pins[2]}, // D-
@ -1026,19 +1003,7 @@ static const uint8_t usb_a_device_microb_usb2_shielded_pins[][2] = {
{usb_a_device_pins[4], usb_microb_device_pins[5]}, // GND
};
static const uint8_t usb_a_device_microb_usb3_unshielded_pins[][2] = {
{usb_a_device_pins[1], usb_microb_device_pins[1]}, // VBUS
{usb_a_device_pins[2], usb_microb_device_pins[2]}, // D-
{usb_a_device_pins[3], usb_microb_device_pins[3]}, // D+
{usb_a_device_pins[4], usb_microb_device_pins[5]}, // GND
{usb_a_device_pins[5], usb_microb_device_pins[6]}, // SSRX-, SSTX-
{usb_a_device_pins[6], usb_microb_device_pins[7]}, // SSRX+, SSTX+
{usb_a_device_pins[7], usb_microb_device_pins[8]}, // GND_DRAIN
{usb_a_device_pins[8], usb_microb_device_pins[9]}, // SSTX-, SSRX-
{usb_a_device_pins[9], usb_microb_device_pins[10]}, // SSTX+, SSRX+
};
static const uint8_t usb_a_device_microb_usb3_shielded_pins[][2] = {
static const uint8_t usb__a_device__microb__amicrobusb3_pins[][2] = {
{usb_a_device_pins[0], usb_microb_device_pins[0]}, // shield
{usb_a_device_pins[1], usb_microb_device_pins[1]}, // VBUS
{usb_a_device_pins[2], usb_microb_device_pins[2]}, // D-
@ -1056,8 +1021,8 @@ static const struct usb_connector_t* usb_c_host_connectors[] = {
&usb_c_host_connector,
};
/** this is not a cable, but a shunt shorting opposite signal to test the connector */
static const uint8_t usb__c_host__shunt_template_pins[][2] = {
/** this is not a cable, but a shunt shorting opposite signal the type C connector so to test it */
static const uint8_t usb__c_host__c_host__cshunt_pins[][2] = {
{usb_c_host_sidea_pins[1], usb_c_host_sideb_pins[12]}, // A1 GND, B12 GND
{usb_c_host_sidea_pins[2], usb_c_host_sideb_pins[11]}, // A2 SSTXp1, B11 SSRXp1
{usb_c_host_sidea_pins[3], usb_c_host_sideb_pins[10]}, // A3 SSTXn1, B10 SSRXn1
@ -1074,24 +1039,50 @@ static const uint8_t usb__c_host__shunt_template_pins[][2] = {
/** list of connectors for C shunts (using C device connector) */
static const struct usb_connector_t* usb_c_device_connectors[] = {
&usb_device_c_connector,
&usb_c_device_connector,
};
/** this is not a cable, but a shunt shorting opposite signal to test the connector */
/*
static const uint8_t usb__c_device__shunt_generated_pins[][2] = {
static const uint8_t usb__c_device__c_device__cshunt_pins[][2] = {
{usb_c_device_sidea_pins[1], usb_c_device_sideb_pins[12]}, // A1 GND, B12 GND
{usb_c_device_sidea_pins[2], usb_c_device_sideb_pins[11]}, // A2 SSTXp1, B11 SSRXp1
{usb_c_device_sidea_pins[3], usb_c_device_sideb_pins[10]}, // A3 SSTXn1, B10 SSRXn1
{usb_c_device_sidea_pins[4], usb_c_device_sideb_pins[9]}, // A4 VBUS, B9 VBUS
{usb_c_device_sidea_pins[5], usb_c_device_sideb_pins[8]}, // A5 CC1, B8 SBU2
{usb_c_device_sidea_pins[6], usb_c_device_sideb_pins[7]}, // A6 Dp1, B7 Dn2
{usb_c_device_sidea_pins[7], usb_c_device_sideb_pins[6]}, // A7 Dn1, B6 Dp2
{usb_c_device_sidea_pins[8], usb_c_device_sideb_pins[5]}, // A8 SBU1, B5 CC2
{usb_c_device_sidea_pins[9], usb_c_device_sideb_pins[4]}, // A9 VBUS, B4 VBUS
{usb_c_device_sidea_pins[10], usb_c_device_sideb_pins[3]}, // A10 SSRXn2, B3 SSTXn2
{usb_c_device_sidea_pins[11], usb_c_device_sideb_pins[2]}, // A11 SSRXp2, B2 SSTXp2
{usb_c_device_sidea_pins[12], usb_c_device_sideb_pins[1]}, // A12 GND, B1 GND
};
*/
/** list of connectors for A-C cables (using A device connector and C host connector) */
/** list of connectors for A-C cables (using A host connector and C host connector) */
static const struct usb_connector_t* usb_a_host_c_host_connectors[] = {
&usb_a_host_connector,
&usb_c_host_connector,
};
/** connected pin pairs for A-C power only cable
/** list of connectors for A-C cables (using A host connector and C device connector) */
static const struct usb_connector_t* usb_a_host_c_device_connectors[] = {
&usb_a_host_connector,
&usb_c_device_connector,
};
/** list of connectors for A-C cables (using A device connector and C host connector) */
static const struct usb_connector_t* usb_a_device_c_host_connectors[] = {
&usb_a_device_connector,
&usb_c_host_connector,
};
/** list of connectors for A-C cables (using A device connector and C device connector) */
static const struct usb_connector_t* usb_a_device_c_device_connectors[] = {
&usb_a_device_connector,
&usb_c_device_connector,
};
/** USB type A to type C power only cable pin pairs
* @implements this cable is not specified since it does not carry USB signals
* @note for C host connector, side A
*/
static const uint8_t usb__a_host__c_host_sidea__power_pins[][2] = {
// C internal connections
@ -1128,9 +1119,248 @@ static const uint8_t usb__a_host__c_host_sidea__power_pins[][2] = {
{usb_a_host_pins[1], usb_c_host_sidea_pins[5]}, // VBUS - A5 CC1 (56kO)
};
/** connected pin pairs for A-C USB 2.0 cable
* @implements AC2-3 from USB Type-C Cable and Connector Specification
* @note for C host connector, side A
static const uint8_t usb__a_host__c_host_sideb__power_pins[][2] = {
// C internal connections
{usb_c_host_sideb_pins[0], usb_c_host_sideb_pins[1]}, // shield, A1 GND
{usb_c_host_sideb_pins[0], usb_c_host_sideb_pins[12]}, // shield, A12 GND
{usb_c_host_sideb_pins[0], usb_c_host_sideb_pins[12 + 12]}, // shield, B12 GND
{usb_c_host_sideb_pins[0], usb_c_host_sideb_pins[12 + 1]}, // shield, B1 GND
{usb_c_host_sideb_pins[1], usb_c_host_sideb_pins[12]}, // A1 GND, A12 GND
{usb_c_host_sideb_pins[1], usb_c_host_sideb_pins[12 + 12]}, // A1 GND, B12 GND
{usb_c_host_sideb_pins[1], usb_c_host_sideb_pins[12 + 1]}, // A1 GND, B1 GND
{usb_c_host_sideb_pins[12], usb_c_host_sideb_pins[12 + 12]}, // A12 GND, B12 GND
{usb_c_host_sideb_pins[12], usb_c_host_sideb_pins[12 + 1]}, // A12 GND, B1 GND
{usb_c_host_sideb_pins[12 + 1], usb_c_host_sideb_pins[12 + 12]}, // B1 GND, B12 GND
{usb_c_host_sideb_pins[4], usb_c_host_sideb_pins[9]}, // A4 VBUS, A9 VBUS
{usb_c_host_sideb_pins[4], usb_c_host_sideb_pins[12 + 9]}, // A4 VBUS, B9 VBUS
{usb_c_host_sideb_pins[4], usb_c_host_sideb_pins[12 + 4]}, // A4 VBUS, B4 VBUS
{usb_c_host_sideb_pins[9], usb_c_host_sideb_pins[12 + 9]}, // A9 VBUS, B9 VBUS
{usb_c_host_sideb_pins[9], usb_c_host_sideb_pins[12 + 4]}, // A9 VBUS, B4 VBUS
{usb_c_host_sideb_pins[12 + 9], usb_c_host_sideb_pins[12 + 4]}, // B9 VBUS, B4 VBUS
{usb_c_host_sideb_pins[5], usb_c_host_sideb_pins[4]}, // CC1, A4 VBUS (56kO)
{usb_c_host_sideb_pins[5], usb_c_host_sideb_pins[9]}, // CC1, A9 VBUS (56kO)
{usb_c_host_sideb_pins[5], usb_c_host_sideb_pins[16]}, // CC1, B9 VBUS (56kO)
{usb_c_host_sideb_pins[5], usb_c_host_sideb_pins[21]}, // CC1, B4 VBUS (56kO)
// A-C connections
{usb_a_host_pins[1], usb_c_host_sideb_pins[4]}, // VBUS, A4 VBUS
{usb_a_host_pins[1], usb_c_host_sideb_pins[9]}, // VBUS, A9 VBUS
{usb_a_host_pins[1], usb_c_host_sideb_pins[12 + 9]}, // VBUS, B9 VBUS
{usb_a_host_pins[1], usb_c_host_sideb_pins[12 + 4]}, // VBUS, B4 VBUS
{usb_a_host_pins[4], usb_c_host_sideb_pins[0]}, // GND, shield
{usb_a_host_pins[4], usb_c_host_sideb_pins[1]}, // GND, A1 GND
{usb_a_host_pins[4], usb_c_host_sideb_pins[12]}, // GND, A12 GND
{usb_a_host_pins[4], usb_c_host_sideb_pins[12 + 12]}, // GND, B12 GND
{usb_a_host_pins[4], usb_c_host_sideb_pins[12 + 1]}, // GND, B1 GND
{usb_a_host_pins[1], usb_c_host_sideb_pins[5]}, // VBUS - A5 CC1 (56kO)
};
static const uint8_t usb__a_host__c_device_sidea__power_pins[][2] = {
// C internal connections
{usb_c_device_sidea_pins[0], usb_c_device_sidea_pins[1]}, // shield, A1 GND
{usb_c_device_sidea_pins[0], usb_c_device_sidea_pins[12]}, // shield, A12 GND
{usb_c_device_sidea_pins[0], usb_c_device_sidea_pins[12 + 12]}, // shield, B12 GND
{usb_c_device_sidea_pins[0], usb_c_device_sidea_pins[12 + 1]}, // shield, B1 GND
{usb_c_device_sidea_pins[1], usb_c_device_sidea_pins[12]}, // A1 GND, A12 GND
{usb_c_device_sidea_pins[1], usb_c_device_sidea_pins[12 + 12]}, // A1 GND, B12 GND
{usb_c_device_sidea_pins[1], usb_c_device_sidea_pins[12 + 1]}, // A1 GND, B1 GND
{usb_c_device_sidea_pins[12], usb_c_device_sidea_pins[12 + 12]}, // A12 GND, B12 GND
{usb_c_device_sidea_pins[12], usb_c_device_sidea_pins[12 + 1]}, // A12 GND, B1 GND
{usb_c_device_sidea_pins[12 + 1], usb_c_device_sidea_pins[12 + 12]}, // B1 GND, B12 GND
{usb_c_device_sidea_pins[4], usb_c_device_sidea_pins[9]}, // A4 VBUS, A9 VBUS
{usb_c_device_sidea_pins[4], usb_c_device_sidea_pins[12 + 9]}, // A4 VBUS, B9 VBUS
{usb_c_device_sidea_pins[4], usb_c_device_sidea_pins[12 + 4]}, // A4 VBUS, B4 VBUS
{usb_c_device_sidea_pins[9], usb_c_device_sidea_pins[12 + 9]}, // A9 VBUS, B9 VBUS
{usb_c_device_sidea_pins[9], usb_c_device_sidea_pins[12 + 4]}, // A9 VBUS, B4 VBUS
{usb_c_device_sidea_pins[12 + 9], usb_c_device_sidea_pins[12 + 4]}, // B9 VBUS, B4 VBUS
{usb_c_device_sidea_pins[5], usb_c_device_sidea_pins[4]}, // CC1, A4 VBUS (56kO)
{usb_c_device_sidea_pins[5], usb_c_device_sidea_pins[9]}, // CC1, A9 VBUS (56kO)
{usb_c_device_sidea_pins[5], usb_c_device_sidea_pins[16]}, // CC1, B9 VBUS (56kO)
{usb_c_device_sidea_pins[5], usb_c_device_sidea_pins[21]}, // CC1, B4 VBUS (56kO)
// A-C connections
{usb_a_host_pins[1], usb_c_device_sidea_pins[4]}, // VBUS, A4 VBUS
{usb_a_host_pins[1], usb_c_device_sidea_pins[9]}, // VBUS, A9 VBUS
{usb_a_host_pins[1], usb_c_device_sidea_pins[12 + 9]}, // VBUS, B9 VBUS
{usb_a_host_pins[1], usb_c_device_sidea_pins[12 + 4]}, // VBUS, B4 VBUS
{usb_a_host_pins[4], usb_c_device_sidea_pins[0]}, // GND, shield
{usb_a_host_pins[4], usb_c_device_sidea_pins[1]}, // GND, A1 GND
{usb_a_host_pins[4], usb_c_device_sidea_pins[12]}, // GND, A12 GND
{usb_a_host_pins[4], usb_c_device_sidea_pins[12 + 12]}, // GND, B12 GND
{usb_a_host_pins[4], usb_c_device_sidea_pins[12 + 1]}, // GND, B1 GND
{usb_a_host_pins[1], usb_c_device_sidea_pins[5]}, // VBUS - A5 CC1 (56kO)
};
static const uint8_t usb__a_host__c_device_sideb__power_pins[][2] = {
// C internal connections
{usb_c_device_sideb_pins[0], usb_c_device_sideb_pins[1]}, // shield, A1 GND
{usb_c_device_sideb_pins[0], usb_c_device_sideb_pins[12]}, // shield, A12 GND
{usb_c_device_sideb_pins[0], usb_c_device_sideb_pins[12 + 12]}, // shield, B12 GND
{usb_c_device_sideb_pins[0], usb_c_device_sideb_pins[12 + 1]}, // shield, B1 GND
{usb_c_device_sideb_pins[1], usb_c_device_sideb_pins[12]}, // A1 GND, A12 GND
{usb_c_device_sideb_pins[1], usb_c_device_sideb_pins[12 + 12]}, // A1 GND, B12 GND
{usb_c_device_sideb_pins[1], usb_c_device_sideb_pins[12 + 1]}, // A1 GND, B1 GND
{usb_c_device_sideb_pins[12], usb_c_device_sideb_pins[12 + 12]}, // A12 GND, B12 GND
{usb_c_device_sideb_pins[12], usb_c_device_sideb_pins[12 + 1]}, // A12 GND, B1 GND
{usb_c_device_sideb_pins[12 + 1], usb_c_device_sideb_pins[12 + 12]}, // B1 GND, B12 GND
{usb_c_device_sideb_pins[4], usb_c_device_sideb_pins[9]}, // A4 VBUS, A9 VBUS
{usb_c_device_sideb_pins[4], usb_c_device_sideb_pins[12 + 9]}, // A4 VBUS, B9 VBUS
{usb_c_device_sideb_pins[4], usb_c_device_sideb_pins[12 + 4]}, // A4 VBUS, B4 VBUS
{usb_c_device_sideb_pins[9], usb_c_device_sideb_pins[12 + 9]}, // A9 VBUS, B9 VBUS
{usb_c_device_sideb_pins[9], usb_c_device_sideb_pins[12 + 4]}, // A9 VBUS, B4 VBUS
{usb_c_device_sideb_pins[12 + 9], usb_c_device_sideb_pins[12 + 4]}, // B9 VBUS, B4 VBUS
{usb_c_device_sideb_pins[5], usb_c_device_sideb_pins[4]}, // CC1, A4 VBUS (56kO)
{usb_c_device_sideb_pins[5], usb_c_device_sideb_pins[9]}, // CC1, A9 VBUS (56kO)
{usb_c_device_sideb_pins[5], usb_c_device_sideb_pins[16]}, // CC1, B9 VBUS (56kO)
{usb_c_device_sideb_pins[5], usb_c_device_sideb_pins[21]}, // CC1, B4 VBUS (56kO)
// A-C connections
{usb_a_host_pins[1], usb_c_device_sideb_pins[4]}, // VBUS, A4 VBUS
{usb_a_host_pins[1], usb_c_device_sideb_pins[9]}, // VBUS, A9 VBUS
{usb_a_host_pins[1], usb_c_device_sideb_pins[12 + 9]}, // VBUS, B9 VBUS
{usb_a_host_pins[1], usb_c_device_sideb_pins[12 + 4]}, // VBUS, B4 VBUS
{usb_a_host_pins[4], usb_c_device_sideb_pins[0]}, // GND, shield
{usb_a_host_pins[4], usb_c_device_sideb_pins[1]}, // GND, A1 GND
{usb_a_host_pins[4], usb_c_device_sideb_pins[12]}, // GND, A12 GND
{usb_a_host_pins[4], usb_c_device_sideb_pins[12 + 12]}, // GND, B12 GND
{usb_a_host_pins[4], usb_c_device_sideb_pins[12 + 1]}, // GND, B1 GND
{usb_a_host_pins[1], usb_c_device_sideb_pins[5]}, // VBUS - A5 CC1 (56kO)
};
static const uint8_t usb__a_device__c_host_sidea__power_pins[][2] = {
// C internal connections
{usb_c_host_sidea_pins[0], usb_c_host_sidea_pins[1]}, // shield, A1 GND
{usb_c_host_sidea_pins[0], usb_c_host_sidea_pins[12]}, // shield, A12 GND
{usb_c_host_sidea_pins[0], usb_c_host_sidea_pins[12 + 12]}, // shield, B12 GND
{usb_c_host_sidea_pins[0], usb_c_host_sidea_pins[12 + 1]}, // shield, B1 GND
{usb_c_host_sidea_pins[1], usb_c_host_sidea_pins[12]}, // A1 GND, A12 GND
{usb_c_host_sidea_pins[1], usb_c_host_sidea_pins[12 + 12]}, // A1 GND, B12 GND
{usb_c_host_sidea_pins[1], usb_c_host_sidea_pins[12 + 1]}, // A1 GND, B1 GND
{usb_c_host_sidea_pins[12], usb_c_host_sidea_pins[12 + 12]}, // A12 GND, B12 GND
{usb_c_host_sidea_pins[12], usb_c_host_sidea_pins[12 + 1]}, // A12 GND, B1 GND
{usb_c_host_sidea_pins[12 + 1], usb_c_host_sidea_pins[12 + 12]}, // B1 GND, B12 GND
{usb_c_host_sidea_pins[4], usb_c_host_sidea_pins[9]}, // A4 VBUS, A9 VBUS
{usb_c_host_sidea_pins[4], usb_c_host_sidea_pins[12 + 9]}, // A4 VBUS, B9 VBUS
{usb_c_host_sidea_pins[4], usb_c_host_sidea_pins[12 + 4]}, // A4 VBUS, B4 VBUS
{usb_c_host_sidea_pins[9], usb_c_host_sidea_pins[12 + 9]}, // A9 VBUS, B9 VBUS
{usb_c_host_sidea_pins[9], usb_c_host_sidea_pins[12 + 4]}, // A9 VBUS, B4 VBUS
{usb_c_host_sidea_pins[12 + 9], usb_c_host_sidea_pins[12 + 4]}, // B9 VBUS, B4 VBUS
{usb_c_host_sidea_pins[5], usb_c_host_sidea_pins[4]}, // CC1, A4 VBUS (56kO)
{usb_c_host_sidea_pins[5], usb_c_host_sidea_pins[9]}, // CC1, A9 VBUS (56kO)
{usb_c_host_sidea_pins[5], usb_c_host_sidea_pins[16]}, // CC1, B9 VBUS (56kO)
{usb_c_host_sidea_pins[5], usb_c_host_sidea_pins[21]}, // CC1, B4 VBUS (56kO)
// A-C connections
{usb_a_device_pins[1], usb_c_host_sidea_pins[4]}, // VBUS, A4 VBUS
{usb_a_device_pins[1], usb_c_host_sidea_pins[9]}, // VBUS, A9 VBUS
{usb_a_device_pins[1], usb_c_host_sidea_pins[12 + 9]}, // VBUS, B9 VBUS
{usb_a_device_pins[1], usb_c_host_sidea_pins[12 + 4]}, // VBUS, B4 VBUS
{usb_a_device_pins[4], usb_c_host_sidea_pins[0]}, // GND, shield
{usb_a_device_pins[4], usb_c_host_sidea_pins[1]}, // GND, A1 GND
{usb_a_device_pins[4], usb_c_host_sidea_pins[12]}, // GND, A12 GND
{usb_a_device_pins[4], usb_c_host_sidea_pins[12 + 12]}, // GND, B12 GND
{usb_a_device_pins[4], usb_c_host_sidea_pins[12 + 1]}, // GND, B1 GND
{usb_a_device_pins[1], usb_c_host_sidea_pins[5]}, // VBUS - A5 CC1 (56kO)
};
static const uint8_t usb__a_device__c_host_sideb__power_pins[][2] = {
// C internal connections
{usb_c_host_sideb_pins[0], usb_c_host_sideb_pins[1]}, // shield, A1 GND
{usb_c_host_sideb_pins[0], usb_c_host_sideb_pins[12]}, // shield, A12 GND
{usb_c_host_sideb_pins[0], usb_c_host_sideb_pins[12 + 12]}, // shield, B12 GND
{usb_c_host_sideb_pins[0], usb_c_host_sideb_pins[12 + 1]}, // shield, B1 GND
{usb_c_host_sideb_pins[1], usb_c_host_sideb_pins[12]}, // A1 GND, A12 GND
{usb_c_host_sideb_pins[1], usb_c_host_sideb_pins[12 + 12]}, // A1 GND, B12 GND
{usb_c_host_sideb_pins[1], usb_c_host_sideb_pins[12 + 1]}, // A1 GND, B1 GND
{usb_c_host_sideb_pins[12], usb_c_host_sideb_pins[12 + 12]}, // A12 GND, B12 GND
{usb_c_host_sideb_pins[12], usb_c_host_sideb_pins[12 + 1]}, // A12 GND, B1 GND
{usb_c_host_sideb_pins[12 + 1], usb_c_host_sideb_pins[12 + 12]}, // B1 GND, B12 GND
{usb_c_host_sideb_pins[4], usb_c_host_sideb_pins[9]}, // A4 VBUS, A9 VBUS
{usb_c_host_sideb_pins[4], usb_c_host_sideb_pins[12 + 9]}, // A4 VBUS, B9 VBUS
{usb_c_host_sideb_pins[4], usb_c_host_sideb_pins[12 + 4]}, // A4 VBUS, B4 VBUS
{usb_c_host_sideb_pins[9], usb_c_host_sideb_pins[12 + 9]}, // A9 VBUS, B9 VBUS
{usb_c_host_sideb_pins[9], usb_c_host_sideb_pins[12 + 4]}, // A9 VBUS, B4 VBUS
{usb_c_host_sideb_pins[12 + 9], usb_c_host_sideb_pins[12 + 4]}, // B9 VBUS, B4 VBUS
{usb_c_host_sideb_pins[5], usb_c_host_sideb_pins[4]}, // CC1, A4 VBUS (56kO)
{usb_c_host_sideb_pins[5], usb_c_host_sideb_pins[9]}, // CC1, A9 VBUS (56kO)
{usb_c_host_sideb_pins[5], usb_c_host_sideb_pins[16]}, // CC1, B9 VBUS (56kO)
{usb_c_host_sideb_pins[5], usb_c_host_sideb_pins[21]}, // CC1, B4 VBUS (56kO)
// A-C connections
{usb_a_device_pins[1], usb_c_host_sideb_pins[4]}, // VBUS, A4 VBUS
{usb_a_device_pins[1], usb_c_host_sideb_pins[9]}, // VBUS, A9 VBUS
{usb_a_device_pins[1], usb_c_host_sideb_pins[12 + 9]}, // VBUS, B9 VBUS
{usb_a_device_pins[1], usb_c_host_sideb_pins[12 + 4]}, // VBUS, B4 VBUS
{usb_a_device_pins[4], usb_c_host_sideb_pins[0]}, // GND, shield
{usb_a_device_pins[4], usb_c_host_sideb_pins[1]}, // GND, A1 GND
{usb_a_device_pins[4], usb_c_host_sideb_pins[12]}, // GND, A12 GND
{usb_a_device_pins[4], usb_c_host_sideb_pins[12 + 12]}, // GND, B12 GND
{usb_a_device_pins[4], usb_c_host_sideb_pins[12 + 1]}, // GND, B1 GND
{usb_a_device_pins[1], usb_c_host_sideb_pins[5]}, // VBUS - A5 CC1 (56kO)
};
static const uint8_t usb__a_device__c_device_sidea__power_pins[][2] = {
// C internal connections
{usb_c_device_sidea_pins[0], usb_c_device_sidea_pins[1]}, // shield, A1 GND
{usb_c_device_sidea_pins[0], usb_c_device_sidea_pins[12]}, // shield, A12 GND
{usb_c_device_sidea_pins[0], usb_c_device_sidea_pins[12 + 12]}, // shield, B12 GND
{usb_c_device_sidea_pins[0], usb_c_device_sidea_pins[12 + 1]}, // shield, B1 GND
{usb_c_device_sidea_pins[1], usb_c_device_sidea_pins[12]}, // A1 GND, A12 GND
{usb_c_device_sidea_pins[1], usb_c_device_sidea_pins[12 + 12]}, // A1 GND, B12 GND
{usb_c_device_sidea_pins[1], usb_c_device_sidea_pins[12 + 1]}, // A1 GND, B1 GND
{usb_c_device_sidea_pins[12], usb_c_device_sidea_pins[12 + 12]}, // A12 GND, B12 GND
{usb_c_device_sidea_pins[12], usb_c_device_sidea_pins[12 + 1]}, // A12 GND, B1 GND
{usb_c_device_sidea_pins[12 + 1], usb_c_device_sidea_pins[12 + 12]}, // B1 GND, B12 GND
{usb_c_device_sidea_pins[4], usb_c_device_sidea_pins[9]}, // A4 VBUS, A9 VBUS
{usb_c_device_sidea_pins[4], usb_c_device_sidea_pins[12 + 9]}, // A4 VBUS, B9 VBUS
{usb_c_device_sidea_pins[4], usb_c_device_sidea_pins[12 + 4]}, // A4 VBUS, B4 VBUS
{usb_c_device_sidea_pins[9], usb_c_device_sidea_pins[12 + 9]}, // A9 VBUS, B9 VBUS
{usb_c_device_sidea_pins[9], usb_c_device_sidea_pins[12 + 4]}, // A9 VBUS, B4 VBUS
{usb_c_device_sidea_pins[12 + 9], usb_c_device_sidea_pins[12 + 4]}, // B9 VBUS, B4 VBUS
{usb_c_device_sidea_pins[5], usb_c_device_sidea_pins[4]}, // CC1, A4 VBUS (56kO)
{usb_c_device_sidea_pins[5], usb_c_device_sidea_pins[9]}, // CC1, A9 VBUS (56kO)
{usb_c_device_sidea_pins[5], usb_c_device_sidea_pins[16]}, // CC1, B9 VBUS (56kO)
{usb_c_device_sidea_pins[5], usb_c_device_sidea_pins[21]}, // CC1, B4 VBUS (56kO)
// A-C connections
{usb_a_device_pins[1], usb_c_device_sidea_pins[4]}, // VBUS, A4 VBUS
{usb_a_device_pins[1], usb_c_device_sidea_pins[9]}, // VBUS, A9 VBUS
{usb_a_device_pins[1], usb_c_device_sidea_pins[12 + 9]}, // VBUS, B9 VBUS
{usb_a_device_pins[1], usb_c_device_sidea_pins[12 + 4]}, // VBUS, B4 VBUS
{usb_a_device_pins[4], usb_c_device_sidea_pins[0]}, // GND, shield
{usb_a_device_pins[4], usb_c_device_sidea_pins[1]}, // GND, A1 GND
{usb_a_device_pins[4], usb_c_device_sidea_pins[12]}, // GND, A12 GND
{usb_a_device_pins[4], usb_c_device_sidea_pins[12 + 12]}, // GND, B12 GND
{usb_a_device_pins[4], usb_c_device_sidea_pins[12 + 1]}, // GND, B1 GND
{usb_a_device_pins[1], usb_c_device_sidea_pins[5]}, // VBUS - A5 CC1 (56kO)
};
static const uint8_t usb__a_device__c_device_sideb__power_pins[][2] = {
// C internal connections
{usb_c_device_sideb_pins[0], usb_c_device_sideb_pins[1]}, // shield, A1 GND
{usb_c_device_sideb_pins[0], usb_c_device_sideb_pins[12]}, // shield, A12 GND
{usb_c_device_sideb_pins[0], usb_c_device_sideb_pins[12 + 12]}, // shield, B12 GND
{usb_c_device_sideb_pins[0], usb_c_device_sideb_pins[12 + 1]}, // shield, B1 GND
{usb_c_device_sideb_pins[1], usb_c_device_sideb_pins[12]}, // A1 GND, A12 GND
{usb_c_device_sideb_pins[1], usb_c_device_sideb_pins[12 + 12]}, // A1 GND, B12 GND
{usb_c_device_sideb_pins[1], usb_c_device_sideb_pins[12 + 1]}, // A1 GND, B1 GND
{usb_c_device_sideb_pins[12], usb_c_device_sideb_pins[12 + 12]}, // A12 GND, B12 GND
{usb_c_device_sideb_pins[12], usb_c_device_sideb_pins[12 + 1]}, // A12 GND, B1 GND
{usb_c_device_sideb_pins[12 + 1], usb_c_device_sideb_pins[12 + 12]}, // B1 GND, B12 GND
{usb_c_device_sideb_pins[4], usb_c_device_sideb_pins[9]}, // A4 VBUS, A9 VBUS
{usb_c_device_sideb_pins[4], usb_c_device_sideb_pins[12 + 9]}, // A4 VBUS, B9 VBUS
{usb_c_device_sideb_pins[4], usb_c_device_sideb_pins[12 + 4]}, // A4 VBUS, B4 VBUS
{usb_c_device_sideb_pins[9], usb_c_device_sideb_pins[12 + 9]}, // A9 VBUS, B9 VBUS
{usb_c_device_sideb_pins[9], usb_c_device_sideb_pins[12 + 4]}, // A9 VBUS, B4 VBUS
{usb_c_device_sideb_pins[12 + 9], usb_c_device_sideb_pins[12 + 4]}, // B9 VBUS, B4 VBUS
{usb_c_device_sideb_pins[5], usb_c_device_sideb_pins[4]}, // CC1, A4 VBUS (56kO)
{usb_c_device_sideb_pins[5], usb_c_device_sideb_pins[9]}, // CC1, A9 VBUS (56kO)
{usb_c_device_sideb_pins[5], usb_c_device_sideb_pins[16]}, // CC1, B9 VBUS (56kO)
{usb_c_device_sideb_pins[5], usb_c_device_sideb_pins[21]}, // CC1, B4 VBUS (56kO)
// A-C connections
{usb_a_device_pins[1], usb_c_device_sideb_pins[4]}, // VBUS, A4 VBUS
{usb_a_device_pins[1], usb_c_device_sideb_pins[9]}, // VBUS, A9 VBUS
{usb_a_device_pins[1], usb_c_device_sideb_pins[12 + 9]}, // VBUS, B9 VBUS
{usb_a_device_pins[1], usb_c_device_sideb_pins[12 + 4]}, // VBUS, B4 VBUS
{usb_a_device_pins[4], usb_c_device_sideb_pins[0]}, // GND, shield
{usb_a_device_pins[4], usb_c_device_sideb_pins[1]}, // GND, A1 GND
{usb_a_device_pins[4], usb_c_device_sideb_pins[12]}, // GND, A12 GND
{usb_a_device_pins[4], usb_c_device_sideb_pins[12 + 12]}, // GND, B12 GND
{usb_a_device_pins[4], usb_c_device_sideb_pins[12 + 1]}, // GND, B1 GND
{usb_a_device_pins[1], usb_c_device_sideb_pins[5]}, // VBUS - A5 CC1 (56kO)
};
/** USB type A to type C USB 2.0 cable pin pairs
* @implements AC2-3 from USB Type-C Cable and Connector Specification (https://www.usb.org/document-library/usb-type-cr-cable-and-connector-specification-revision-20-august-2019)
*/
static const uint8_t usb__a_host__c_host_sidea__ac2_pins[][2] = {
// A internal connections
@ -1176,9 +1406,8 @@ static const uint8_t usb__a_host__c_host_sidea__ac2_pins[][2] = {
{usb_a_host_pins[1], usb_c_host_sidea_pins[5]}, // VBUS - A5 CC1 (56kO)
};
/** connected pin pairs for A-C USB 3.1 Gen 2 cable
* @implements AC3G2-3 from USB Type-C Cable and Connector Specification
* @note for C host connector, side A
/** USB type A to type C USB 3.1 cable pin pairs
* @implements AC3G2-3 from USB Type-C Cable and Connector Specification (https://www.usb.org/document-library/usb-type-cr-cable-and-connector-specification-revision-20-august-2019)
*/
static const uint8_t usb__a_host__c_host_sidea__ac3g2_pins[][2] = {
// A internal connections
@ -1232,6 +1461,7 @@ static const uint8_t usb__a_host__c_host_sidea__ac3g2_pins[][2] = {
};
const struct usb_cable_t usb_cables[] = {
// A-A
{
.name = "A-A power only",
.connectors_nb = LENGTH(usb_a_a_connectors),
@ -1253,6 +1483,7 @@ const struct usb_cable_t usb_cables[] = {
.pin_pairs_nb = LENGTH(usb_aausb3_pins),
.pin_pairs = usb_aausb3_pins,
},
// A (host) - B
{
.name = "A-B power only",
.connectors_nb = LENGTH(usb_a_host_b_connectors),
@ -1274,6 +1505,7 @@ const struct usb_cable_t usb_cables[] = {
.pin_pairs_nb = LENGTH(usb__a_host__b__abusb3_pins),
.pin_pairs = usb__a_host__b__abusb3_pins,
},
// A (device) - B
{
.name = "A-B power only",
.connectors_nb = LENGTH(usb_a_host_b_connectors),
@ -1295,141 +1527,152 @@ const struct usb_cable_t usb_cables[] = {
.pin_pairs_nb = LENGTH(usb__a_device__b__abusb3_pins),
.pin_pairs = usb__a_device__b__abusb3_pins,
},
// A (host) - mini-B
{
.name = "A-miniB power only",
.name = "A-miniB power",
.connectors_nb = LENGTH(usb_a_host_minib_connectors),
.connectors = usb_a_host_minib_connectors,
.pin_pairs_nb = LENGTH(usb_a_host_minib_power_unshielded_pins),
.pin_pairs = usb_a_host_minib_power_unshielded_pins,
.pin_pairs_nb = LENGTH(usb__a_host__minib__aminibpower_pins),
.pin_pairs = usb__a_host__minib__aminibpower_pins,
},
{
.name = "A-miniB 2.0 unshielded",
.name = "A-miniB USB 2.0",
.connectors_nb = LENGTH(usb_a_host_minib_connectors),
.connectors = usb_a_host_minib_connectors,
.pin_pairs_nb = LENGTH(usb_a_host_minib_usb2_unshielded_pins),
.pin_pairs = usb_a_host_minib_usb2_unshielded_pins,
.pin_pairs_nb = LENGTH(usb__a_host__minib__aminibusb2_pins),
.pin_pairs = usb__a_host__minib__aminibusb2_pins,
},
// A (device) - mini-B
{
.name = "A-miniB 2.0 shielded",
.connectors_nb = LENGTH(usb_a_host_minib_connectors),
.connectors = usb_a_host_minib_connectors,
.pin_pairs_nb = LENGTH(usb_a_host_minib_usb2_shielded_pins),
.pin_pairs = usb_a_host_minib_usb2_shielded_pins,
},
{
.name = "A-miniB power only",
.name = "A-miniB power",
.connectors_nb = LENGTH(usb_a_device_minib_connectors),
.connectors = usb_a_device_minib_connectors,
.pin_pairs_nb = LENGTH(usb_a_device_minib_power_unshielded_pins),
.pin_pairs = usb_a_device_minib_power_unshielded_pins,
.pin_pairs_nb = LENGTH(usb__a_device__minib__aminibpower_pins),
.pin_pairs = usb__a_device__minib__aminibpower_pins,
},
{
.name = "A-miniB 2.0 unshielded",
.name = "A-miniB USB 2.0",
.connectors_nb = LENGTH(usb_a_device_minib_connectors),
.connectors = usb_a_device_minib_connectors,
.pin_pairs_nb = LENGTH(usb_a_device_minib_usb2_unshielded_pins),
.pin_pairs = usb_a_device_minib_usb2_unshielded_pins,
.pin_pairs_nb = LENGTH(usb__a_device__minib__aminibusb2_pins),
.pin_pairs = usb__a_device__minib__aminibusb2_pins,
},
// A (host) - micro-B
{
.name = "A-miniB 2.0 shielded",
.connectors_nb = LENGTH(usb_a_device_minib_connectors),
.connectors = usb_a_device_minib_connectors,
.pin_pairs_nb = LENGTH(usb_a_device_minib_usb2_shielded_pins),
.pin_pairs = usb_a_device_minib_usb2_shielded_pins,
},
{
.name = "A-microB power only",
.name = "A-microB power",
.connectors_nb = LENGTH(usb_a_host_microb_connectors),
.connectors = usb_a_host_microb_connectors,
.pin_pairs_nb = LENGTH(usb_a_host_microb_power_unshielded_pins),
.pin_pairs = usb_a_host_microb_power_unshielded_pins,
.pin_pairs_nb = LENGTH(usb__a_host__microb__amicrobpower_pins),
.pin_pairs = usb__a_host__microb__amicrobpower_pins,
},
{
.name = "A-microB 2.0 unshielded",
.name = "A-microB USB 2.0",
.connectors_nb = LENGTH(usb_a_host_microb_connectors),
.connectors = usb_a_host_microb_connectors,
.pin_pairs_nb = LENGTH(usb_a_host_microb_usb2_unshielded_pins),
.pin_pairs = usb_a_host_microb_usb2_unshielded_pins,
.pin_pairs_nb = LENGTH(usb__a_host__microb__amicrobusb2_pins),
.pin_pairs = usb__a_host__microb__amicrobusb2_pins,
},
{
.name = "A-microB 2.0 shielded",
.name = "A-microB USB 3.x",
.connectors_nb = LENGTH(usb_a_host_microb_connectors),
.connectors = usb_a_host_microb_connectors,
.pin_pairs_nb = LENGTH(usb_a_host_microb_usb2_shielded_pins),
.pin_pairs = usb_a_host_microb_usb2_shielded_pins,
.pin_pairs_nb = LENGTH(usb__a_host__microb__amicrobusb3_pins),
.pin_pairs = usb__a_host__microb__amicrobusb3_pins,
},
// A (device) - micro-B
{
.name = "A-microB 3.0 unshielded",
.connectors_nb = LENGTH(usb_a_host_microb_connectors),
.connectors = usb_a_host_microb_connectors,
.pin_pairs_nb = LENGTH(usb_a_host_microb_usb3_unshielded_pins),
.pin_pairs = usb_a_host_microb_usb3_unshielded_pins,
},
{
.name = "A-microB 3.0 shielded",
.connectors_nb = LENGTH(usb_a_host_microb_connectors),
.connectors = usb_a_host_microb_connectors,
.pin_pairs_nb = LENGTH(usb_a_host_microb_usb3_shielded_pins),
.pin_pairs = usb_a_host_microb_usb3_shielded_pins,
},
{
.name = "A-microB power only",
.name = "A-microB power",
.connectors_nb = LENGTH(usb_a_device_microb_connectors),
.connectors = usb_a_device_microb_connectors,
.pin_pairs_nb = LENGTH(usb_a_device_microb_power_unshielded_pins),
.pin_pairs = usb_a_device_microb_power_unshielded_pins,
.pin_pairs_nb = LENGTH(usb__a_device__microb__amicrobpower_pins),
.pin_pairs = usb__a_device__microb__amicrobpower_pins,
},
{
.name = "A-microB 2.0 unshielded",
.name = "A-microB USB 2.0",
.connectors_nb = LENGTH(usb_a_device_microb_connectors),
.connectors = usb_a_device_microb_connectors,
.pin_pairs_nb = LENGTH(usb_a_device_microb_usb2_unshielded_pins),
.pin_pairs = usb_a_device_microb_usb2_unshielded_pins,
.pin_pairs_nb = LENGTH(usb__a_device__microb__amicrobusb2_pins),
.pin_pairs = usb__a_device__microb__amicrobusb2_pins,
},
{
.name = "A-microB 2.0 shielded",
.name = "A-microB USB 3.x",
.connectors_nb = LENGTH(usb_a_device_microb_connectors),
.connectors = usb_a_device_microb_connectors,
.pin_pairs_nb = LENGTH(usb_a_device_microb_usb2_shielded_pins),
.pin_pairs = usb_a_device_microb_usb2_shielded_pins,
},
{
.name = "A-microB 3.0 unshielded",
.connectors_nb = LENGTH(usb_a_device_microb_connectors),
.connectors = usb_a_device_microb_connectors,
.pin_pairs_nb = LENGTH(usb_a_device_microb_usb3_unshielded_pins),
.pin_pairs = usb_a_device_microb_usb3_unshielded_pins,
},
{
.name = "A-microB 3.0 shielded",
.connectors_nb = LENGTH(usb_a_device_microb_connectors),
.connectors = usb_a_device_microb_connectors,
.pin_pairs_nb = LENGTH(usb_a_device_microb_usb3_shielded_pins),
.pin_pairs = usb_a_device_microb_usb3_shielded_pins,
.pin_pairs_nb = LENGTH(usb__a_device__microb__amicrobusb3_pins),
.pin_pairs = usb__a_device__microb__amicrobusb3_pins,
},
// C
{
.name = "C shunt",
.connectors_nb = LENGTH(usb_c_host_connectors),
.connectors = usb_c_host_connectors,
.pin_pairs_nb = LENGTH(usb__c_host__shunt_template_pins),
.pin_pairs = usb__c_host__shunt_template_pins,
.pin_pairs_nb = LENGTH(usb__c_host__c_host__cshunt_pins),
.pin_pairs = usb__c_host__c_host__cshunt_pins,
},
/*
{
.name = "C shunt",
.connectors_nb = LENGTH(usb_c_device_connectors),
.connectors = usb_c_device_connectors,
.pin_pairs_nb = LENGTH(usb_c_device_shunt_pins),
.pin_pairs = usb_c_device_shunt_pins,
.pin_pairs_nb = LENGTH(usb__c_device__c_device__cshunt_pins),
.pin_pairs = usb__c_device__c_device__cshunt_pins,
},
*/
// A - C
{
.name = "C power only",
.connectors_nb = LENGTH(usb_c_device_connectors),
.connectors = usb_c_device_connectors,
.name = "A-C power only",
.connectors_nb = LENGTH(usb_a_host_c_host_connectors),
.connectors = usb_a_host_c_host_connectors,
.pin_pairs_nb = LENGTH(usb__a_host__c_host_sidea__power_pins),
.pin_pairs = usb__a_host__c_host_sidea__power_pins,
},
{
.name = "A-C power only",
.connectors_nb = LENGTH(usb_a_host_c_host_connectors),
.connectors = usb_a_host_c_host_connectors,
.pin_pairs_nb = LENGTH(usb__a_host__c_host_sideb__power_pins),
.pin_pairs = usb__a_host__c_host_sideb__power_pins,
},
{
.name = "A-C power only",
.connectors_nb = LENGTH(usb_a_host_c_device_connectors),
.connectors = usb_a_host_c_device_connectors,
.pin_pairs_nb = LENGTH(usb__a_host__c_device_sidea__power_pins),
.pin_pairs = usb__a_host__c_device_sidea__power_pins,
},
{
.name = "A-C power only",
.connectors_nb = LENGTH(usb_a_host_c_device_connectors),
.connectors = usb_a_host_c_device_connectors,
.pin_pairs_nb = LENGTH(usb__a_host__c_device_sideb__power_pins),
.pin_pairs = usb__a_host__c_device_sideb__power_pins,
},
{
.name = "A-C power only",
.connectors_nb = LENGTH(usb_a_device_c_host_connectors),
.connectors = usb_a_device_c_host_connectors,
.pin_pairs_nb = LENGTH(usb__a_device__c_host_sidea__power_pins),
.pin_pairs = usb__a_device__c_host_sidea__power_pins,
},
{
.name = "A-C power only",
.connectors_nb = LENGTH(usb_a_device_c_host_connectors),
.connectors = usb_a_device_c_host_connectors,
.pin_pairs_nb = LENGTH(usb__a_device__c_host_sideb__power_pins),
.pin_pairs = usb__a_device__c_host_sideb__power_pins,
},
{
.name = "A-C power only",
.connectors_nb = LENGTH(usb_a_device_c_device_connectors),
.connectors = usb_a_device_c_device_connectors,
.pin_pairs_nb = LENGTH(usb__a_device__c_device_sidea__power_pins),
.pin_pairs = usb__a_device__c_device_sidea__power_pins,
},
{
.name = "A-C power only",
.connectors_nb = LENGTH(usb_a_device_c_device_connectors),
.connectors = usb_a_device_c_device_connectors,
.pin_pairs_nb = LENGTH(usb__a_device__c_device_sideb__power_pins),
.pin_pairs = usb__a_device__c_device_sideb__power_pins,
},
{
.name = "A-C 2.0",
.connectors_nb = LENGTH(usb_a_host_c_host_connectors),

View File

@ -69,7 +69,7 @@ extern const struct usb_pin_t usb_pins[105];
/** USB connectors definitions */
extern const struct usb_connector_t* usb_connectors[8];
/** USB cables definitions */
extern const struct usb_cable_t usb_cables[37];
extern const struct usb_cable_t usb_cables[33];
/** set every pin of connector to input floating
* @param[in] connector connector on which to set the pins floating