diff options
author | Denis Brockus <dbrockus@google.com> | 2020-11-19 17:18:14 +0000 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-11-20 23:54:26 +0000 |
commit | 5f5740506571e5e775074c9d77fdffd0d4de5093 (patch) | |
tree | 16ca4078eeea73f2757834aeafc502e566690072 /util | |
parent | 86cd11143962af1a6e9b695599c0af605df9256b (diff) | |
download | chrome-ec-5f5740506571e5e775074c9d77fdffd0d4de5093.tar.gz |
genvif: host/device data only if enabled
Some device data is only valid if Device_Supports_USB_Data
in the Upstream Facing Port Fields group.
Some host data is only valid if Host_Supports_USB_Data
in Downstream Facing Port Fields
BUG=b:172441959,b:172438944
BRANCH=none
TEST=verify XML output
Signed-off-by: Denis Brockus <dbrockus@google.com>
Change-Id: I41edde27d9cc6fb49934e0d176efc90540a9faee
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2550308
Tested-by: Denis Brockus <dbrockus@chromium.org>
Auto-Submit: Denis Brockus <dbrockus@chromium.org>
Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
Commit-Queue: Abe Levkoy <alevkoy@chromium.org>
Diffstat (limited to 'util')
-rw-r--r-- | util/genvif.c | 134 |
1 files changed, 75 insertions, 59 deletions
diff --git a/util/genvif.c b/util/genvif.c index 6b505a508e..c74a9b91d8 100644 --- a/util/genvif.c +++ b/util/genvif.c @@ -3041,33 +3041,41 @@ static void init_vif_component_usb_data_ufp_fields( * TOTO(b:172441959) Adjust the speed based on CONFIG_ */ enum usb_speed ds = USB_GEN11; + bool supports_usb_data; - switch (ds) { - case USB_2: - set_vif_field_itss(&vif_fields[Device_Speed], - vif_component_name[Device_Speed], - USB_2, "USB 2"); - break; - case USB_GEN11: - set_vif_field_itss(&vif_fields[Device_Speed], - vif_component_name[Device_Speed], - USB_GEN11, "USB 3.2 GEN 1x1"); - break; - case USB_GEN21: - set_vif_field_itss(&vif_fields[Device_Speed], - vif_component_name[Device_Speed], - USB_GEN21, "USB 3.2 GEN 2x1"); - break; - case USB_GEN12: - set_vif_field_itss(&vif_fields[Device_Speed], - vif_component_name[Device_Speed], - USB_GEN12, "USB 3.2 GEN 1x2"); - break; - case USB_GEN22: - set_vif_field_itss(&vif_fields[Device_Speed], - vif_component_name[Device_Speed], - USB_GEN22, "USB 3.2 GEN 2x2"); - break; + if (!get_vif_field_tag_bool( + &vif_fields[Device_Supports_USB_Data], + &supports_usb_data)) + supports_usb_data = false; + + if (supports_usb_data) { + switch (ds) { + case USB_2: + set_vif_field_itss(&vif_fields[Device_Speed], + vif_component_name[Device_Speed], + USB_2, "USB 2"); + break; + case USB_GEN11: + set_vif_field_itss(&vif_fields[Device_Speed], + vif_component_name[Device_Speed], + USB_GEN11, "USB 3.2 GEN 1x1"); + break; + case USB_GEN21: + set_vif_field_itss(&vif_fields[Device_Speed], + vif_component_name[Device_Speed], + USB_GEN21, "USB 3.2 GEN 2x1"); + break; + case USB_GEN12: + set_vif_field_itss(&vif_fields[Device_Speed], + vif_component_name[Device_Speed], + USB_GEN12, "USB 3.2 GEN 1x2"); + break; + case USB_GEN22: + set_vif_field_itss(&vif_fields[Device_Speed], + vif_component_name[Device_Speed], + USB_GEN22, "USB 3.2 GEN 2x2"); + break; + } } } @@ -3095,42 +3103,50 @@ static void init_vif_component_usb_data_dfp_fields( * TOTO(b:172438944) Adjust the speed based on CONFIG_ */ enum usb_speed ds = USB_GEN11; + bool supports_usb_data; - switch (ds) { - case USB_2: - set_vif_field_itss(&vif_fields[Host_Speed], - vif_component_name[Host_Speed], - USB_2, "USB 2"); - break; - case USB_GEN11: - set_vif_field_itss(&vif_fields[Host_Speed], - vif_component_name[Host_Speed], - USB_GEN11, "USB 3.2 GEN 1x1"); - break; - case USB_GEN21: - set_vif_field_itss(&vif_fields[Host_Speed], - vif_component_name[Host_Speed], - USB_GEN21, "USB 3.2 GEN 2x1"); - break; - case USB_GEN12: - set_vif_field_itss(&vif_fields[Host_Speed], - vif_component_name[Host_Speed], - USB_GEN12, "USB 3.2 GEN 1x2"); - break; - case USB_GEN22: - set_vif_field_itss(&vif_fields[Host_Speed], - vif_component_name[Host_Speed], - USB_GEN22, "USB 3.2 GEN 2x2"); - break; - } + if (!get_vif_field_tag_bool( + &vif_fields[Host_Supports_USB_Data], + &supports_usb_data)) + supports_usb_data = false; + + if (supports_usb_data) { + switch (ds) { + case USB_2: + set_vif_field_itss(&vif_fields[Host_Speed], + vif_component_name[Host_Speed], + USB_2, "USB 2"); + break; + case USB_GEN11: + set_vif_field_itss(&vif_fields[Host_Speed], + vif_component_name[Host_Speed], + USB_GEN11, "USB 3.2 GEN 1x1"); + break; + case USB_GEN21: + set_vif_field_itss(&vif_fields[Host_Speed], + vif_component_name[Host_Speed], + USB_GEN21, "USB 3.2 GEN 2x1"); + break; + case USB_GEN12: + set_vif_field_itss(&vif_fields[Host_Speed], + vif_component_name[Host_Speed], + USB_GEN12, "USB 3.2 GEN 1x2"); + break; + case USB_GEN22: + set_vif_field_itss(&vif_fields[Host_Speed], + vif_component_name[Host_Speed], + USB_GEN22, "USB 3.2 GEN 2x2"); + break; + } - set_vif_field_b(&vif_fields[Host_Contains_Captive_Retimer], - vif_component_name[Host_Contains_Captive_Retimer], - false); + set_vif_field_b(&vif_fields[Host_Contains_Captive_Retimer], + vif_component_name[Host_Contains_Captive_Retimer], + false); - set_vif_field_b(&vif_fields[Host_Is_Embedded], - vif_component_name[Host_Is_Embedded], - false); + set_vif_field_b(&vif_fields[Host_Is_Embedded], + vif_component_name[Host_Is_Embedded], + false); + } } /********************************************************************* |