usb_cables: add usb-c signal shunt
This commit is contained in:
parent
d43b098fbf
commit
33ec1bcd26
|
@ -1078,8 +1078,8 @@ static void command_test(void* argument)
|
||||||
USB_CABLE_AB3_DEVICE,
|
USB_CABLE_AB3_DEVICE,
|
||||||
USB_CABLE_AAB2_HOST,
|
USB_CABLE_AAB2_HOST,
|
||||||
USB_CABLE_AUB3_HOST,
|
USB_CABLE_AUB3_HOST,
|
||||||
USB_CABLE_CSHUNT_HOST,
|
USB_CABLE_CPINSHUNT_HOST,
|
||||||
USB_CABLE_CSHUNT_DEVICE,
|
USB_CABLE_CPINSHUNT_DEVICE,
|
||||||
};
|
};
|
||||||
|
|
||||||
for (uint8_t cable_id = 0; cable_id < LENGTH(test_cables); cable_id++) {
|
for (uint8_t cable_id = 0; cable_id < LENGTH(test_cables); cable_id++) {
|
||||||
|
|
75
usb_cables.c
75
usb_cables.c
|
@ -1150,8 +1150,8 @@ static const struct usb_connector_t* usb_c_host_connectors[] = {
|
||||||
&usb_c_host_connector,
|
&usb_c_host_connector,
|
||||||
};
|
};
|
||||||
|
|
||||||
/** this is not a cable, but a shunt shorting opposite signal the type C connector so to test it */
|
/** this is not a cable, but a shunt shorting opposite pins the type C connector so to test it */
|
||||||
static const uint8_t usb__c_host__c_host__cshunt_pins[][2] = {
|
static const uint8_t usb__c_host__c_host__cpinshunt_pins[][2] = {
|
||||||
{usb_c_host_sidea_pins[1], usb_c_host_sideb_pins[12]}, // A1 GND, B12 GND
|
{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 TX+1, B11 RX+1
|
{usb_c_host_sidea_pins[2], usb_c_host_sideb_pins[11]}, // A2 TX+1, B11 RX+1
|
||||||
{usb_c_host_sidea_pins[3], usb_c_host_sideb_pins[10]}, // A3 TX-1, B10 RX-1
|
{usb_c_host_sidea_pins[3], usb_c_host_sideb_pins[10]}, // A3 TX-1, B10 RX-1
|
||||||
|
@ -1166,12 +1166,28 @@ static const uint8_t usb__c_host__c_host__cshunt_pins[][2] = {
|
||||||
{usb_c_host_sidea_pins[12], usb_c_host_sideb_pins[1]}, // A12 GND, B1 GND
|
{usb_c_host_sidea_pins[12], usb_c_host_sideb_pins[1]}, // A12 GND, B1 GND
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/** 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__csignalshunt_pins[][2] = {
|
||||||
|
{usb_c_host_sidea_pins[1], usb_c_host_sideb_pins[1]}, // A1 GND, B1 GND
|
||||||
|
{usb_c_host_sidea_pins[2], usb_c_host_sideb_pins[2]}, // A2 TX+1, B2 TX+2
|
||||||
|
{usb_c_host_sidea_pins[3], usb_c_host_sideb_pins[3]}, // A3 TX-1, B3 TX-2
|
||||||
|
{usb_c_host_sidea_pins[4], usb_c_host_sideb_pins[4]}, // A4 VBUS, B4 VBUS
|
||||||
|
{usb_c_host_sidea_pins[5], usb_c_host_sideb_pins[5]}, // A5 CC1, B5 CC2
|
||||||
|
{usb_c_host_sidea_pins[6], usb_c_host_sideb_pins[6]}, // A6 D+1, B6 D+2
|
||||||
|
{usb_c_host_sidea_pins[7], usb_c_host_sideb_pins[7]}, // A7 D-1, B7 D-2
|
||||||
|
{usb_c_host_sidea_pins[8], usb_c_host_sideb_pins[8]}, // A8 SBU1, B8 SBU2
|
||||||
|
{usb_c_host_sidea_pins[9], usb_c_host_sideb_pins[9]}, // A9 VBUS, B9 VBUS
|
||||||
|
{usb_c_host_sidea_pins[10], usb_c_host_sideb_pins[10]}, // A10 RX-2, B10 RX-1
|
||||||
|
{usb_c_host_sidea_pins[11], usb_c_host_sideb_pins[11]}, // A11 RX+2, B11 RX+1
|
||||||
|
{usb_c_host_sidea_pins[12], usb_c_host_sideb_pins[12]}, // A12 GND, B12 GND
|
||||||
|
};
|
||||||
|
|
||||||
/** list of connectors for C shunts (using C device connector) */
|
/** list of connectors for C shunts (using C device connector) */
|
||||||
static const struct usb_connector_t* usb_c_device_connectors[] = {
|
static const struct usb_connector_t* usb_c_device_connectors[] = {
|
||||||
&usb_c_device_connector,
|
&usb_c_device_connector,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const uint8_t usb__c_device__c_device__cshunt_pins[][2] = {
|
static const uint8_t usb__c_device__c_device__cpinshunt_pins[][2] = {
|
||||||
{usb_c_device_sidea_pins[1], usb_c_device_sideb_pins[12]}, // A1 GND, B12 GND
|
{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 TX+1, B11 RX+1
|
{usb_c_device_sidea_pins[2], usb_c_device_sideb_pins[11]}, // A2 TX+1, B11 RX+1
|
||||||
{usb_c_device_sidea_pins[3], usb_c_device_sideb_pins[10]}, // A3 TX-1, B10 RX-1
|
{usb_c_device_sidea_pins[3], usb_c_device_sideb_pins[10]}, // A3 TX-1, B10 RX-1
|
||||||
|
@ -1186,6 +1202,21 @@ static const uint8_t usb__c_device__c_device__cshunt_pins[][2] = {
|
||||||
{usb_c_device_sidea_pins[12], usb_c_device_sideb_pins[1]}, // A12 GND, B1 GND
|
{usb_c_device_sidea_pins[12], usb_c_device_sideb_pins[1]}, // A12 GND, B1 GND
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const uint8_t usb__c_device__c_device__csignalshunt_pins[][2] = {
|
||||||
|
{usb_c_device_sidea_pins[1], usb_c_device_sideb_pins[1]}, // A1 GND, B1 GND
|
||||||
|
{usb_c_device_sidea_pins[2], usb_c_device_sideb_pins[2]}, // A2 TX+1, B2 TX+2
|
||||||
|
{usb_c_device_sidea_pins[3], usb_c_device_sideb_pins[3]}, // A3 TX-1, B3 TX-2
|
||||||
|
{usb_c_device_sidea_pins[4], usb_c_device_sideb_pins[4]}, // A4 VBUS, B4 VBUS
|
||||||
|
{usb_c_device_sidea_pins[5], usb_c_device_sideb_pins[5]}, // A5 CC1, B5 CC2
|
||||||
|
{usb_c_device_sidea_pins[6], usb_c_device_sideb_pins[6]}, // A6 D+1, B6 D+2
|
||||||
|
{usb_c_device_sidea_pins[7], usb_c_device_sideb_pins[7]}, // A7 D-1, B7 D-2
|
||||||
|
{usb_c_device_sidea_pins[8], usb_c_device_sideb_pins[8]}, // A8 SBU1, B8 SBU2
|
||||||
|
{usb_c_device_sidea_pins[9], usb_c_device_sideb_pins[9]}, // A9 VBUS, B9 VBUS
|
||||||
|
{usb_c_device_sidea_pins[10], usb_c_device_sideb_pins[10]}, // A10 RX-2, B10 RX-1
|
||||||
|
{usb_c_device_sidea_pins[11], usb_c_device_sideb_pins[11]}, // A11 RX+2, B11 RX+1
|
||||||
|
{usb_c_device_sidea_pins[12], usb_c_device_sideb_pins[12]}, // A12 GND, B12 GND
|
||||||
|
};
|
||||||
|
|
||||||
/** list of connectors for A-C cables (using A host 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[] = {
|
static const struct usb_connector_t* usb_a_host_c_host_connectors[] = {
|
||||||
&usb_a_host_connector,
|
&usb_a_host_connector,
|
||||||
|
@ -4466,25 +4497,47 @@ const struct usb_cable_t usb_cables[] = {
|
||||||
.optional_pairs = NULL,
|
.optional_pairs = NULL,
|
||||||
},
|
},
|
||||||
// C
|
// C
|
||||||
[USB_CABLE_CSHUNT_HOST] = {
|
[USB_CABLE_CPINSHUNT_HOST] = {
|
||||||
.name = "C shunt",
|
.name = "C pins shunt",
|
||||||
.shortname = NULL,
|
.shortname = NULL,
|
||||||
.variant = "C host receptacle",
|
.variant = "C host receptacle",
|
||||||
.connectors_nb = LENGTH(usb_c_host_connectors),
|
.connectors_nb = LENGTH(usb_c_host_connectors),
|
||||||
.connectors = usb_c_host_connectors,
|
.connectors = usb_c_host_connectors,
|
||||||
.mandatory_pairs_nb = LENGTH(usb__c_host__c_host__cshunt_pins),
|
.mandatory_pairs_nb = LENGTH(usb__c_host__c_host__cpinshunt_pins),
|
||||||
.mandatory_pairs = usb__c_host__c_host__cshunt_pins,
|
.mandatory_pairs = usb__c_host__c_host__cpinshunt_pins,
|
||||||
.optional_pairs_nb = 0,
|
.optional_pairs_nb = 0,
|
||||||
.optional_pairs = NULL,
|
.optional_pairs = NULL,
|
||||||
},
|
},
|
||||||
[USB_CABLE_CSHUNT_DEVICE] = {
|
[USB_CABLE_CPINSHUNT_DEVICE] = {
|
||||||
.name = "C shunt",
|
.name = "C pins shunt",
|
||||||
.shortname = NULL,
|
.shortname = NULL,
|
||||||
.variant = "C device receptacle",
|
.variant = "C device receptacle",
|
||||||
.connectors_nb = LENGTH(usb_c_device_connectors),
|
.connectors_nb = LENGTH(usb_c_device_connectors),
|
||||||
.connectors = usb_c_device_connectors,
|
.connectors = usb_c_device_connectors,
|
||||||
.mandatory_pairs_nb = LENGTH(usb__c_device__c_device__cshunt_pins),
|
.mandatory_pairs_nb = LENGTH(usb__c_device__c_device__cpinshunt_pins),
|
||||||
.mandatory_pairs = usb__c_device__c_device__cshunt_pins,
|
.mandatory_pairs = usb__c_device__c_device__cpinshunt_pins,
|
||||||
|
.optional_pairs_nb = 0,
|
||||||
|
.optional_pairs = NULL,
|
||||||
|
},
|
||||||
|
[USB_CABLE_CSIGNALSHUNT_HOST] = {
|
||||||
|
.name = "C signal shunt",
|
||||||
|
.shortname = NULL,
|
||||||
|
.variant = "C host receptacle",
|
||||||
|
.connectors_nb = LENGTH(usb_c_host_connectors),
|
||||||
|
.connectors = usb_c_host_connectors,
|
||||||
|
.mandatory_pairs_nb = LENGTH(usb__c_host__c_host__csignalshunt_pins),
|
||||||
|
.mandatory_pairs = usb__c_host__c_host__csignalshunt_pins,
|
||||||
|
.optional_pairs_nb = 0,
|
||||||
|
.optional_pairs = NULL,
|
||||||
|
},
|
||||||
|
[USB_CABLE_CSIGNALSHUNT_DEVICE] = {
|
||||||
|
.name = "C signal shunt",
|
||||||
|
.shortname = NULL,
|
||||||
|
.variant = "C device receptacle",
|
||||||
|
.connectors_nb = LENGTH(usb_c_device_connectors),
|
||||||
|
.connectors = usb_c_device_connectors,
|
||||||
|
.mandatory_pairs_nb = LENGTH(usb__c_device__c_device__csignalshunt_pins),
|
||||||
|
.mandatory_pairs = usb__c_device__c_device__csignalshunt_pins,
|
||||||
.optional_pairs_nb = 0,
|
.optional_pairs_nb = 0,
|
||||||
.optional_pairs = NULL,
|
.optional_pairs = NULL,
|
||||||
},
|
},
|
||||||
|
|
|
@ -141,8 +141,10 @@ enum usb_cable_e {
|
||||||
USB_CABLE_AUBBC_DEVICE,
|
USB_CABLE_AUBBC_DEVICE,
|
||||||
USB_CABLE_AUB2_DEVICE,
|
USB_CABLE_AUB2_DEVICE,
|
||||||
USB_CABLE_AUB3_DEVICE,
|
USB_CABLE_AUB3_DEVICE,
|
||||||
USB_CABLE_CSHUNT_HOST,
|
USB_CABLE_CPINSHUNT_HOST,
|
||||||
USB_CABLE_CSHUNT_DEVICE,
|
USB_CABLE_CPINSHUNT_DEVICE,
|
||||||
|
USB_CABLE_CSIGNALSHUNT_HOST,
|
||||||
|
USB_CABLE_CSIGNALSHUNT_DEVICE,
|
||||||
USB_CABLE_AC0_A_HOST_CA_HOST,
|
USB_CABLE_AC0_A_HOST_CA_HOST,
|
||||||
USB_CABLE_AC0_A_HOST_CB_HOST,
|
USB_CABLE_AC0_A_HOST_CB_HOST,
|
||||||
USB_CABLE_AC0_A_HOST_CA_DEVICE,
|
USB_CABLE_AC0_A_HOST_CA_DEVICE,
|
||||||
|
|
Loading…
Reference in New Issue