summaryrefslogtreecommitdiff
path: root/util/genvif.c
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* genvif: Output to .xml pathAbe Levkoy2020-11-031-1/+1
| | | | | | | | | | | | | | | The currently generated format is XML. The GRL C2 software requires the the filename end in .xml to successfully use it. Output to a file with this name. BUG=b:170646602 TEST=make buildall BRANCH=none Change-Id: I54dbfaef1bc76be58a0007039da659562f97e372 Signed-off-by: Abe Levkoy <alevkoy@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2514902 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
* genvif: update Is_Alt_Mode_Controller and SOP*_CapableDenis Brockus2020-10-291-5/+4
| | | | | | | | | | | | | | | | | Fix settings for Type_C_Is_Alt_Mode_Controller and SOP_P_Capable, SOP_PP_Capable BUG=b:170646602 BRANCH=none TEST=verify vif file output of genvif Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: I933d6e19e144908a04fe2562490aabb8271a208b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2506423 Tested-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org>
* genvif: Update VIF generator to v3.0.0.1+Denis Brockus2020-10-281-99/+551
| | | | | | | | | | | | | | | | | | | | | | | Some additional comment tag output was added for PDO values. Changed BC_1_2_Support to be an int instead of boolean. Added xml tag at the beginning. Added some additional fields needed for customer request. Added a comment of the structure fields that are not yet being initialized. BUG=b:170646602,b:171887601 BRANCH=none TEST=verify generated VIF files Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: Iaf36eaa8410d50ece3c6a4bff88ab4fcab4e4c23 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2503493 Reviewed-by: Abe Levkoy <alevkoy@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Tested-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org>
* genvif: Update VIF generator to v3.0.0.1+Denis Brockus2020-10-261-810/+1013
| | | | | | | | | | | | | | | | | | | This upgrade gives a generator that produces the latest spec's XML output. More work can be done on this to produce more complete VIF files, but this is a good starting point. BUG=b:170646602 BRANCH=none TEST=verify generated VIF files Signed-off-by: Denis Brockus <dbrockus@google.com> Change-Id: Ie7a3c174a5e433c04dc168a39857cc2fcb6c28ee Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2497612 Tested-by: Denis Brockus <dbrockus@chromium.org> Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Jett Rink <jettrink@chromium.org> Auto-Submit: Denis Brockus <dbrockus@chromium.org>
* VIF: add \n to separate two linesRuibin Chang2020-08-141-1/+1
| | | | | | | | | | | | | | | | The generated VIF, USB_PD_Support and PD_Port_Type field stick together, so I add \n to separate two lines. BUG=none BRANCH=none TEST=check USB_PD_Support and PD_Port_Type field are separated. Signed-off-by: Ruibin Chang <ruibin.chang@ite.com.tw> Change-Id: I43453301751523d0005022d039e640ac06244910 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2355633 Tested-by: Ruibin Chang <Ruibin.Chang@ite.com.tw> Reviewed-by: Sam Hurst <shurst@google.com> Reviewed-by: Jett Rink <jettrink@chromium.org>
* vif: Update VIF generator to Revision 1.40, Version 1.0 of the specSam Hurst2020-08-051-336/+769
| | | | | | | | | | | | | | | | | | | | | | | | Update the Vendor Information File generator so that it complies with Revision 1.40, Version 1.0 of the spec. The VIF files are generated when the board is built. So, make -j BOARD=<board> will create build/<board>/<board>_vif.txt A VIF can be generated manually after the board is built with build/<board>/util/genvif -b <board name> -o <out directory> BUG=b:131087690 BRANCH=none TEST=manual Generate VIF for Atlas and checked fields. Signed-off-by: Sam Hurst <shurst@chromium.org> Change-Id: Iaa1eaf1f01f9d36ad3afd2818ebe81359b8531f6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1577739 Tested-by: Sam Hurst <shurst@google.com> Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Sam Hurst <shurst@google.com>
* common/system: Unify ec_current_image and system_image_copy_tTom Hughes2020-02-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "enum ec_current_image" is exposed in ec_commands.h (and used by non-EC code, such as biod). We also have an "enum system_image_copy_t" that is the exact same thing (though has a few more definitions). A followup CL (I714b6bd8c0d7192386404c25a831e38438fa5238) adds the "sysinfo" host command, so we want to be able to expose all the potential image variants. Rather than maintain two enums that can potentially get out of sync, unify the code to use a single enum. We choose to keep the "enum ec_current_image", since external code depends on it. To verify that this change results in no changes to the generated binaries: ./util/compare_build.sh --board all BRANCH=none BUG=b:146447208 TEST=./util/compare_build.sh --board=all Change-Id: I13776bc3fd6e6ad635980476a35571c52b1767ac Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2036599 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Namyoon Woo <namyoon@chromium.org>
* usb_pd: Rename "Externally powered" to "Unconstrained Power"Benson Leung2019-12-121-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was changed in PD 2.0 years ago (via ECN authored by our own David Schneider), but our codebase still refers to BIT 27 of the Fixed PDO as "Externally powered" instead of "Unconstrained Power". This will search and replace all instances of "Externally powered" when it refers to BIT 27, as well as function names, other internal representations of that property, strings, and comments. seds: s/PD_FLAGS_PARTNER_EXTPOWER/PD_FLAGS_PARTNER_UNCONSTR/g s/partner_extpower/partner_unconstrained/g s/externally powered/unconstrained/g Some others too. Signed-off-by: Benson Leung <bleung@chromium.org> BUG=chromium:1030990 TEST=Codebase builds clean. No functional change, except for the property shows up in ectool as "Unconstrained power" now. Change-Id: I5ececa03f29eb31057be3d0ad5311117093bc6da Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1956147 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Benson Leung <bleung@google.com> Tested-by: Benson Leung <bleung@google.com>
* printf: Enable compile-time format checkingEvan Green2019-10-051-0/+1
| | | | | | | | | | | | | | | Add annotations to allow the compiler to check printf-style format strings in the EC. BUG=chromium:984041 TEST=make -j buildall BRANCH=None Change-Id: Ic39f37f8362372de7d289becea684d9da535599a Signed-off-by: Evan Green <evgreen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1733101 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* util/genvif.c: close file on errorPatrick Georgi2019-07-311-0/+2
| | | | | | | | | | | | | | | BUG=none BRANCH=none TEST=none Change-Id: I873dcfc15f90642e509ba82d521971a29c28b54d Signed-off-by: Patrick Georgi <pgeorgi@google.com> Found-by: Coverity Scan #180595 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1725954 Tested-by: Patrick Georgi <pgeorgi@chromium.org> Auto-Submit: Patrick Georgi <pgeorgi@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Patrick Georgi <pgeorgi@chromium.org>
* servo_v4: add per port dualrole settingNick Sanders2018-08-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | This adds support to configure dualrole setting per port, so that servo v4 can adjust charge and dut port separately. servo will detect charge capability on CHG port and choose source or sink as appropriate. Fix null dereference bug in genvif duel to dynamic src_pdo. "cc" command allows src, snk, srcdts, snkdts configurations. BRANCH=None BUG=b:72557427 TEST=charge through and also passive hub. Note Dru doesn't accept DTS hub. TEST=make buildall -j Change-Id: I19f1d1a5c37647fec72202191faa4821c06fb460 Signed-off-by: Nick Sanders <nsanders@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1096654 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
* Update genvif to create Rev 1.22 Vendor Info FilesSam Hurst2017-12-061-115/+259
| | | | | | | | | | | | | | | | | | Update genvif so that it can create Rev 1.22 Vendor Info Files. Also format the VIF so that it matches VIFs generated with the USB VIF generator. BUG=b:69972352 BRANCH=None TEST=`make -j buildall` Used generated VIF for nasher on GRL Test Equipment Signed-off-by: Sam Hurst <shurst@chromium.org> Change-Id: I35bc940c0c65c89be9a40ff9228e51123f136e7b Reviewed-on: https://chromium-review.googlesource.com/801874 Commit-Ready: Sam Hurst <shurst@google.com> Tested-by: Sam Hurst <shurst@google.com> Reviewed-by: Shawn N <shawnn@chromium.org>
* cleanup: Use CONFIG_BATTERY to indicate whether a board has a batteryShawn Nematbakhsh2017-10-131-3/+1
| | | | | | | | | | | | | BUG=b:35528297 BRANCH=None TEST=`make buildall -j` Change-Id: I9e4814b4172f20711f7edd691c9569f9130aec8e Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/713395 Commit-Ready: Shawn N <shawnn@chromium.org> Tested-by: Shawn N <shawnn@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
* cleanup: Remove 'ryu' boardShawn Nematbakhsh2017-09-111-2/+2
| | | | | | | | | | | | | | | Remove 'ryu' and related ryu-only code. BUG=None TEST=`make buildall -j` BRANCH=None Change-Id: I19b966ea6964a7ed083724f7de80ae192235a406 Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/656314 Commit-Ready: Shawn N <shawnn@chromium.org> Tested-by: Shawn N <shawnn@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* util/genvif.c: Remove duplicated include.Che-yu Wu2017-08-171-1/+0
| | | | | | | | | | | | | The header file "stdint.h" is included twice. BUG=none BRANCH=none TEST=make buildall -j Change-Id: Iba6975b65309be032e0ae040d13a7d06a534fc0d Signed-off-by: Che-yu Wu <cheyuw@google.com> Reviewed-on: https://chromium-review.googlesource.com/620291 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* charge_manager: Consider port in source PDO.Aseda Aboagye2017-08-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | When CONFIG_USB_PD_MAX_SINGLE_SOURCE_CURRENT is defined for a board, as its name implies, the board can source a higher current if there is only one port acting as a source. This commit fixes an issue with selecting the right source capability message to advertise. charge_manager_get_source_pdo() was simply checking if there was more than one sink connected, instead of checking if there were any *other* sinks connected. In the event that a sink was connected to a different port, we would advertise the max source PDO. BUG=b:64037926, b:35577509 BRANCH=gru,eve,reef TEST=Connect sink to port 1. Connect a AMA to port 0 that claims that VBUS isn't necessary. Start sending source caps, verify that the max PDO is not being advertised in the source caps. Change-Id: Ie4145ecaf98d5b9070ad3e8b139e5653685fa801 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/610479 Commit-Ready: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* genvif: Vendor Name not displayed in PD Compliance SoftwareSam Hurst2017-07-271-1/+1
| | | | | | | | | | | | | | | | | After the USB-C compliance test software loads the VIF, the Vendor Name isn't populated and left blank in the Test Report. BUG=b:64111221 BRANCH=None TEST=`make -j buildall` Signed-off-by: Sam Hurst <shurst@chromium.org> Change-Id: I672345cc950e78ea4eef973a9929e6eb9f9117d9 Reviewed-on: https://chromium-review.googlesource.com/590347 Commit-Ready: Sam Hurst <shurst@google.com> Tested-by: Sam Hurst <shurst@google.com> Reviewed-by: Shawn N <shawnn@chromium.org>
* genvif: Fix uninitialized variable accessShawn Nematbakhsh2017-06-231-3/+5
| | | | | | | | | | | | | | | Defects reported by Coverity. BUG=None TEST=`make buildall -j` BRANCH=None Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Change-Id: I15e0809f8d97e75be522b6160346de6b59316395 Reviewed-on: https://chromium-review.googlesource.com/535837 Commit-Ready: Shawn N <shawnn@chromium.org> Tested-by: Shawn N <shawnn@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Eve,Gru,Poppy,Reef: forbid DR_SWAP in RO firmware.Vincent Palatin2017-05-091-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, when we jump from RO to RW, we forget our USB PD state. To recover from this, we send a SOFT_RESET (resetting the counters...), then either the USB PD partner is happy about it and we can continue, or it will issue a HARD_RESET to recover from our mismatched vision of the current connection (e.g wrong role) resulting in a reset of VBUS. The following use-case is still problematic: if the system is not write-protected (ie it does USB PD negotiation in RO EC) and we have no battery (or fully drained-one) as buffer, when we are connected to a PD power supply, if it issues the HARD_RESET mentioned above, we are going to brown-out. It's happening with power-supplies supporting DR_SWAP, the RO EC will negotiate a power-contract (as a sink), then try to reverse data role (from UFP to DFP) to identify the power-supply. We end-up being Sink/DFP, then when we sysjump to RW, we reset roles and send the SOFT_RESET as Sink/DFP, the power-supply identifies the incorrect data role and issues the HARD_RESET browning us out. As a workaround, now we never ask for the DR_SWAP in RO firmware and stays Sink/UFP. This is not affecting regular write-protected machines (which are not doing USB PD in RO EC). For developers, we are no longer doing the DR_SWAP in RO mode, this is mostly innocuous for a regular power-supply, but this would break the docking use-case. Normally, we will do it as soon as we have jumped to RW, so the dock should still work unless the developer is using the machine with RO EC (eg EC development with soft-sync disabled). Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=reef BUG=b:35648282 TEST=Boot Snappy without battery. Verify RO image doesn't swap data roles and soft reset issued by RW image as SNK/UFP is accepted by the HP adapter. Change-Id: Id184f0d24a006cd46212d04ceae02f640f5bda65 Reviewed-on: https://chromium-review.googlesource.com/461142 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Sam Hurst <shurst@google.com>
* pd: Support auto generation of USB Type-C VIFSam Hurst2017-05-031-0/+547
Create an app to extract relevant information from the EC code base that's used to create Vendor Information Files (VIFs) needed for USB Type-C compliance testing. BUG=chromium:701852 BRANCH=none TEST=make -j buildall Compared generated VIFs to expected values Change-Id: I600ca78b9fb5d2de78aa65a58264c6f79b36ea17 Reviewed-on: https://chromium-review.googlesource.com/455280 Commit-Ready: Sam Hurst <shurst@google.com> Tested-by: Sam Hurst <shurst@google.com> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>