usb_cables: add cc2 cables
This commit is contained in:
parent
f206343b49
commit
1db45d7bdb
141
usb_cables.c
141
usb_cables.c
|
@ -3163,6 +3163,132 @@ static const uint8_t usb__c_device_sideb__microb_device__cmicrob3_pins[][2] = {
|
|||
{usb_microb_device_pins[6], usb_c_device_sideb_pins[12 + 10]}, // SSTX-, B10 SSRXn1
|
||||
};
|
||||
|
||||
/** list of connectors for C-C cables */
|
||||
static const struct usb_connector_t* usb_c_c_connectors[] = {
|
||||
&usb_c_host_connector,
|
||||
&usb_c_device_connector,
|
||||
};
|
||||
|
||||
/** USB type C to type micro-B USB 3.1 Gen 2 cable pin pairs
|
||||
* @implements CµB3G2-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__c_host_sidea__c_device_sidea__cc2_pins[][2] = {
|
||||
// C host side 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
|
||||
// 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_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[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[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[12 + 12]}, // B1 GND, B12 GND
|
||||
{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[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 + 9], usb_c_device_sidea_pins[12 + 4]}, // B9 VBUS, B4 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[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
|
||||
};
|
||||
static const uint8_t usb__c_host_sidea__c_device_sideb__cc2_pins[][2] = {
|
||||
// C host side 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
|
||||
// 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_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[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[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[12 + 12]}, // B1 GND, B12 GND
|
||||
{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[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 + 9], usb_c_device_sideb_pins[12 + 4]}, // B9 VBUS, B4 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[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
|
||||
};
|
||||
|
||||
const struct usb_cable_t usb_cables[] = {
|
||||
// A-A
|
||||
{
|
||||
|
@ -3635,6 +3761,21 @@ const struct usb_cable_t usb_cables[] = {
|
|||
.pin_pairs_nb = LENGTH(usb__c_device_sideb__microb_device__cmicrob3_pins),
|
||||
.pin_pairs = usb__c_device_sideb__microb_device__cmicrob3_pins,
|
||||
},
|
||||
// C-C
|
||||
{
|
||||
.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_sidea__c_device_sidea__cc2_pins),
|
||||
.pin_pairs = usb__c_host_sidea__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_sidea__c_device_sideb__cc2_pins),
|
||||
.pin_pairs = usb__c_host_sidea__c_device_sideb__cc2_pins,
|
||||
},
|
||||
};
|
||||
|
||||
void usb_cables_pins_float(const struct usb_connector_t* connector)
|
||||
|
|
|
@ -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[65];
|
||||
extern const struct usb_cable_t usb_cables[67];
|
||||
|
||||
/** set every pin of connector to input floating
|
||||
* @param[in] connector connector on which to set the pins floating
|
||||
|
|
Loading…
Reference in New Issue