usb_cables: fix cc cables

This commit is contained in:
King Kévin 2019-12-12 13:39:32 +01:00
parent 6f7097c149
commit b00916288e
2 changed files with 485 additions and 5 deletions

View File

@ -3274,25 +3274,50 @@ static const uint8_t usb__c_host_sidea__c_device_sidea__cc2_pins[][2] = {
{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
// C-C connections, GND and VBUS
{usb_c_host_sidea_pins[0], usb_c_device_sidea_pins[0]}, // shield, shield
{usb_c_host_sidea_pins[0], usb_c_device_sidea_pins[1]}, // shield, A1 GND
{usb_c_host_sidea_pins[0], usb_c_device_sidea_pins[12]}, // shield, A12 GND
{usb_c_host_sidea_pins[0], usb_c_device_sidea_pins[12 + 12]}, // shield, B12 GND
{usb_c_host_sidea_pins[0], usb_c_device_sidea_pins[12 + 1]}, // shield, B1 GND
{usb_c_host_sidea_pins[1], usb_c_device_sidea_pins[0]}, // A1 GND, shield
{usb_c_host_sidea_pins[1], usb_c_device_sidea_pins[1]}, // A1 GND, A1 GND
{usb_c_host_sidea_pins[1], usb_c_device_sidea_pins[12]}, // A1 GND, A12 GND
{usb_c_host_sidea_pins[1], usb_c_device_sidea_pins[12 + 12]}, // A1 GND, B12 GND
{usb_c_host_sidea_pins[1], usb_c_device_sidea_pins[12 + 1]}, // A1 GND, B1 GND
{usb_c_host_sidea_pins[12], usb_c_device_sidea_pins[0]}, // A12 GND, shield
{usb_c_host_sidea_pins[12], usb_c_device_sidea_pins[1]}, // A12 GND, A1 GND
{usb_c_host_sidea_pins[12], usb_c_device_sidea_pins[12]}, // A12 GND, A12 GND
{usb_c_host_sidea_pins[12], usb_c_device_sidea_pins[12 + 12]}, // A12 GND, B12 GND
{usb_c_host_sidea_pins[12], usb_c_device_sidea_pins[12 + 1]}, // A12 GND, B1 GND
{usb_c_host_sidea_pins[12 + 1], usb_c_device_sidea_pins[0]}, // B1 GND, shield
{usb_c_host_sidea_pins[12 + 1], usb_c_device_sidea_pins[1]}, // B1 GND, A1 GND
{usb_c_host_sidea_pins[12 + 1], usb_c_device_sidea_pins[12]}, // B1 GND, A12 GND
{usb_c_host_sidea_pins[12 + 1], usb_c_device_sidea_pins[12 + 1]}, // B1 GND, B1 GND
{usb_c_host_sidea_pins[12 + 1], usb_c_device_sidea_pins[12 + 12]}, // B1 GND, B12 GND
{usb_c_host_sidea_pins[12 + 12], usb_c_device_sidea_pins[0]}, // B12 GND, shield
{usb_c_host_sidea_pins[12 + 12], usb_c_device_sidea_pins[1]}, // B12 GND, A1 GND
{usb_c_host_sidea_pins[12 + 12], usb_c_device_sidea_pins[12]}, // B12 GND, A12 GND
{usb_c_host_sidea_pins[12 + 12], usb_c_device_sidea_pins[12 + 1]}, // B12 GND, B1 GND
{usb_c_host_sidea_pins[12 + 12], usb_c_device_sidea_pins[12 + 12]}, // B12 GND, B12 GND
{usb_c_host_sidea_pins[4], usb_c_device_sidea_pins[4]}, // A4 VBUS, A4 VBUS
{usb_c_host_sidea_pins[4], usb_c_device_sidea_pins[9]}, // A4 VBUS, A9 VBUS
{usb_c_host_sidea_pins[4], usb_c_device_sidea_pins[12 + 9]}, // A4 VBUS, B9 VBUS
{usb_c_host_sidea_pins[4], usb_c_device_sidea_pins[12 + 4]}, // A4 VBUS, B4 VBUS
{usb_c_host_sidea_pins[9], usb_c_device_sidea_pins[4]}, // A9 VBUS, A4 VBUS
{usb_c_host_sidea_pins[9], usb_c_device_sidea_pins[9]}, // A9 VBUS, A9 VBUS
{usb_c_host_sidea_pins[9], usb_c_device_sidea_pins[12 + 9]}, // A9 VBUS, B9 VBUS
{usb_c_host_sidea_pins[9], usb_c_device_sidea_pins[12 + 4]}, // A9 VBUS, B4 VBUS
{usb_c_host_sidea_pins[12 + 4], usb_c_device_sidea_pins[4]}, // B4 VBUS, A4 VBUS
{usb_c_host_sidea_pins[12 + 4], usb_c_device_sidea_pins[9]}, // B4 VBUS, A9 VBUS
{usb_c_host_sidea_pins[12 + 4], usb_c_device_sidea_pins[12 + 4]}, // B4 VBUS, B4 VBUS
{usb_c_host_sidea_pins[12 + 4], usb_c_device_sidea_pins[12 + 9]}, // B4 VBUS, B9 VBUS
{usb_c_host_sidea_pins[12 + 9], usb_c_device_sidea_pins[4]}, // B9 VBUS, A4 VBUS
{usb_c_host_sidea_pins[12 + 9], usb_c_device_sidea_pins[9]}, // B9 VBUS, A9 VBUS
{usb_c_host_sidea_pins[12 + 9], usb_c_device_sidea_pins[12 + 4]}, // B9 VBUS, B4 VBUS
{usb_c_host_sidea_pins[12 + 9], usb_c_device_sidea_pins[12 + 9]}, // B9 VBUS, B9 VBUS
// C-C data connections
{usb_c_host_sidea_pins[5], usb_c_device_sidea_pins[5]}, // A5 CC1, A5 CC1 (CC)
{usb_c_host_sidea_pins[12 + 5], usb_c_device_sidea_pins[12 + 5]}, // B5 CC2, B5 CC2 (VCONN)
//{usb_c_host_sidea_pins[12 + 5], usb_c_device_sidea_pins[12 + 5]}, // B5 CC2, B5 CC2 (VCONN)
{usb_c_host_sidea_pins[6], usb_c_device_sidea_pins[6]}, // A6 Dp1, A6 Dp1
{usb_c_host_sidea_pins[7], usb_c_device_sidea_pins[7]}, // A7 Dn1, A7 Dn1
};
@ -3332,28 +3357,219 @@ static const uint8_t usb__c_host_sidea__c_device_sideb__cc2_pins[][2] = {
{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
// C-C connections, GND and VBUS
{usb_c_host_sidea_pins[0], usb_c_device_sideb_pins[0]}, // shield, shield
{usb_c_host_sidea_pins[0], usb_c_device_sideb_pins[1]}, // shield, A1 GND
{usb_c_host_sidea_pins[0], usb_c_device_sideb_pins[12]}, // shield, A12 GND
{usb_c_host_sidea_pins[0], usb_c_device_sideb_pins[12 + 12]}, // shield, B12 GND
{usb_c_host_sidea_pins[0], usb_c_device_sideb_pins[12 + 1]}, // shield, B1 GND
{usb_c_host_sidea_pins[1], usb_c_device_sideb_pins[0]}, // A1 GND, shield
{usb_c_host_sidea_pins[1], usb_c_device_sideb_pins[1]}, // A1 GND, A1 GND
{usb_c_host_sidea_pins[1], usb_c_device_sideb_pins[12]}, // A1 GND, A12 GND
{usb_c_host_sidea_pins[1], usb_c_device_sideb_pins[12 + 12]}, // A1 GND, B12 GND
{usb_c_host_sidea_pins[1], usb_c_device_sideb_pins[12 + 1]}, // A1 GND, B1 GND
{usb_c_host_sidea_pins[12], usb_c_device_sideb_pins[0]}, // A12 GND, shield
{usb_c_host_sidea_pins[12], usb_c_device_sideb_pins[1]}, // A12 GND, A1 GND
{usb_c_host_sidea_pins[12], usb_c_device_sideb_pins[12]}, // A12 GND, A12 GND
{usb_c_host_sidea_pins[12], usb_c_device_sideb_pins[12 + 12]}, // A12 GND, B12 GND
{usb_c_host_sidea_pins[12], usb_c_device_sideb_pins[12 + 1]}, // A12 GND, B1 GND
{usb_c_host_sidea_pins[12 + 1], usb_c_device_sideb_pins[0]}, // B1 GND, shield
{usb_c_host_sidea_pins[12 + 1], usb_c_device_sideb_pins[1]}, // B1 GND, A1 GND
{usb_c_host_sidea_pins[12 + 1], usb_c_device_sideb_pins[12]}, // B1 GND, A12 GND
{usb_c_host_sidea_pins[12 + 1], usb_c_device_sideb_pins[12 + 1]}, // B1 GND, B1 GND
{usb_c_host_sidea_pins[12 + 1], usb_c_device_sideb_pins[12 + 12]}, // B1 GND, B12 GND
{usb_c_host_sidea_pins[12 + 12], usb_c_device_sideb_pins[0]}, // B12 GND, shield
{usb_c_host_sidea_pins[12 + 12], usb_c_device_sideb_pins[1]}, // B12 GND, A1 GND
{usb_c_host_sidea_pins[12 + 12], usb_c_device_sideb_pins[12]}, // B12 GND, A12 GND
{usb_c_host_sidea_pins[12 + 12], usb_c_device_sideb_pins[12 + 1]}, // B12 GND, B1 GND
{usb_c_host_sidea_pins[12 + 12], usb_c_device_sideb_pins[12 + 12]}, // B12 GND, B12 GND
{usb_c_host_sidea_pins[4], usb_c_device_sideb_pins[4]}, // A4 VBUS, A4 VBUS
{usb_c_host_sidea_pins[4], usb_c_device_sideb_pins[9]}, // A4 VBUS, A9 VBUS
{usb_c_host_sidea_pins[4], usb_c_device_sideb_pins[12 + 9]}, // A4 VBUS, B9 VBUS
{usb_c_host_sidea_pins[4], usb_c_device_sideb_pins[12 + 4]}, // A4 VBUS, B4 VBUS
{usb_c_host_sidea_pins[9], usb_c_device_sideb_pins[4]}, // A9 VBUS, A4 VBUS
{usb_c_host_sidea_pins[9], usb_c_device_sideb_pins[9]}, // A9 VBUS, A9 VBUS
{usb_c_host_sidea_pins[9], usb_c_device_sideb_pins[12 + 9]}, // A9 VBUS, B9 VBUS
{usb_c_host_sidea_pins[9], usb_c_device_sideb_pins[12 + 4]}, // A9 VBUS, B4 VBUS
{usb_c_host_sidea_pins[12 + 4], usb_c_device_sideb_pins[4]}, // B4 VBUS, A4 VBUS
{usb_c_host_sidea_pins[12 + 4], usb_c_device_sideb_pins[9]}, // B4 VBUS, A9 VBUS
{usb_c_host_sidea_pins[12 + 4], usb_c_device_sideb_pins[12 + 4]}, // B4 VBUS, B4 VBUS
{usb_c_host_sidea_pins[12 + 4], usb_c_device_sideb_pins[12 + 9]}, // B4 VBUS, B9 VBUS
{usb_c_host_sidea_pins[12 + 9], usb_c_device_sideb_pins[4]}, // B9 VBUS, A4 VBUS
{usb_c_host_sidea_pins[12 + 9], usb_c_device_sideb_pins[9]}, // B9 VBUS, A9 VBUS
{usb_c_host_sidea_pins[12 + 9], usb_c_device_sideb_pins[12 + 4]}, // B9 VBUS, B4 VBUS
{usb_c_host_sidea_pins[12 + 9], usb_c_device_sideb_pins[12 + 9]}, // B9 VBUS, B9 VBUS
// C-C data connections
{usb_c_host_sidea_pins[5], usb_c_device_sideb_pins[5]}, // A5 CC1, A5 CC1 (CC)
{usb_c_host_sidea_pins[12 + 5], usb_c_device_sideb_pins[12 + 5]}, // B5 CC2, B5 CC2 (VCONN)
//{usb_c_host_sidea_pins[12 + 5], usb_c_device_sideb_pins[12 + 5]}, // B5 CC2, B5 CC2 (VCONN)
{usb_c_host_sidea_pins[6], usb_c_device_sideb_pins[6]}, // A6 Dp1, A6 Dp1
{usb_c_host_sidea_pins[7], usb_c_device_sideb_pins[7]}, // A7 Dn1, A7 Dn1
};
static const uint8_t usb__c_host_sideb__c_device_sidea__cc2_pins[][2] = {
// C host side 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
// C device side 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
// C-C connections, GND and VBUS
{usb_c_host_sideb_pins[0], usb_c_device_sidea_pins[0]}, // shield, shield
{usb_c_host_sideb_pins[0], usb_c_device_sidea_pins[1]}, // shield, A1 GND
{usb_c_host_sideb_pins[0], usb_c_device_sidea_pins[12]}, // shield, A12 GND
{usb_c_host_sideb_pins[0], usb_c_device_sidea_pins[12 + 12]}, // shield, B12 GND
{usb_c_host_sideb_pins[0], usb_c_device_sidea_pins[12 + 1]}, // shield, B1 GND
{usb_c_host_sideb_pins[1], usb_c_device_sidea_pins[0]}, // A1 GND, shield
{usb_c_host_sideb_pins[1], usb_c_device_sidea_pins[1]}, // A1 GND, A1 GND
{usb_c_host_sideb_pins[1], usb_c_device_sidea_pins[12]}, // A1 GND, A12 GND
{usb_c_host_sideb_pins[1], usb_c_device_sidea_pins[12 + 12]}, // A1 GND, B12 GND
{usb_c_host_sideb_pins[1], usb_c_device_sidea_pins[12 + 1]}, // A1 GND, B1 GND
{usb_c_host_sideb_pins[12], usb_c_device_sidea_pins[0]}, // A12 GND, shield
{usb_c_host_sideb_pins[12], usb_c_device_sidea_pins[1]}, // A12 GND, A1 GND
{usb_c_host_sideb_pins[12], usb_c_device_sidea_pins[12]}, // A12 GND, A12 GND
{usb_c_host_sideb_pins[12], usb_c_device_sidea_pins[12 + 12]}, // A12 GND, B12 GND
{usb_c_host_sideb_pins[12], usb_c_device_sidea_pins[12 + 1]}, // A12 GND, B1 GND
{usb_c_host_sideb_pins[12 + 1], usb_c_device_sidea_pins[0]}, // B1 GND, shield
{usb_c_host_sideb_pins[12 + 1], usb_c_device_sidea_pins[1]}, // B1 GND, A1 GND
{usb_c_host_sideb_pins[12 + 1], usb_c_device_sidea_pins[12]}, // B1 GND, A12 GND
{usb_c_host_sideb_pins[12 + 1], usb_c_device_sidea_pins[12 + 1]}, // B1 GND, B1 GND
{usb_c_host_sideb_pins[12 + 1], usb_c_device_sidea_pins[12 + 12]}, // B1 GND, B12 GND
{usb_c_host_sideb_pins[12 + 12], usb_c_device_sidea_pins[0]}, // B12 GND, shield
{usb_c_host_sideb_pins[12 + 12], usb_c_device_sidea_pins[1]}, // B12 GND, A1 GND
{usb_c_host_sideb_pins[12 + 12], usb_c_device_sidea_pins[12]}, // B12 GND, A12 GND
{usb_c_host_sideb_pins[12 + 12], usb_c_device_sidea_pins[12 + 1]}, // B12 GND, B1 GND
{usb_c_host_sideb_pins[12 + 12], usb_c_device_sidea_pins[12 + 12]}, // B12 GND, B12 GND
{usb_c_host_sideb_pins[4], usb_c_device_sidea_pins[4]}, // A4 VBUS, A4 VBUS
{usb_c_host_sideb_pins[4], usb_c_device_sidea_pins[9]}, // A4 VBUS, A9 VBUS
{usb_c_host_sideb_pins[4], usb_c_device_sidea_pins[12 + 9]}, // A4 VBUS, B9 VBUS
{usb_c_host_sideb_pins[4], usb_c_device_sidea_pins[12 + 4]}, // A4 VBUS, B4 VBUS
{usb_c_host_sideb_pins[9], usb_c_device_sidea_pins[4]}, // A9 VBUS, A4 VBUS
{usb_c_host_sideb_pins[9], usb_c_device_sidea_pins[9]}, // A9 VBUS, A9 VBUS
{usb_c_host_sideb_pins[9], usb_c_device_sidea_pins[12 + 9]}, // A9 VBUS, B9 VBUS
{usb_c_host_sideb_pins[9], usb_c_device_sidea_pins[12 + 4]}, // A9 VBUS, B4 VBUS
{usb_c_host_sideb_pins[12 + 4], usb_c_device_sidea_pins[4]}, // B4 VBUS, A4 VBUS
{usb_c_host_sideb_pins[12 + 4], usb_c_device_sidea_pins[9]}, // B4 VBUS, A9 VBUS
{usb_c_host_sideb_pins[12 + 4], usb_c_device_sidea_pins[12 + 4]}, // B4 VBUS, B4 VBUS
{usb_c_host_sideb_pins[12 + 4], usb_c_device_sidea_pins[12 + 9]}, // B4 VBUS, B9 VBUS
{usb_c_host_sideb_pins[12 + 9], usb_c_device_sidea_pins[4]}, // B9 VBUS, A4 VBUS
{usb_c_host_sideb_pins[12 + 9], usb_c_device_sidea_pins[9]}, // B9 VBUS, A9 VBUS
{usb_c_host_sideb_pins[12 + 9], usb_c_device_sidea_pins[12 + 4]}, // B9 VBUS, B4 VBUS
{usb_c_host_sideb_pins[12 + 9], usb_c_device_sidea_pins[12 + 9]}, // B9 VBUS, B9 VBUS
// C-C data connections
{usb_c_host_sideb_pins[5], usb_c_device_sidea_pins[5]}, // A5 CC1, A5 CC1 (CC)
//{usb_c_host_sideb_pins[12 + 5], usb_c_device_sidea_pins[12 + 5]}, // B5 CC2, B5 CC2 (VCONN)
{usb_c_host_sideb_pins[6], usb_c_device_sidea_pins[6]}, // A6 Dp1, A6 Dp1
{usb_c_host_sideb_pins[7], usb_c_device_sidea_pins[7]}, // A7 Dn1, A7 Dn1
};
static const uint8_t usb__c_host_sideb__c_device_sideb__cc2_pins[][2] = {
// C host side 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
// C device side 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
// C-C connections, GND and VBUS
{usb_c_host_sideb_pins[0], usb_c_device_sideb_pins[0]}, // shield, shield
{usb_c_host_sideb_pins[0], usb_c_device_sideb_pins[1]}, // shield, A1 GND
{usb_c_host_sideb_pins[0], usb_c_device_sideb_pins[12]}, // shield, A12 GND
{usb_c_host_sideb_pins[0], usb_c_device_sideb_pins[12 + 12]}, // shield, B12 GND
{usb_c_host_sideb_pins[0], usb_c_device_sideb_pins[12 + 1]}, // shield, B1 GND
{usb_c_host_sideb_pins[1], usb_c_device_sideb_pins[0]}, // A1 GND, shield
{usb_c_host_sideb_pins[1], usb_c_device_sideb_pins[1]}, // A1 GND, A1 GND
{usb_c_host_sideb_pins[1], usb_c_device_sideb_pins[12]}, // A1 GND, A12 GND
{usb_c_host_sideb_pins[1], usb_c_device_sideb_pins[12 + 12]}, // A1 GND, B12 GND
{usb_c_host_sideb_pins[1], usb_c_device_sideb_pins[12 + 1]}, // A1 GND, B1 GND
{usb_c_host_sideb_pins[12], usb_c_device_sideb_pins[0]}, // A12 GND, shield
{usb_c_host_sideb_pins[12], usb_c_device_sideb_pins[1]}, // A12 GND, A1 GND
{usb_c_host_sideb_pins[12], usb_c_device_sideb_pins[12]}, // A12 GND, A12 GND
{usb_c_host_sideb_pins[12], usb_c_device_sideb_pins[12 + 12]}, // A12 GND, B12 GND
{usb_c_host_sideb_pins[12], usb_c_device_sideb_pins[12 + 1]}, // A12 GND, B1 GND
{usb_c_host_sideb_pins[12 + 1], usb_c_device_sideb_pins[0]}, // B1 GND, shield
{usb_c_host_sideb_pins[12 + 1], usb_c_device_sideb_pins[1]}, // B1 GND, A1 GND
{usb_c_host_sideb_pins[12 + 1], usb_c_device_sideb_pins[12]}, // B1 GND, A12 GND
{usb_c_host_sideb_pins[12 + 1], usb_c_device_sideb_pins[12 + 1]}, // B1 GND, B1 GND
{usb_c_host_sideb_pins[12 + 1], usb_c_device_sideb_pins[12 + 12]}, // B1 GND, B12 GND
{usb_c_host_sideb_pins[12 + 12], usb_c_device_sideb_pins[0]}, // B12 GND, shield
{usb_c_host_sideb_pins[12 + 12], usb_c_device_sideb_pins[1]}, // B12 GND, A1 GND
{usb_c_host_sideb_pins[12 + 12], usb_c_device_sideb_pins[12]}, // B12 GND, A12 GND
{usb_c_host_sideb_pins[12 + 12], usb_c_device_sideb_pins[12 + 1]}, // B12 GND, B1 GND
{usb_c_host_sideb_pins[12 + 12], usb_c_device_sideb_pins[12 + 12]}, // B12 GND, B12 GND
{usb_c_host_sideb_pins[4], usb_c_device_sideb_pins[4]}, // A4 VBUS, A4 VBUS
{usb_c_host_sideb_pins[4], usb_c_device_sideb_pins[9]}, // A4 VBUS, A9 VBUS
{usb_c_host_sideb_pins[4], usb_c_device_sideb_pins[12 + 9]}, // A4 VBUS, B9 VBUS
{usb_c_host_sideb_pins[4], usb_c_device_sideb_pins[12 + 4]}, // A4 VBUS, B4 VBUS
{usb_c_host_sideb_pins[9], usb_c_device_sideb_pins[4]}, // A9 VBUS, A4 VBUS
{usb_c_host_sideb_pins[9], usb_c_device_sideb_pins[9]}, // A9 VBUS, A9 VBUS
{usb_c_host_sideb_pins[9], usb_c_device_sideb_pins[12 + 9]}, // A9 VBUS, B9 VBUS
{usb_c_host_sideb_pins[9], usb_c_device_sideb_pins[12 + 4]}, // A9 VBUS, B4 VBUS
{usb_c_host_sideb_pins[12 + 4], usb_c_device_sideb_pins[4]}, // B4 VBUS, A4 VBUS
{usb_c_host_sideb_pins[12 + 4], usb_c_device_sideb_pins[9]}, // B4 VBUS, A9 VBUS
{usb_c_host_sideb_pins[12 + 4], usb_c_device_sideb_pins[12 + 4]}, // B4 VBUS, B4 VBUS
{usb_c_host_sideb_pins[12 + 4], usb_c_device_sideb_pins[12 + 9]}, // B4 VBUS, B9 VBUS
{usb_c_host_sideb_pins[12 + 9], usb_c_device_sideb_pins[4]}, // B9 VBUS, A4 VBUS
{usb_c_host_sideb_pins[12 + 9], usb_c_device_sideb_pins[9]}, // B9 VBUS, A9 VBUS
{usb_c_host_sideb_pins[12 + 9], usb_c_device_sideb_pins[12 + 4]}, // B9 VBUS, B4 VBUS
{usb_c_host_sideb_pins[12 + 9], usb_c_device_sideb_pins[12 + 9]}, // B9 VBUS, B9 VBUS
// C-C data connections
{usb_c_host_sideb_pins[5], usb_c_device_sideb_pins[5]}, // A5 CC1, A5 CC1 (CC)
//{usb_c_host_sideb_pins[12 + 5], usb_c_device_sideb_pins[12 + 5]}, // B5 CC2, B5 CC2 (VCONN)
{usb_c_host_sideb_pins[6], usb_c_device_sideb_pins[6]}, // A6 Dp1, A6 Dp1
{usb_c_host_sideb_pins[7], usb_c_device_sideb_pins[7]}, // A7 Dn1, A7 Dn1
};
/** USB type C to type C full featured cable pin pairs
* @implements Full-Featured assembly 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)
@ -3394,25 +3610,50 @@ static const uint8_t usb__c_host_sidea__c_device_sidea__ff_pins[][2] = {
{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
// C-C connections, GND and VBUS
{usb_c_host_sidea_pins[0], usb_c_device_sidea_pins[0]}, // shield, shield
{usb_c_host_sidea_pins[0], usb_c_device_sidea_pins[1]}, // shield, A1 GND
{usb_c_host_sidea_pins[0], usb_c_device_sidea_pins[12]}, // shield, A12 GND
{usb_c_host_sidea_pins[0], usb_c_device_sidea_pins[12 + 12]}, // shield, B12 GND
{usb_c_host_sidea_pins[0], usb_c_device_sidea_pins[12 + 1]}, // shield, B1 GND
{usb_c_host_sidea_pins[1], usb_c_device_sidea_pins[0]}, // A1 GND, shield
{usb_c_host_sidea_pins[1], usb_c_device_sidea_pins[1]}, // A1 GND, A1 GND
{usb_c_host_sidea_pins[1], usb_c_device_sidea_pins[12]}, // A1 GND, A12 GND
{usb_c_host_sidea_pins[1], usb_c_device_sidea_pins[12 + 12]}, // A1 GND, B12 GND
{usb_c_host_sidea_pins[1], usb_c_device_sidea_pins[12 + 1]}, // A1 GND, B1 GND
{usb_c_host_sidea_pins[12], usb_c_device_sidea_pins[0]}, // A12 GND, shield
{usb_c_host_sidea_pins[12], usb_c_device_sidea_pins[1]}, // A12 GND, A1 GND
{usb_c_host_sidea_pins[12], usb_c_device_sidea_pins[12]}, // A12 GND, A12 GND
{usb_c_host_sidea_pins[12], usb_c_device_sidea_pins[12 + 12]}, // A12 GND, B12 GND
{usb_c_host_sidea_pins[12], usb_c_device_sidea_pins[12 + 1]}, // A12 GND, B1 GND
{usb_c_host_sidea_pins[12 + 1], usb_c_device_sidea_pins[0]}, // B1 GND, shield
{usb_c_host_sidea_pins[12 + 1], usb_c_device_sidea_pins[1]}, // B1 GND, A1 GND
{usb_c_host_sidea_pins[12 + 1], usb_c_device_sidea_pins[12]}, // B1 GND, A12 GND
{usb_c_host_sidea_pins[12 + 1], usb_c_device_sidea_pins[12 + 1]}, // B1 GND, B1 GND
{usb_c_host_sidea_pins[12 + 1], usb_c_device_sidea_pins[12 + 12]}, // B1 GND, B12 GND
{usb_c_host_sidea_pins[12 + 12], usb_c_device_sidea_pins[0]}, // B12 GND, shield
{usb_c_host_sidea_pins[12 + 12], usb_c_device_sidea_pins[1]}, // B12 GND, A1 GND
{usb_c_host_sidea_pins[12 + 12], usb_c_device_sidea_pins[12]}, // B12 GND, A12 GND
{usb_c_host_sidea_pins[12 + 12], usb_c_device_sidea_pins[12 + 1]}, // B12 GND, B1 GND
{usb_c_host_sidea_pins[12 + 12], usb_c_device_sidea_pins[12 + 12]}, // B12 GND, B12 GND
{usb_c_host_sidea_pins[4], usb_c_device_sidea_pins[4]}, // A4 VBUS, A4 VBUS
{usb_c_host_sidea_pins[4], usb_c_device_sidea_pins[9]}, // A4 VBUS, A9 VBUS
{usb_c_host_sidea_pins[4], usb_c_device_sidea_pins[12 + 9]}, // A4 VBUS, B9 VBUS
{usb_c_host_sidea_pins[4], usb_c_device_sidea_pins[12 + 4]}, // A4 VBUS, B4 VBUS
{usb_c_host_sidea_pins[9], usb_c_device_sidea_pins[4]}, // A9 VBUS, A4 VBUS
{usb_c_host_sidea_pins[9], usb_c_device_sidea_pins[9]}, // A9 VBUS, A9 VBUS
{usb_c_host_sidea_pins[9], usb_c_device_sidea_pins[12 + 9]}, // A9 VBUS, B9 VBUS
{usb_c_host_sidea_pins[9], usb_c_device_sidea_pins[12 + 4]}, // A9 VBUS, B4 VBUS
{usb_c_host_sidea_pins[12 + 4], usb_c_device_sidea_pins[4]}, // B4 VBUS, A4 VBUS
{usb_c_host_sidea_pins[12 + 4], usb_c_device_sidea_pins[9]}, // B4 VBUS, A9 VBUS
{usb_c_host_sidea_pins[12 + 4], usb_c_device_sidea_pins[12 + 4]}, // B4 VBUS, B4 VBUS
{usb_c_host_sidea_pins[12 + 4], usb_c_device_sidea_pins[12 + 9]}, // B4 VBUS, B9 VBUS
{usb_c_host_sidea_pins[12 + 9], usb_c_device_sidea_pins[4]}, // B9 VBUS, A4 VBUS
{usb_c_host_sidea_pins[12 + 9], usb_c_device_sidea_pins[9]}, // B9 VBUS, A9 VBUS
{usb_c_host_sidea_pins[12 + 9], usb_c_device_sidea_pins[12 + 4]}, // B9 VBUS, B4 VBUS
{usb_c_host_sidea_pins[12 + 9], usb_c_device_sidea_pins[12 + 9]}, // B9 VBUS, B9 VBUS
// C-C data connections
{usb_c_host_sidea_pins[5], usb_c_device_sidea_pins[5]}, // A5 CC1, A5 CC1 (CC)
{usb_c_host_sidea_pins[12 + 5], usb_c_device_sidea_pins[12 + 5]}, // B5 CC2, B5 CC2 (VCONN)
//{usb_c_host_sidea_pins[12 + 5], usb_c_device_sidea_pins[12 + 5]}, // B5 CC2, B5 CC2 (VCONN)
{usb_c_host_sidea_pins[6], usb_c_device_sidea_pins[6]}, // A6 Dp1, A6 Dp1
{usb_c_host_sidea_pins[7], usb_c_device_sidea_pins[7]}, // A7 Dn1, A7 Dn1
{usb_c_host_sidea_pins[2], usb_c_device_sidea_pins[12 + 11]}, // A2 TXp1, B11 RXp1
@ -3462,25 +3703,50 @@ static const uint8_t usb__c_host_sidea__c_device_sideb__ff_pins[][2] = {
{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
// C-C connections, GND and VBUS
{usb_c_host_sidea_pins[0], usb_c_device_sideb_pins[0]}, // shield, shield
{usb_c_host_sidea_pins[0], usb_c_device_sideb_pins[1]}, // shield, A1 GND
{usb_c_host_sidea_pins[0], usb_c_device_sideb_pins[12]}, // shield, A12 GND
{usb_c_host_sidea_pins[0], usb_c_device_sideb_pins[12 + 12]}, // shield, B12 GND
{usb_c_host_sidea_pins[0], usb_c_device_sideb_pins[12 + 1]}, // shield, B1 GND
{usb_c_host_sidea_pins[1], usb_c_device_sideb_pins[0]}, // A1 GND, shield
{usb_c_host_sidea_pins[1], usb_c_device_sideb_pins[1]}, // A1 GND, A1 GND
{usb_c_host_sidea_pins[1], usb_c_device_sideb_pins[12]}, // A1 GND, A12 GND
{usb_c_host_sidea_pins[1], usb_c_device_sideb_pins[12 + 12]}, // A1 GND, B12 GND
{usb_c_host_sidea_pins[1], usb_c_device_sideb_pins[12 + 1]}, // A1 GND, B1 GND
{usb_c_host_sidea_pins[12], usb_c_device_sideb_pins[0]}, // A12 GND, shield
{usb_c_host_sidea_pins[12], usb_c_device_sideb_pins[1]}, // A12 GND, A1 GND
{usb_c_host_sidea_pins[12], usb_c_device_sideb_pins[12]}, // A12 GND, A12 GND
{usb_c_host_sidea_pins[12], usb_c_device_sideb_pins[12 + 12]}, // A12 GND, B12 GND
{usb_c_host_sidea_pins[12], usb_c_device_sideb_pins[12 + 1]}, // A12 GND, B1 GND
{usb_c_host_sidea_pins[12 + 1], usb_c_device_sideb_pins[0]}, // B1 GND, shield
{usb_c_host_sidea_pins[12 + 1], usb_c_device_sideb_pins[1]}, // B1 GND, A1 GND
{usb_c_host_sidea_pins[12 + 1], usb_c_device_sideb_pins[12]}, // B1 GND, A12 GND
{usb_c_host_sidea_pins[12 + 1], usb_c_device_sideb_pins[12 + 1]}, // B1 GND, B1 GND
{usb_c_host_sidea_pins[12 + 1], usb_c_device_sideb_pins[12 + 12]}, // B1 GND, B12 GND
{usb_c_host_sidea_pins[12 + 12], usb_c_device_sideb_pins[0]}, // B12 GND, shield
{usb_c_host_sidea_pins[12 + 12], usb_c_device_sideb_pins[1]}, // B12 GND, A1 GND
{usb_c_host_sidea_pins[12 + 12], usb_c_device_sideb_pins[12]}, // B12 GND, A12 GND
{usb_c_host_sidea_pins[12 + 12], usb_c_device_sideb_pins[12 + 1]}, // B12 GND, B1 GND
{usb_c_host_sidea_pins[12 + 12], usb_c_device_sideb_pins[12 + 12]}, // B12 GND, B12 GND
{usb_c_host_sidea_pins[4], usb_c_device_sideb_pins[4]}, // A4 VBUS, A4 VBUS
{usb_c_host_sidea_pins[4], usb_c_device_sideb_pins[9]}, // A4 VBUS, A9 VBUS
{usb_c_host_sidea_pins[4], usb_c_device_sideb_pins[12 + 9]}, // A4 VBUS, B9 VBUS
{usb_c_host_sidea_pins[4], usb_c_device_sideb_pins[12 + 4]}, // A4 VBUS, B4 VBUS
{usb_c_host_sidea_pins[9], usb_c_device_sideb_pins[4]}, // A9 VBUS, A4 VBUS
{usb_c_host_sidea_pins[9], usb_c_device_sideb_pins[9]}, // A9 VBUS, A9 VBUS
{usb_c_host_sidea_pins[9], usb_c_device_sideb_pins[12 + 9]}, // A9 VBUS, B9 VBUS
{usb_c_host_sidea_pins[9], usb_c_device_sideb_pins[12 + 4]}, // A9 VBUS, B4 VBUS
{usb_c_host_sidea_pins[12 + 4], usb_c_device_sideb_pins[4]}, // B4 VBUS, A4 VBUS
{usb_c_host_sidea_pins[12 + 4], usb_c_device_sideb_pins[9]}, // B4 VBUS, A9 VBUS
{usb_c_host_sidea_pins[12 + 4], usb_c_device_sideb_pins[12 + 4]}, // B4 VBUS, B4 VBUS
{usb_c_host_sidea_pins[12 + 4], usb_c_device_sideb_pins[12 + 9]}, // B4 VBUS, B9 VBUS
{usb_c_host_sidea_pins[12 + 9], usb_c_device_sideb_pins[4]}, // B9 VBUS, A4 VBUS
{usb_c_host_sidea_pins[12 + 9], usb_c_device_sideb_pins[9]}, // B9 VBUS, A9 VBUS
{usb_c_host_sidea_pins[12 + 9], usb_c_device_sideb_pins[12 + 4]}, // B9 VBUS, B4 VBUS
{usb_c_host_sidea_pins[12 + 9], usb_c_device_sideb_pins[12 + 9]}, // B9 VBUS, B9 VBUS
// C-C data connections
{usb_c_host_sidea_pins[5], usb_c_device_sideb_pins[5]}, // A5 CC1, A5 CC1 (CC)
{usb_c_host_sidea_pins[12 + 5], usb_c_device_sideb_pins[12 + 5]}, // B5 CC2, B5 CC2 (VCONN)
//{usb_c_host_sidea_pins[12 + 5], usb_c_device_sideb_pins[12 + 5]}, // B5 CC2, B5 CC2 (VCONN)
{usb_c_host_sidea_pins[6], usb_c_device_sideb_pins[6]}, // A6 Dp1, A6 Dp1
{usb_c_host_sidea_pins[7], usb_c_device_sideb_pins[7]}, // A7 Dn1, A7 Dn1
{usb_c_host_sidea_pins[2], usb_c_device_sideb_pins[12 + 11]}, // A2 TXp1, B11 RXp1
@ -3494,6 +3760,192 @@ static const uint8_t usb__c_host_sidea__c_device_sideb__ff_pins[][2] = {
{usb_c_host_sidea_pins[8], usb_c_device_sideb_pins[12 + 8]}, // A8 SBU1, B8 SBU2
{usb_c_host_sidea_pins[12 + 8], usb_c_device_sideb_pins[8]}, // B8 SBU2, A8 SBU1
};
static const uint8_t usb__c_host_sideb__c_device_sidea__ff_pins[][2] = {
// C host side 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
// C device side 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
// C-C connections, GND and VBUS
{usb_c_host_sideb_pins[0], usb_c_device_sidea_pins[0]}, // shield, shield
{usb_c_host_sideb_pins[0], usb_c_device_sidea_pins[1]}, // shield, A1 GND
{usb_c_host_sideb_pins[0], usb_c_device_sidea_pins[12]}, // shield, A12 GND
{usb_c_host_sideb_pins[0], usb_c_device_sidea_pins[12 + 12]}, // shield, B12 GND
{usb_c_host_sideb_pins[0], usb_c_device_sidea_pins[12 + 1]}, // shield, B1 GND
{usb_c_host_sideb_pins[1], usb_c_device_sidea_pins[0]}, // A1 GND, shield
{usb_c_host_sideb_pins[1], usb_c_device_sidea_pins[1]}, // A1 GND, A1 GND
{usb_c_host_sideb_pins[1], usb_c_device_sidea_pins[12]}, // A1 GND, A12 GND
{usb_c_host_sideb_pins[1], usb_c_device_sidea_pins[12 + 12]}, // A1 GND, B12 GND
{usb_c_host_sideb_pins[1], usb_c_device_sidea_pins[12 + 1]}, // A1 GND, B1 GND
{usb_c_host_sideb_pins[12], usb_c_device_sidea_pins[0]}, // A12 GND, shield
{usb_c_host_sideb_pins[12], usb_c_device_sidea_pins[1]}, // A12 GND, A1 GND
{usb_c_host_sideb_pins[12], usb_c_device_sidea_pins[12]}, // A12 GND, A12 GND
{usb_c_host_sideb_pins[12], usb_c_device_sidea_pins[12 + 12]}, // A12 GND, B12 GND
{usb_c_host_sideb_pins[12], usb_c_device_sidea_pins[12 + 1]}, // A12 GND, B1 GND
{usb_c_host_sideb_pins[12 + 1], usb_c_device_sidea_pins[0]}, // B1 GND, shield
{usb_c_host_sideb_pins[12 + 1], usb_c_device_sidea_pins[1]}, // B1 GND, A1 GND
{usb_c_host_sideb_pins[12 + 1], usb_c_device_sidea_pins[12]}, // B1 GND, A12 GND
{usb_c_host_sideb_pins[12 + 1], usb_c_device_sidea_pins[12 + 1]}, // B1 GND, B1 GND
{usb_c_host_sideb_pins[12 + 1], usb_c_device_sidea_pins[12 + 12]}, // B1 GND, B12 GND
{usb_c_host_sideb_pins[12 + 12], usb_c_device_sidea_pins[0]}, // B12 GND, shield
{usb_c_host_sideb_pins[12 + 12], usb_c_device_sidea_pins[1]}, // B12 GND, A1 GND
{usb_c_host_sideb_pins[12 + 12], usb_c_device_sidea_pins[12]}, // B12 GND, A12 GND
{usb_c_host_sideb_pins[12 + 12], usb_c_device_sidea_pins[12 + 1]}, // B12 GND, B1 GND
{usb_c_host_sideb_pins[12 + 12], usb_c_device_sidea_pins[12 + 12]}, // B12 GND, B12 GND
{usb_c_host_sideb_pins[4], usb_c_device_sidea_pins[4]}, // A4 VBUS, A4 VBUS
{usb_c_host_sideb_pins[4], usb_c_device_sidea_pins[9]}, // A4 VBUS, A9 VBUS
{usb_c_host_sideb_pins[4], usb_c_device_sidea_pins[12 + 9]}, // A4 VBUS, B9 VBUS
{usb_c_host_sideb_pins[4], usb_c_device_sidea_pins[12 + 4]}, // A4 VBUS, B4 VBUS
{usb_c_host_sideb_pins[9], usb_c_device_sidea_pins[4]}, // A9 VBUS, A4 VBUS
{usb_c_host_sideb_pins[9], usb_c_device_sidea_pins[9]}, // A9 VBUS, A9 VBUS
{usb_c_host_sideb_pins[9], usb_c_device_sidea_pins[12 + 9]}, // A9 VBUS, B9 VBUS
{usb_c_host_sideb_pins[9], usb_c_device_sidea_pins[12 + 4]}, // A9 VBUS, B4 VBUS
{usb_c_host_sideb_pins[12 + 4], usb_c_device_sidea_pins[4]}, // B4 VBUS, A4 VBUS
{usb_c_host_sideb_pins[12 + 4], usb_c_device_sidea_pins[9]}, // B4 VBUS, A9 VBUS
{usb_c_host_sideb_pins[12 + 4], usb_c_device_sidea_pins[12 + 4]}, // B4 VBUS, B4 VBUS
{usb_c_host_sideb_pins[12 + 4], usb_c_device_sidea_pins[12 + 9]}, // B4 VBUS, B9 VBUS
{usb_c_host_sideb_pins[12 + 9], usb_c_device_sidea_pins[4]}, // B9 VBUS, A4 VBUS
{usb_c_host_sideb_pins[12 + 9], usb_c_device_sidea_pins[9]}, // B9 VBUS, A9 VBUS
{usb_c_host_sideb_pins[12 + 9], usb_c_device_sidea_pins[12 + 4]}, // B9 VBUS, B4 VBUS
{usb_c_host_sideb_pins[12 + 9], usb_c_device_sidea_pins[12 + 9]}, // B9 VBUS, B9 VBUS
// C-C data connections
{usb_c_host_sideb_pins[5], usb_c_device_sidea_pins[5]}, // A5 CC1, A5 CC1 (CC)
//{usb_c_host_sideb_pins[12 + 5], usb_c_device_sidea_pins[12 + 5]}, // B5 CC2, B5 CC2 (VCONN)
{usb_c_host_sideb_pins[6], usb_c_device_sidea_pins[6]}, // A6 Dp1, A6 Dp1
{usb_c_host_sideb_pins[7], usb_c_device_sidea_pins[7]}, // A7 Dn1, A7 Dn1
{usb_c_host_sideb_pins[2], usb_c_device_sidea_pins[12 + 11]}, // A2 TXp1, B11 RXp1
{usb_c_host_sideb_pins[3], usb_c_device_sidea_pins[12 + 10]}, // A3 TXn1, B10 RXn1
{usb_c_host_sideb_pins[12 + 11], usb_c_device_sidea_pins[2]}, // B11 RXp1, A2 TXp1
{usb_c_host_sideb_pins[12 + 10], usb_c_device_sidea_pins[3]}, // B10 RXn1, A3 TXn1
{usb_c_host_sideb_pins[12 + 2], usb_c_device_sidea_pins[11]}, // B2 TXp2, Q11 RXp2
{usb_c_host_sideb_pins[12 + 3], usb_c_device_sidea_pins[10]}, // B3 TXn2, A10 RXn2
{usb_c_host_sideb_pins[11], usb_c_device_sidea_pins[12 + 2]}, // A11 RXp2, B2 TXp2
{usb_c_host_sideb_pins[10], usb_c_device_sidea_pins[12 + 3]}, // A10 RXn2, B3 TXn2
{usb_c_host_sideb_pins[8], usb_c_device_sidea_pins[12 + 8]}, // A8 SBU1, B8 SBU2
{usb_c_host_sideb_pins[12 + 8], usb_c_device_sidea_pins[8]}, // B8 SBU2, A8 SBU1
};
static const uint8_t usb__c_host_sideb__c_device_sideb__ff_pins[][2] = {
// C host side 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
// C device side 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
// C-C connections, GND and VBUS
{usb_c_host_sideb_pins[0], usb_c_device_sideb_pins[0]}, // shield, shield
{usb_c_host_sideb_pins[0], usb_c_device_sideb_pins[1]}, // shield, A1 GND
{usb_c_host_sideb_pins[0], usb_c_device_sideb_pins[12]}, // shield, A12 GND
{usb_c_host_sideb_pins[0], usb_c_device_sideb_pins[12 + 12]}, // shield, B12 GND
{usb_c_host_sideb_pins[0], usb_c_device_sideb_pins[12 + 1]}, // shield, B1 GND
{usb_c_host_sideb_pins[1], usb_c_device_sideb_pins[0]}, // A1 GND, shield
{usb_c_host_sideb_pins[1], usb_c_device_sideb_pins[1]}, // A1 GND, A1 GND
{usb_c_host_sideb_pins[1], usb_c_device_sideb_pins[12]}, // A1 GND, A12 GND
{usb_c_host_sideb_pins[1], usb_c_device_sideb_pins[12 + 12]}, // A1 GND, B12 GND
{usb_c_host_sideb_pins[1], usb_c_device_sideb_pins[12 + 1]}, // A1 GND, B1 GND
{usb_c_host_sideb_pins[12], usb_c_device_sideb_pins[0]}, // A12 GND, shield
{usb_c_host_sideb_pins[12], usb_c_device_sideb_pins[1]}, // A12 GND, A1 GND
{usb_c_host_sideb_pins[12], usb_c_device_sideb_pins[12]}, // A12 GND, A12 GND
{usb_c_host_sideb_pins[12], usb_c_device_sideb_pins[12 + 12]}, // A12 GND, B12 GND
{usb_c_host_sideb_pins[12], usb_c_device_sideb_pins[12 + 1]}, // A12 GND, B1 GND
{usb_c_host_sideb_pins[12 + 1], usb_c_device_sideb_pins[0]}, // B1 GND, shield
{usb_c_host_sideb_pins[12 + 1], usb_c_device_sideb_pins[1]}, // B1 GND, A1 GND
{usb_c_host_sideb_pins[12 + 1], usb_c_device_sideb_pins[12]}, // B1 GND, A12 GND
{usb_c_host_sideb_pins[12 + 1], usb_c_device_sideb_pins[12 + 1]}, // B1 GND, B1 GND
{usb_c_host_sideb_pins[12 + 1], usb_c_device_sideb_pins[12 + 12]}, // B1 GND, B12 GND
{usb_c_host_sideb_pins[12 + 12], usb_c_device_sideb_pins[0]}, // B12 GND, shield
{usb_c_host_sideb_pins[12 + 12], usb_c_device_sideb_pins[1]}, // B12 GND, A1 GND
{usb_c_host_sideb_pins[12 + 12], usb_c_device_sideb_pins[12]}, // B12 GND, A12 GND
{usb_c_host_sideb_pins[12 + 12], usb_c_device_sideb_pins[12 + 1]}, // B12 GND, B1 GND
{usb_c_host_sideb_pins[12 + 12], usb_c_device_sideb_pins[12 + 12]}, // B12 GND, B12 GND
{usb_c_host_sideb_pins[4], usb_c_device_sideb_pins[4]}, // A4 VBUS, A4 VBUS
{usb_c_host_sideb_pins[4], usb_c_device_sideb_pins[9]}, // A4 VBUS, A9 VBUS
{usb_c_host_sideb_pins[4], usb_c_device_sideb_pins[12 + 9]}, // A4 VBUS, B9 VBUS
{usb_c_host_sideb_pins[4], usb_c_device_sideb_pins[12 + 4]}, // A4 VBUS, B4 VBUS
{usb_c_host_sideb_pins[9], usb_c_device_sideb_pins[4]}, // A9 VBUS, A4 VBUS
{usb_c_host_sideb_pins[9], usb_c_device_sideb_pins[9]}, // A9 VBUS, A9 VBUS
{usb_c_host_sideb_pins[9], usb_c_device_sideb_pins[12 + 9]}, // A9 VBUS, B9 VBUS
{usb_c_host_sideb_pins[9], usb_c_device_sideb_pins[12 + 4]}, // A9 VBUS, B4 VBUS
{usb_c_host_sideb_pins[12 + 4], usb_c_device_sideb_pins[4]}, // B4 VBUS, A4 VBUS
{usb_c_host_sideb_pins[12 + 4], usb_c_device_sideb_pins[9]}, // B4 VBUS, A9 VBUS
{usb_c_host_sideb_pins[12 + 4], usb_c_device_sideb_pins[12 + 4]}, // B4 VBUS, B4 VBUS
{usb_c_host_sideb_pins[12 + 4], usb_c_device_sideb_pins[12 + 9]}, // B4 VBUS, B9 VBUS
{usb_c_host_sideb_pins[12 + 9], usb_c_device_sideb_pins[4]}, // B9 VBUS, A4 VBUS
{usb_c_host_sideb_pins[12 + 9], usb_c_device_sideb_pins[9]}, // B9 VBUS, A9 VBUS
{usb_c_host_sideb_pins[12 + 9], usb_c_device_sideb_pins[12 + 4]}, // B9 VBUS, B4 VBUS
{usb_c_host_sideb_pins[12 + 9], usb_c_device_sideb_pins[12 + 9]}, // B9 VBUS, B9 VBUS
// C-C data connections
{usb_c_host_sideb_pins[5], usb_c_device_sideb_pins[5]}, // A5 CC1, A5 CC1 (CC)
//{usb_c_host_sideb_pins[12 + 5], usb_c_device_sideb_pins[12 + 5]}, // B5 CC2, B5 CC2 (VCONN)
{usb_c_host_sideb_pins[6], usb_c_device_sideb_pins[6]}, // A6 Dp1, A6 Dp1
{usb_c_host_sideb_pins[7], usb_c_device_sideb_pins[7]}, // A7 Dn1, A7 Dn1
{usb_c_host_sideb_pins[2], usb_c_device_sideb_pins[12 + 11]}, // A2 TXp1, B11 RXp1
{usb_c_host_sideb_pins[3], usb_c_device_sideb_pins[12 + 10]}, // A3 TXn1, B10 RXn1
{usb_c_host_sideb_pins[12 + 11], usb_c_device_sideb_pins[2]}, // B11 RXp1, A2 TXp1
{usb_c_host_sideb_pins[12 + 10], usb_c_device_sideb_pins[3]}, // B10 RXn1, A3 TXn1
{usb_c_host_sideb_pins[12 + 2], usb_c_device_sideb_pins[11]}, // B2 TXp2, Q11 RXp2
{usb_c_host_sideb_pins[12 + 3], usb_c_device_sideb_pins[10]}, // B3 TXn2, A10 RXn2
{usb_c_host_sideb_pins[11], usb_c_device_sideb_pins[12 + 2]}, // A11 RXp2, B2 TXp2
{usb_c_host_sideb_pins[10], usb_c_device_sideb_pins[12 + 3]}, // A10 RXn2, B3 TXn2
{usb_c_host_sideb_pins[8], usb_c_device_sideb_pins[12 + 8]}, // A8 SBU1, B8 SBU2
{usb_c_host_sideb_pins[12 + 8], usb_c_device_sideb_pins[8]}, // B8 SBU2, A8 SBU1
};
const struct usb_cable_t usb_cables[] = {
// A-A
@ -4012,6 +4464,20 @@ const struct usb_cable_t usb_cables[] = {
.pin_pairs_nb = LENGTH(usb__c_host_sidea__c_device_sideb__cc2_pins),
.pin_pairs = usb__c_host_sidea__c_device_sideb__cc2_pins,
},
{
.name = "C-C USB 2.0",
.connectors_nb = LENGTH(usb_c_c_connectors),
.connectors = usb_c_c_connectors,
.pin_pairs_nb = LENGTH(usb__c_host_sideb__c_device_sidea__cc2_pins),
.pin_pairs = usb__c_host_sideb__c_device_sidea__cc2_pins,
},
{
.name = "C-C USB 2.0",
.connectors_nb = LENGTH(usb_c_c_connectors),
.connectors = usb_c_c_connectors,
.pin_pairs_nb = LENGTH(usb__c_host_sideb__c_device_sideb__cc2_pins),
.pin_pairs = usb__c_host_sideb__c_device_sideb__cc2_pins,
},
// C-C
{
.name = "C-C Full-Featured",
@ -4027,6 +4493,20 @@ const struct usb_cable_t usb_cables[] = {
.pin_pairs_nb = LENGTH(usb__c_host_sidea__c_device_sideb__ff_pins),
.pin_pairs = usb__c_host_sidea__c_device_sideb__ff_pins,
},
{
.name = "C-C Full-Featured",
.connectors_nb = LENGTH(usb_c_c_connectors),
.connectors = usb_c_c_connectors,
.pin_pairs_nb = LENGTH(usb__c_host_sideb__c_device_sidea__ff_pins),
.pin_pairs = usb__c_host_sideb__c_device_sidea__ff_pins,
},
{
.name = "C-C Full-Featured",
.connectors_nb = LENGTH(usb_c_c_connectors),
.connectors = usb_c_c_connectors,
.pin_pairs_nb = LENGTH(usb__c_host_sideb__c_device_sideb__ff_pins),
.pin_pairs = usb__c_host_sideb__c_device_sideb__ff_pins,
},
};
void usb_cables_pins_float(const struct usb_connector_t* connector)

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[73];
extern const struct usb_cable_t usb_cables[77];
/** set every pin of connector to input floating
* @param[in] connector connector on which to set the pins floating