1. 09 Sep, 2017 2 commits
    • Daisuke Nojiri's avatar
      vboot: Support EC early firmware selection · f3bb31fe
      Daisuke Nojiri authored
      This patch adds support for EC EFS: EC verifies and jumps to RW
      image before AP boots.
      Depthcharge refers the active slot for checking RW version and
      the update slot for update (a.k.a. soft sync).
      This change removes reboot_all_ecs and adds cros_ec_reboot, which
      takes EC_REBOOT_FLAG_*. Other ECs are expected to be rebooted
      when the main EC reboots the whole system.
      TEST=On Fizz, verify:
      1. RW_B is old and updated by soft sync. RW_B is activated and
         executed after reboot. System continues to boot to OS.
      2. RW_A is old and updated by soft sync. RW_A is activated and
         executed after reboot. System continues to boot to OS.
      Change-Id: Ida61e51ab5e61376f836c9d8027f7f21eb205ace
      Signed-off-by: default avatarDaisuke Nojiri <dnojiri@chromium.org>
      Reviewed-on: https://chromium-review.googlesource.com/616248
    • Julius Werner's avatar
      screens: Correct text height for WAIT screen · bcccd402
      Julius Werner authored
      Since bmpblk has been fixed to no longer render an empty line at the end
      of the critical update string, this patch corrects the image height
      accordingly to keep the text at the same size. (And as a bonus, it's no
      longer off-center.)
      TEST=Hacked Kevin to display WAIT instead of INSERT, then sanity-checked
      the screen in a few languages in recovery mode.
      Change-Id: I0cf6143b5a4d746794c611c27d5bbbad9ae23626
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      Reviewed-on: https://chromium-review.googlesource.com/639238
      Reviewed-by: default avatarDaisuke Nojiri <dnojiri@chromium.org>
  2. 08 Sep, 2017 1 commit
  3. 07 Sep, 2017 4 commits
  4. 29 Aug, 2017 1 commit
  5. 25 Aug, 2017 1 commit
  6. 22 Aug, 2017 2 commits
  7. 19 Aug, 2017 2 commits
  8. 18 Aug, 2017 2 commits
    • Caveh Jalali's avatar
      TCPC: use EC_CMD_PD_CHIP_INFO for TCPC info · e45c8083
      Caveh Jalali authored
      we have a dedicated EC command to get the TCPC version info - no need
      to directly scrape the regs.  this can also be used to force the EC to
      refresh its view (cache) of the TCPC version after a firmware update,
      so this is a good thing all around.
      i'm also removing dependencies on PD_SUSPEND and EC I2C tunneling in
      the *_check_hash() flow so this can work even when we have
      addresses the case where the AP does a soft reboot without affecting
      the EC.
      TEST=verified TCPC firmware update works as before.
      Change-Id: Ia64c93bfda50dd5a651836224b9fb9f6ce1db57c
      Signed-off-by: default avatarCaveh Jalali <caveh@google.com>
      Reviewed-on: https://chromium-review.googlesource.com/615089
      Reviewed-by: default avatarJulius Werner <jwerner@chromium.org>
    • Daisuke Nojiri's avatar
      crosEC: Do not add padding when writing to flash · 42f2d0c4
      Daisuke Nojiri authored
      When Depthcharge writes to flash through EC, it adds padding to make
      the data size equal to write_block_size of the SPI flash. Though this
      might be necessary for a certain board (Pit as described in CL:62895),
      this fails if we're writing to the end of the SPI flash because EC
      checks whether (offset + size) exceeds the flash size or not
      I think we should play this trick (padding to write block size) on the
      EC side. That is, if EC receives a short packet, it should add padding
      by itself if it's required.
      Pit has been removed from the crosEC tree. If this patch breaks another
      board, we'll fix it differently (as suggested above).
      TEST=Let Depthcharge on Fizz write a RW image to the slot B, which is
      located at the end.
      Change-Id: I2f51917976189ea01de8c5787f6329f0a45c7f74
      Signed-off-by: default avatarDaisuke Nojiri <dnojiri@chromium.org>
      Reviewed-on: https://chromium-review.googlesource.com/618164
      Reviewed-by: default avatarAaron Durbin <adurbin@chromium.org>
      Reviewed-by: default avatarRandall Spangler <rspangler@chromium.org>
  9. 17 Aug, 2017 1 commit
  10. 16 Aug, 2017 1 commit
  11. 15 Aug, 2017 2 commits
    • Caveh Jalali's avatar
      anx3429: FW update driver. · 8d3cfc6d
      Caveh Jalali authored
      this driver adds the capability to update the firmware of the anx3429
      TCPC.  the driver will be registered with vboot to be invoked during
      software sync, much like the ps8751 TCPC update driver.
      TEST=in conjunction with follow-on CLs, verified we can update the
      	OTP.  for now, only tested with a test pattern being
      	programmed into an unused area of the OTP ROM.
      Change-Id: I518aa4f9408bcaf624278685015d91395fad43f6
      Signed-off-by: default avatarCaveh Jalali <caveh@google.com>
      Reviewed-on: https://chromium-review.googlesource.com/592641
    • Shelley Chen's avatar
      detachables: Disable "Enable Developer Mode" entry in Recovery Menu · 7a72ea10
      Shelley Chen authored
      Remove "Enable Developer Mode" entry in Recovery Menu when board is
      already in developer mode.  Having the entry present was confusing
      users trying to enable dev mode when machine already in dev mode and
      seeing nothing happen.  Changing VbExDisplayMenu API so that a
      disabled_idx_mask is passed down to allow for the general
      disabling/enabling of menu items.
      BUG=b:63078243, b:35585623
      TEST=reboot into recovery with DUT already in dev mode.  Make sure
           Enable Developer Mode entry is not displayed.
           reboot into recovery with DUT in normal mode.  Make sure
           Enable Developer Mode entry is displayed and can be selected.
      Change-Id: I70f07acd740169e077d19148f70e66f9c78bd520
      Signed-off-by: default avatarShelley Chen <shchen@chromium.org>
      Reviewed-on: https://chromium-review.googlesource.com/565335
      Reviewed-by: default avatarJulius Werner <jwerner@chromium.org>
  12. 09 Aug, 2017 4 commits
  13. 08 Aug, 2017 2 commits
  14. 05 Aug, 2017 1 commit
  15. 03 Aug, 2017 1 commit
  16. 02 Aug, 2017 2 commits
  17. 01 Aug, 2017 2 commits
  18. 30 Jul, 2017 1 commit
    • Furquan Shaikh's avatar
      i2c/designware: Do not re-initialize bus if configured by coreboot · 9ee4a955
      Furquan Shaikh authored
      Coreboot is taking a lot of effort reading device-tree values for
      fall/rise time or lcnt/hcnt and calculating and configuring
      controller register values to ensure I2C bus speed is within limits
      when used in firmware. Depthcharge driver was resetting all those
      values by using default configuration. This resulted in I2C bus speed
      in depthcharge going beyond limits. (Noticed by sudden spike in H1 I2C
      frequency in depthcharge).
      This change updates the designware I2C driver to check if high and low
      cycle time registers are already configured and skip initialization
      of the bus completely.
      TEST=Verified that H1 I2C frequency is <400KHz in coreboot and in
      depthcharge. No spikes observed after jumping to depthcharge. Also, no
      errors seen while communicating with H1 in depthcharge.
      Change-Id: Icc2d2d45710a203325d1780f80e2e8d024c8c9a4
      Signed-off-by: default avatarFurquan Shaikh <furquan@chromium.org>
      Reviewed-on: https://chromium-review.googlesource.com/592550
      Reviewed-by: default avatarDuncan Laurie <dlaurie@google.com>
  19. 21 Jul, 2017 1 commit
  20. 19 Jul, 2017 2 commits
  21. 12 Jul, 2017 1 commit
    • Caveh Jalali's avatar
      ps8751: enable software sync. · 5a086f5c
      Caveh Jalali authored
      this turns on ps8751 firmware update during software sync on
      reef/electro and derivative boards.
      testing on electro:
      with debug code enabled in the ps8751 driver (i.e. forced update),
      we can see the update taking place in the console logs.  when no update
      is needed, we simply see:
      ps8751.1: vendor 0x1da0 product 0x8751 device 0x0001 hw_rev A3 fw_rev 0x37
      reported from the update driver, verifying that we've enabled the
      update driver in the board file.
      we have a working design doc for firmware updates:
      also, spot checked nasher build to verify defconfig changes carry over
      to derivative boards.
      TEST=updated ps8751 firmware on electro
      Change-Id: I2c777425d8d266f833b3da6fa255c76084989401
      Signed-off-by: default avatarCaveh Jalali <caveh@google.com>
      Reviewed-on: https://chromium-review.googlesource.com/502708
      Reviewed-by: default avatarJulius Werner <jwerner@chromium.org>
  22. 11 Jul, 2017 2 commits
  23. 06 Jul, 2017 1 commit
    • Julius Werner's avatar
      Makefile: Fix default for LIBPAYLOAD_DIR · 83724941
      Julius Werner authored
      We're usually passing LIBPAYLOAD_DIR to depthcharge's Makefile, but it's
      also possible to omit that parameter and have it default to the location
      that libpayload would be in if depthcharge's source is located under
      Unfortunately, it looks like that hasn't been working right for a while.
      We're trying to source xcompile from libpayload before we're setting
      that default, and we're later passing the derived location of lpgcc to
      vboot without handling the possibility that LIBPAYLOAD_DIR was a
      relative path. This patch resolves both issues. Since LIBPAYLOAD_DIR is
      usually not set for the Kconfig pass of the Makefile, move the code down
      into the respective ifeq section.
      TEST=Build and booted depthcharge for Kevin without emerge.
      Change-Id: Icec7262c7a0748944b0862fe7833a617a7ab567c
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      Reviewed-on: https://chromium-review.googlesource.com/404903
  24. 01 Jul, 2017 1 commit