summaryrefslogtreecommitdiff
path: root/util/genvif.c
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Merge remote-tracking branch cros/main into factory-brya-14517.B-main"factory-brya-14517.B-mainYH Lin2022-12-051-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit af25602b15b22b9ef5821dcba9934311f2157c48. Reason for revert: broken build due to ec-utils. Original change's description: > Merge remote-tracking branch cros/main into factory-brya-14517.B-main > > Generated by: util/update_release_branch.py --baseboard brya --relevant_paths_file > baseboard/brya/relevant-paths.txt factory-brya-14517.B-main > > Relevant changes: > > git log --oneline 54462f034b..aa40b859b3 -- baseboard/brya board/agah > board/anahera board/banshee board/brya board/crota board/felwinter > board/gimble board/kano board/mithrax board/osiris board/primus > board/redrix board/taeko board/taniks board/vell board/volmar > driver/bc12/pi3usb9201_public.* driver/charger/bq25710.* > driver/ppc/nx20p348x.* driver/ppc/syv682x_public.* > driver/retimer/bb_retimer_public.* driver/tcpm/nct38xx.* > driver/tcpm/ps8xxx_public.* driver/tcpm/tcpci.* include/power/alderlake* > include/intel_x86.h power/alderlake* power/intel_x86.c > util/getversion.sh > > e6da633c38 driver: Sort header files > 234a87ae2d tcpci: Add FRS enable to driver structure > a56be59ccd tcpm_header: add test for tcpm_dump_registers > 57b3256963 Rename CONFIG_CHARGER_INPUT_CURRENT to _CHARGER_DEFAULT_CURRENT_LIMIT > e420c8ff9a marasov: Modify TypeC and TypeA configuration. > 43b53e0045 Add default implementation of board_set_charge_limit > b75dc90677 Add CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT > f1b563c350 baseboard: Sort header files > 7d01b1e58d driver/retimer/ps8818.h: Add I2C ADDR FLAGS 0x30, 0x58, 0x70 > ec31407993 Add CONFIG_CHARGER_INPUT_CURRENT_DERATE_PCT > 8f89f69a5b crota: disable lid angle sensor for clamshell > > BRANCH=None > BUG=b:259002141 b:255184961 b:247100970 b:259354679 b:260630630 > BUG=b:163093572 b:254328661 > TEST=`emerge-brya chromeos-ec` > > Force-Relevant-Builds: all > Change-Id: Ia85a701fbf6b8e67ec214b9e25e0e55e980a6f47 > Signed-off-by: YH Lin <yueherngl@google.com> Bug: b:259002141 b:255184961 b:247100970 b:259354679 b:260630630 Bug: b:163093572 b:254328661 Change-Id: I48d5aa4cc67a69ee1f6ac9255ac3087d34da4c72 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4077248 Tested-by: YH Lin <yueherngl@chromium.org> Commit-Queue: YH Lin <yueherngl@chromium.org> Reviewed-by: Boris Mittelberg <bmbm@google.com> Auto-Submit: YH Lin <yueherngl@chromium.org>
* ec/util: Sort header filesJeremy Bettis2022-11-221-12/+12
| | | | | | | | | | | | | | | | | | | | Sort all headers in ec/util with the clang-format rules used by the zephyr project. BRANCH=None BUG=b:247100970 TEST=zmake build -a TEST=./twister --clobber -v -i TEST=make -j$(nproc) buildall_only runtests TEST=zmake compare-builds Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I0d733569f765f2a339a694b2d4e5720820e7aaa8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4043733 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* Update license boilerplate text in source code filesMike Frysinger2022-09-121-1/+1
| | | | | | | | | | | | | | | Normally we don't do this, but enough changes have accumulated that we're doing a tree-wide one-off update of the name & style. BRANCH=none BUG=chromium:1098010 TEST=`repo upload` works Change-Id: Icd3a1723c20595356af83d190b2c6a9078b3013b Signed-off-by: Mike Frysinger <vapier@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3891203 Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* util/genvif.c: Format with clang-formatJack Rosenthal2022-06-281-899/+763
| | | | | | | | | | | BUG=b:236386294 BRANCH=none TEST=none Change-Id: I9cfb3ed68b9a2b1706a82061d9c4d805e50cc7ae Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3730625 Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* genvif: Add "vif:" namespaceCaveh Jalali2022-02-141-2/+2
| | | | | | | | | | | | | | This updates genvif to use the XML "vif:" namespace for VIF files. This makes genvif output consistent with usb.org's VifEditor 3.2.3.0 utility. BRANCH=none BUG=b:217284675 TEST=buildall passes Signed-off-by: Caveh Jalali <caveh@chromium.org> Change-Id: I072f4b726aad03dcc383d6038ddc00feebfcfd65 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3454865 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* genvif: Add section commentsCaveh Jalali2022-02-141-0/+95
| | | | | | | | | | | | | | | This updates genvif to produce section comments in its generated VIF file. This makes genvif output consistent with usb.org's VifEditor 3.2.3.0 utility. BRANCH=none BUG=b:217284675 TEST=buildall passes Change-Id: I259963cc3ac77764917832db44cf4e6609ade08e Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3428931 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* genvif: Add support for USB4 related fieldsCaveh Jalali2022-02-121-3/+58
| | | | | | | | | | | | | | | | | This adds support for 3 USB4 related fields: USB4_TBT3_Compatibility_Supported USB4_PCIe_Tunneling_Supported USB4_Max_Speed BRANCH=none BUG=b:217284675 TEST=buildall passes Change-Id: I4d39d0bd3140aeae8cc9b3c5159e4b709f53f683 Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3428933 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* genvif: Add support for Alt_Mode_Adapter fieldCaveh Jalali2022-02-121-0/+14
| | | | | | | | | | | | | Type_C_Is_Alt_Mode_Adapter now a required field (since rev 3.17). BRANCH=none BUG=b:217284675 TEST=buildall passes Change-Id: I46698fb6bc5ebfb2c3a804b505077349c5f8341f Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3454863 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* genvif: Upgrade to VIF definition version 3.18Caveh Jalali2022-02-121-55/+61
| | | | | | | | | | | | | | | | | | | This updates genvif to support VIF 3.18 and brings it in sync with VIF files generated by VIFeditor v3.2.3.0. The order in which elements are generated has been changed to match VIFeditor 3.2.3.0 to simplify comparing VIF files generated by the two utilities. BRANCH=none BUG=b:217284675 TEST=buildall passes Cq-Depend: chromium:3454864 Change-Id: I5d96be03c273886b45b38f4853928653c6cccf09 Signed-off-by: Caveh Jalali <caveh@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3428932 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* genvif: Add XML start/end tag helpersCaveh Jalali2022-02-121-83/+141
| | | | | | | | | | | | | | | | | In preparation for supporting a namespace qualifier in generated VIF files, introduce and use functions to handle XML start/end tags in preference over generic string troutines. BRANCH=none BUG=b:217284675 TEST=buildall passes, verified all generated *_vif.xml files match previous build Signed-off-by: Caveh Jalali <caveh@chromium.org> Change-Id: Id6fcaaecd6da9dc7d7f5f5f7ebf7a670817702a1 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3454862 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* genvif: Add const qualifier where appropriateCaveh Jalali2022-02-111-24/+25
| | | | | | | | | | | | | | | This adds some missing const storage class specifiers to function signatues. BRANCH=none BUG=b:217284675 TEST=buildall passes Signed-off-by: Caveh Jalali <caveh@chromium.org> Change-Id: I1a18dafe4b6c1e0e3e98ae13b58c822768856845 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3454781 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* tree: Create usb_pd_pdo.cTom Hughes2021-11-051-0/+1
| | | | | | | | | | | | | | | | | | | | genvif depends on usb_pd_policy.c. However, the usb_pd_policy.c files often depend on other symbols that are not included when building genvif. genvif only needs the pd_src_pdo and pd_src_pdo_count variables (and charge_manager_get_source_pdo() in one case). Extract these variables into their own files. BRANCH=none BUG=b:172020503 TEST=CC=clang make BOARD=zinger -j TEST=make buildall TEST=compare generated *_vif.xml files before and after change: => MATCH Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I765750cd86243a0a355dcc6a29b80fc23403d99f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3231026 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* util/genvif: Fix array bounds checkTom Hughes2021-10-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | When removing the "-flto" flag when building genvif, gcc warns that that the array can be out of bounds. This could occur if pushback_count was set to a negative value since the if statement would be true: util/genvif.c: In function ‘get_next_tag’: util/genvif.c:1131:24: error: array subscript [-1, 2147483646] is outside array bounds of ‘char[20]’ [-Werror=array-bounds] 1131 | return pushback_stack[--pushback_cnt]; | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ util/genvif.c:1116:6: note: while referencing ‘pushback_stack’ 1116 | char pushback_stack[20]; | ^~~~~~~~~~~~~~ BRANCH=none BUG=b:172020503 TEST=none Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I1bc84f1b58ceb0b921c2d51bf94ac378211d556c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3229990 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Eric Yilun Lin <yllin@google.com>
* util/genvif: Increase buffer size to avoid overflowTom Hughes2021-10-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | When removing the "-flto" flag on genvif, gcc emits the following warning: util/genvif.c: In function ‘gen_vif.constprop’: util/genvif.c:3618:19: error: ‘ mW’ directive writing 3 bytes into a region of size between 0 and 9 [-Werror=format-overflow=] 3618 | sprintf(str, "%d mW", src_max_power); | ^~~ In file included from /usr/include/features.h:461, from /usr/include/errno.h:25, from util/genvif.c:8: /usr/include/bits/stdio2.h:45:18: note: ‘__builtin___sprintf_chk’ output between 5 and 14 bytes into a destination of size 10 45 | int __result = __FORTIFY_CALL_VA_BUILTIN (sprintf, __s, | ^~~~~~~~~~ BRANCH=none BUG=b:172020503 TEST=none Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I13d66e1eec7703f6e41f93178e758811dcb59d70 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3229989 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* ec: Fail on uninitialized variablesJeremy Bettis2021-09-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | The zephyr toolchain has -Werror=maybe-uninitialized enabled by default, so enable it for all gcc EC builds to prevent possible uninitialized vars from sneaking into the codebase. For clang builds, use -Werror=uninitialized instead. BRANCH=None BUG=None TEST=in docker: make -j CRYPTOC_DIR="${MODULES_DIR}/cryptoc" \ FTDIVERSION=1 HOSTGCOV='gcov' \ CROSS_COMPILE_arm=/opt/zephyr-sdk/arm-zephyr-eabi/bin/arm-zephyr-eabi- \ coverage in chroot; make try_build_boards buildall_only Change-Id: I3efb4b2958f2037606195743d768870e1d0b18b9 Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3171939 Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* genvif: Capitalize Usb4Router like VIF EditorAbe Levkoy2021-03-191-7/+7
| | | | | | | | | | | | | | | | VIF Editor 3.1.0.2 fails to load files that use "USB4Router" tags, but it loads them correctly when they have "Usb4Router" instead. Generate files with "Usb4Router." BUG=none TEST=Create VIF with USB4 tags in override file; load in VIF editor BRANCH=firmware-volteer-13672.B-main Signed-off-by: Abe Levkoy <alevkoy@chromium.org> Change-Id: I04b452628c38eb1f25bed5ac3cc38125fd0a9257 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2774596 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* genvif: Trigger OverCurrent Protection by CONFIG_USBC_OCPDenis Brockus2021-02-251-2/+2
| | | | | | | | | | | | | | | BUG=b:181194535 BRANCH=none TEST=make buildall TEST=Check base VIF output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: Ic1d9415137570e0d52cd8393c36df572e515deef Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2716158 Tested-by: Denis Brockus <dbrockus@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* genvif: cleanup for Supports_USB_DataDenis Brockus2020-12-171-12/+51
| | | | | | | | | | | | | | BUG=b:149852735 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I982dce6ecaa8cd5db7cfb15a70c7e30813dfb190 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2596837 Tested-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Commit-Queue: Abe Levkoy <alevkoy@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org>
* genvif: fix null string for USB_VID_SOPDenis Brockus2020-12-031-2/+2
| | | | | | | | | | | | | | | | | copy/pasted wrong name array when setting the value Bumped the version to 3.0.0.9 BUG=b:172293518 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I50b2dacfcd64bb3276ebec4e3c376056f42ce891 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2572245 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>
* genvif: comment cleanup and UFP field output only if can_act_as_deviceDenis Brockus2020-12-021-10/+17
| | | | | | | | | | | | | | | | bumped version to 3.0.0.8 BUG=b:172293518 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: Ide80ee0ca00e2d50ff5a869f02b59511da5a693e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2567172 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org> Tested-by: Denis Brockus <dbrockus@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org>
* genvif: add more Component SOP_Discovery fieldsDenis Brockus2020-12-021-5/+50
| | | | | | | | | | | | | | BUG=b:172293518 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I6deeecc36505eb4f7261d04eae2c9ff419fa0296 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2567171 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org> Tested-by: Denis Brockus <dbrockus@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org>
* genvif: DR_Swap_To_DFP_Supported cleanupDenis Brockus2020-11-261-20/+39
| | | | | | | | | | | | | | | | | | | Making it easier to follow the code with regard to the VIF spec for DR_Swap_To_DFP_Supported and add is_alt_mode_controller in the SNK path decision. BUG=b:172293518 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I06b4b86ef3e08f5768ae7396a50abff579aaaff7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2560613 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org> Tested-by: Denis Brockus <dbrockus@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org>
* genvif: DR_Swap_To_UFP_Supported cleanupDenis Brockus2020-11-261-21/+42
| | | | | | | | | | | | | | BUG=b:172422651 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I5216784a634d89ac1cbb47e4577762d907d8903a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2560612 Tested-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org>
* genvif: refactor return vif field or default valueDenis Brockus2020-11-241-76/+60
| | | | | | | | | | | | | | BUG=b:174032040 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I8bce3f6625ddb642319bff0c473b34b342df8433 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2555097 Tested-by: Denis Brockus <dbrockus@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Abe Levkoy <alevkoy@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
* genvif: USB_Comms_Capable should be YES if USB4_SupportedDenis Brockus2020-11-241-2/+16
| | | | | | | | | | | | | | BUG=b:172293518 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: Ic83fa9e9af4e8e4e4fc1e20635fa92d5d143531c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2552859 Tested-by: Denis Brockus <dbrockus@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Abe Levkoy <alevkoy@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
* genvif: USB_PD_Support/PD_Port_Type selected outputDenis Brockus2020-11-241-13/+25
| | | | | | | | | | | | | | | | | | | | | | Added check for USB4_Supported in is_usb_pd_supported because USB4_Supported is a must be YES for PD_Support Also split up PD_Port_Type from Type_C_State_Machine because PD_Port_Type should not appear if this component does not support USB PD and the same exclusion can not be said about Type_C_State_Machine BUG=b:172293518 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I3d1a8f603693d90673ea3e610ca751f8d9c027a4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2552858 Tested-by: Denis Brockus <dbrockus@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Abe Levkoy <alevkoy@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
* genvif: Type_C_Is_Alt_Mode_Adapter only when validDenis Brockus2020-11-201-12/+59
| | | | | | | | | | | | | | | | | | some refactoring for does_respond_to_discov_sop_xxx and is_usb_pd_supported was added to make the common code available for other uses as well BUG=b:172434299 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I36c7df53e61734fcbdd176e3ea292a3f8914fdf9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2550309 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>
* genvif: host/device data only if enabledDenis Brockus2020-11-201-59/+75
| | | | | | | | | | | | | | | | | | | | 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>
* genvif: Device_Speed/Host_Speed default to USB 3.2 GEN 1x1Denis Brockus2020-11-191-10/+8
| | | | | | | | | | | | | | | | | Since this is the most common correct answer, I am changing the default from USB 2 to USB 3.2 GEN 1x1 BUG=b:172441959,b:172438944 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I758ec7ec0df2f285466d83ddb0dcfa8cc98efa55 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2547192 Tested-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Commit-Queue: Abe Levkoy <alevkoy@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org>
* genvif: USB4_Router_IndexDenis Brockus2020-11-191-3/+35
| | | | | | | | | | | | | | | | | set to the index of the Component if USB4_Supported is true BUG=b:172417427 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: Id99f9bff22dae82282aed5622b6b1041e13934a3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2546987 Tested-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Commit-Queue: Abe Levkoy <alevkoy@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org>
* genvif: component for all ports with Port_LabelDenis Brockus2020-11-191-107/+125
| | | | | | | | | | | | | | BUG=b:172450627 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: Idcc65ad2ec7fda48d39a6319e6adf226765e37bc Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2545141 Commit-Queue: Abe Levkoy <alevkoy@chromium.org> Tested-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org>
* genvif: Type_C_Power_SourceDenis Brockus2020-11-171-8/+17
| | | | | | | | | | | | | BUG=b:172437970 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: Icc7c679aab72b96b2a7e308944be00f1ab3d9029 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2540008 Tested-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
* genvif: add --no-configDenis Brockus2020-11-171-21/+27
| | | | | | | | | | | | | | | | | | | | | | | genvif has a new option of creating an output file based solely on the overrides and not the configs. This will make comparisons from other generators a little easier. USAGE: genvif -b|--board <board name> -o|--out <out directory> [-n|--no-config] [-v|--over <override XML file>] BUG=b:173219559 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I4af5662321e29ed806dea0a2420fd8f4627f8e0f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2538955 Tested-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* genvif: output tags and strings more like USB-IF editorDenis Brockus2020-11-171-36/+40
| | | | | | | | | | | | | | | Also updated the version to 3.0.0.7 BUG=b:172293518 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I30d262ed9b01590c01cd9b0b72e32fd778ad20c4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2538259 Tested-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
* genvif: add override XML initializationDenis Brockus2020-11-171-442/+1902
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | You can now feed in a VIF XML file with fields that you want to override and these will get set instead of using the CONFIG_ initialization for those fields. $ build/morphius/util/genvif -o build/morphius \ -b morphius_sku5_dvt2 \ --over board/morphius/sku5_dvt2.xml Where the override file is a valid VIF file (no matter how partial it is). Tags such as <? .... ?> and comments <!-- .... --> are ignored. In the above example the override file looked as followed: <?xml version="1.0" encoding="UTF-8"?> <VIF> <Model_Part_Number>Morphius SKU5</Model_Part_Number> <Product_Revision>DVT2</Product_Revision> </VIF> The Model_Part_Number and Product_Revision used this override value instead of "morphius" and "FIX-ME". The values can also be used to set other values. I added a couple of those but the uses of get_vif_field can be added to create more automated generation. Here are a couple of examples: static bool is_src(void) { int override_value; bool was_overridden; /* Determine if we are DRP, SRC or SNK */ was_overridden = get_vif_field_tag_number( &vif.Component[0] .vif_field[Type_C_State_Machine], &override_value); if (was_overridden) { switch (override_value) { case SRC: case DRP: return true; case SNK: return false; default: break; } } return src_pdo_cnt; } and /* Determine if we are DRP, SRC or SNK */ was_overridden = get_vif_field_tag_number( &vif->Component[0] .vif_field[Type_C_State_Machine], &override_value); if (was_overridden) { switch (override_value) { case SRC: case SNK: case DRP: type = (enum dtype)override_value; break; default: was_overridden = false; } } if (!was_overridden) { if (is_drp()) type = DRP; else if (is_src() && is_snk()) /* No DRP with SRC and SNK PDOs detected. So ignore. */ /* ie. Twinkie or Plankton */ return 0; else if (is_src()) type = SRC; else if (is_snk()) type = SNK; else return 1; } Bumped the version to 3.0.0.6. BUG=b:172489443 BRANCH=none TEST=use --over to override fields within the XML Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: Ic1ecd3e0d2f643c3315bcc8abecdf7490fb69b8a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2535672 Tested-by: Denis Brockus <dbrockus@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Commit-Queue: Jett Rink <jettrink@chromium.org>
* genvif: Manufacturer_Info_VID_Port not setDenis Brockus2020-11-101-0/+5
| | | | | | | | | | | | | | BUG=b:172842249 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I7fa19424a37c2a295f94351143ed22821968ea3f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2527702 Tested-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* genvif: Guard Manufacturer_Info_PID_PortDenis Brockus2020-11-101-5/+9
| | | | | | | | | | | | | | | | Adding CONFIG_USB_PD_MANUFACTURING_INFO guard BUG=b:172842062 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: Ia048ead9060f11dc9bc943ef6dd3b935c7d5cf5f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2527701 Tested-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* genvif: XID_SOPDenis Brockus2020-11-101-14/+17
| | | | | | | | | | | | | BUG=b:172424930,b:172842768 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: Ib7734fca61b9169f718ce58aa15277251d2bd560 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2523383 Tested-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* genvif: Product_Total_Source_Power_mWDenis Brockus2020-11-101-4/+9
| | | | | | | | | | | | | BUG=b:172439432 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I9440fc55caf33adce3e5b846e3ad9dd68ce44d35 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2523378 Tested-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* genvif: split up initialization to spec field groupingsDenis Brockus2020-11-101-325/+482
| | | | | | | | | | | | | BUG=b:172665003 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: Ic356fc0df99e449f90bdb0390e5473c621f717d8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2523451 Tested-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* genvif: Unconstrained_PowerDenis Brockus2020-11-101-4/+22
| | | | | | | | | | | | | BUG=b:172419824 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I465fadb323649fbcace24f81a944595a0751d714 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2522670 Tested-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* genvif: Responds_To_Discov_SOP_UFPDenis Brockus2020-11-061-1/+2
| | | | | | | | | | | | | BUG=b:172422719 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I836b03206ef80727516cd6f874d2091a0c41a49d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2519406 Tested-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* genvif: Certification_TypeDenis Brockus2020-11-061-2/+2
| | | | | | | | | | | | | | BUG=b:172463173 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I97c393a981796e7257e25a53bfd684cb6dc94593 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2519405 Tested-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* genvif: Responds_To_Discov_SOP_DFPDenis Brockus2020-11-061-1/+2
| | | | | | | | | | | | | BUG=b:172424872 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I8f7f4e074a5dd7549e1613b22843752b07f23273 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2519403 Tested-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* genvif: PID_SOPDenis Brockus2020-11-061-1/+19
| | | | | | | | | | | | | | BUG=b:172424889 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I4e66d60265f2cc71d82b54cfb70ceef76004a63e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2519402 Tested-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* genvif: BC_1_2_Support and BC_1_2_Charging_Port_TypeDenis Brockus2020-11-061-5/+56
| | | | | | | | | | | | | BUG=b:172417926,b:172419455 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I241d69d86f631fb6b4cb56136d10e737e8a1fb60 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2519953 Tested-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* genvif: USB_Suspend_May_Be_ClearedDenis Brockus2020-11-061-1/+1
| | | | | | | | | | | | | | | | not currently within our ability. So marking this as NO until the feature is added to the stack. BUG=b:172445415 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I2632349d3d40f3f59b98d4388bd63753cfdc11c0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2519812 Tested-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
* genvif: made default missing PID/TID 0xFFFFDenis Brockus2020-11-061-8/+17
| | | | | | | | | | | | | | BUG=b:172419785 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I967597e1070ad87c70c96bd9e2fc1f9e20667cea Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2519811 Tested-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org>
* genvif: USB4_SupportedDenis Brockus2020-11-061-2/+2
| | | | | | | | | | | | | | | Use CONFIG_USB_PD_USB4 to configure this field BUG=b:172417432 BRANCH=none TEST=verify XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I80c1c21b5b30661973a59cb2b3a982fbf39d7661 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2519810 Tested-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
* genvif: Organize field setting to spec 3.12 orderDenis Brockus2020-11-061-131/+202
| | | | | | | | | | | | | | | | | | A little bit of cleanup. Bumped revision to 3.0.0.4. Reorganized fields for easy maintenance based on 3.12. Moved file open/close to the routine that outputs. BUG=b:172293518 BRANCH=none TEST=check XML output Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I4e0f55bb26fdfa91305176914812eba085a09ecd Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2519809 Tested-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>