[servo power] build infrastructure for servo V2/V4 to control an attached sweetberry |
||||
Issue descriptionWe want to build the ability for a sweetberry to be attached to the USB port on V2, and V4, and the servo to control that sweetberry The reason we want to combine servo with sweetberry is that sweetberry does not have console access, and thus cannot do any of the bootstrapping components, or query information from the DUT. (1) the first goal here is for the servod instance to know the sweetberry's serialnumber, and know what sweetberry config file to invoke powerlog.py with. That way, when we use measure_power.py, servod can know how to use a sweetberry (2) long term, we might want to consider if it's advantageous for sweetberry's controls to flow directly through servod, meaning that it exposes individual rails and controls the same way that onboard INAs do.
,
May 9 2018
next up will be exposing the sweetberry ec console through uart, and seeing what commands make sense to expose through servod.
,
May 10 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/ec/+/3db5a829b05a90f357fa32729c76a72728787ba4 commit 3db5a829b05a90f357fa32729c76a72728787ba4 Author: Ruben Rodriguez Buchillon <coconutruben@chromium.org> Date: Thu May 10 09:27:09 2018 powerlog: allow port & addr in the .board file Allow board & addr in the board file instead of channel, to make board file creation and configuration simpler. This is part of the efforts in the BUG to make sweetberry under chrome os simpler to use. In that case, we allow now (with crrev.com/c/1051215) to generate .board files using explicit pin and bank numbers (j2,j3,j4). BRANCH=None BUG=chromium:806148 TEST=manual test, works fine. Change-Id: I6fd3bb1a4a5ffffee08b81625ecb190adceeb2e7 Signed-off-by: Ruben Rodriguez Buchillon <coconutruben@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1051212 Reviewed-by: Nick Sanders <nsanders@chromium.org> [modify] https://crrev.com/3db5a829b05a90f357fa32729c76a72728787ba4/extra/usb_power/powerlog.py
,
May 22 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/ec/+/cb4338e289389d699f26204c73aede4e24dd296e commit cb4338e289389d699f26204c73aede4e24dd296e Author: Ruben Rodriguez Buchillon <coconutruben@chromium.org> Date: Tue May 22 01:19:29 2018 sweetberry: expose i2c over usb Expose the i2c interface through usb so that we can read power rails through servod leveraging the work being done there. BRANCH=none BUG=chromium:806148 TEST=manual testing - powerlog still works - i2c over usb using servod code works (other CLs needed) Change-Id: I48876bc4839509a397ce77376b337c37c556ae40 Signed-off-by: Ruben Rodriguez Buchillon <coconutruben@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1051136 Reviewed-by: Nick Sanders <nsanders@chromium.org> [add] https://crrev.com/cb4338e289389d699f26204c73aede4e24dd296e/chip/stm32/usb_dwc_i2c.h [modify] https://crrev.com/cb4338e289389d699f26204c73aede4e24dd296e/chip/stm32/build.mk [modify] https://crrev.com/cb4338e289389d699f26204c73aede4e24dd296e/board/sweetberry/board.h [modify] https://crrev.com/cb4338e289389d699f26204c73aede4e24dd296e/common/usb_i2c.c [modify] https://crrev.com/cb4338e289389d699f26204c73aede4e24dd296e/board/sweetberry/board.c
,
May 23 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/8c61301a7800c8a76dea0f842c4b36bb7590d2e2 commit 8c61301a7800c8a76dea0f842c4b36bb7590d2e2 Author: Ruben Rodriguez Buchillon <coconutruben@chromium.org> Date: Wed May 23 13:47:26 2018 servod: add sweetberry as servod device. In crrev.com/c/1051136 we introduce sweetberry to expose its i2c interface over usb. This change is to leverage that to use sweetberry as a servod device. It adds the necessary configurations, and also introduces a sweetberry.py driver, that manages the servod i2c ports when reading INAs through servod for sweetberry. BUG=chromium:806148 TEST=sudo servod -c servo_sweetberry_rails.xml dut-control -p $PORT j2_1_mv >j2_1_mv:5087.5 CQ-DEPEND=CL:1051212 Change-Id: I06220510e7051bd7c559856a4b5d252e9f723ffc Reviewed-on: https://chromium-review.googlesource.com/1051214 Commit-Ready: Ruben Rodriguez Buchillon <coconutruben@chromium.org> Tested-by: Ruben Rodriguez Buchillon <coconutruben@chromium.org> Reviewed-by: Todd Broch <tbroch@chromium.org> [modify] https://crrev.com/8c61301a7800c8a76dea0f842c4b36bb7590d2e2/servo/servo_interfaces.py [add] https://crrev.com/8c61301a7800c8a76dea0f842c4b36bb7590d2e2/servo/data/sweetberry.xml [add] https://crrev.com/8c61301a7800c8a76dea0f842c4b36bb7590d2e2/servo/drv/sweetberry.py [add] https://crrev.com/8c61301a7800c8a76dea0f842c4b36bb7590d2e2/servo/data/servo_sweetberry_rails.py [modify] https://crrev.com/8c61301a7800c8a76dea0f842c4b36bb7590d2e2/servo/ftdi_common.py [modify] https://crrev.com/8c61301a7800c8a76dea0f842c4b36bb7590d2e2/servo/drv/__init__.py
,
Aug 2
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/9967041bb0b800262c4932a89502425601d16c15 commit 9967041bb0b800262c4932a89502425601d16c15 Author: Ruben Rodriguez Buchillon <coconutruben@chromium.org> Date: Thu Aug 02 20:53:49 2018 servod: refresh generate for new sweetberry through servod By exposing sweetberry as a servod device, generating configs for sweetberry now needs to geneate both: powerlog, and servod configurations. This is CL does just that. Additionally, since sweetberry has non-trivial pin to i2c port mapping, this CL introduces the ability to define an INA configuration by specifying the pins and the (white) bank on the sweetberry board, instead of the raw i2c address and port. CQ-DEPEND=CL:1051212 BUG=chromium:806148 TEST=manual testing, powerlog works fine (CQ-depend) and servod also works Change-Id: I2bdde650b0b4d2b84827fa21cec9354e563f9f61 Signed-off-by: Ruben Rodriguez Buchillon <coconutruben@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1051215 Reviewed-by: Mengqi Guo <mqg@chromium.org> [delete] https://crrev.com/9548333e016102204eb0d46714acecd5d65b66fc/servo/data/atlas_rev0.py [modify] https://crrev.com/9967041bb0b800262c4932a89502425601d16c15/servo/data/README.INA.md [add] https://crrev.com/9967041bb0b800262c4932a89502425601d16c15/servo/data/servo_sweetberry_rails_pins.py [modify] https://crrev.com/9967041bb0b800262c4932a89502425601d16c15/servo/drv/power_tools.py [add] https://crrev.com/9967041bb0b800262c4932a89502425601d16c15/servo/data/servo_config_generator.py [modify] https://crrev.com/9967041bb0b800262c4932a89502425601d16c15/servo/drv/sweetberry.py [add] https://crrev.com/9967041bb0b800262c4932a89502425601d16c15/servo/data/sweetberry.png [modify] https://crrev.com/9967041bb0b800262c4932a89502425601d16c15/servo/data/generate_ina_controls.py [modify] https://crrev.com/9967041bb0b800262c4932a89502425601d16c15/servo/data/make_ina_skeleton.py [add] https://crrev.com/9967041bb0b800262c4932a89502425601d16c15/servo/data/README.sweetberry.md [add] https://crrev.com/9967041bb0b800262c4932a89502425601d16c15/servo/data/sweetberry_preprocessor.py [delete] https://crrev.com/9548333e016102204eb0d46714acecd5d65b66fc/servo/data/servo_sweetberry_rails.py [add] https://crrev.com/9967041bb0b800262c4932a89502425601d16c15/servo/data/servo_sweetberry_rails_addr.py
,
Aug 23
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/7035f9b188ab52ee2e2f16b1a031c86d3d78a707 commit 7035f9b188ab52ee2e2f16b1a031c86d3d78a707 Author: Ruben Rodriguez Buchillon <coconutruben@chromium.org> Date: Thu Aug 23 14:37:16 2018 servod: system config map & input_type This CL reshuffles the logic inside resolve_val in system_config to allow for mapped values to also leverage input_type. This means that if for dut-control random_ctrl:val |val| maps to "1.2" then the float 1.2 will be passed to the set method. It also starts the process of adding unittests to system_config.py BUG=chromium:806148, chromium:812152 TEST=manual testing Change-Id: I1a4590b22b8d7003454d51b040cfa4ba5105c7c7 Reviewed-on: https://chromium-review.googlesource.com/1168270 Commit-Ready: Ruben Rodriguez Buchillon <coconutruben@chromium.org> Tested-by: Ruben Rodriguez Buchillon <coconutruben@chromium.org> Reviewed-by: Todd Broch <tbroch@chromium.org> [modify] https://crrev.com/7035f9b188ab52ee2e2f16b1a031c86d3d78a707/servo/system_config.py [add] https://crrev.com/7035f9b188ab52ee2e2f16b1a031c86d3d78a707/servo/system_config_unittest.py
,
Oct 12
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/ec/+/f80329391b72a04371bc0d5b7523d723dbcbfc2f commit f80329391b72a04371bc0d5b7523d723dbcbfc2f Author: Ruben Rodriguez Buchillon <coconutruben@chromium.org> Date: Fri Oct 12 18:20:16 2018 sweetberry: expose i2c over usb Expose the i2c interface through usb so that we can read power rails through servod leveraging the work being done there. Conflicts: board/sweetberry deleted in this branch BRANCH=none BUG=chromium:806148 TEST=manual testing - powerlog still works - i2c over usb using servod code works (other CLs needed) Change-Id: I48876bc4839509a397ce77376b337c37c556ae40 Signed-off-by: Ruben Rodriguez Buchillon <coconutruben@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1051136 Reviewed-by: Nick Sanders <nsanders@chromium.org> (cherry picked from commit cb4338e289389d699f26204c73aede4e24dd296e) Reviewed-on: https://chromium-review.googlesource.com/c/1278026 Commit-Queue: Vadim Bendebury <vbendeb@chromium.org> Tested-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-by: Vadim Bendebury <vbendeb@chromium.org> [add] https://crrev.com/f80329391b72a04371bc0d5b7523d723dbcbfc2f/chip/stm32/usb_dwc_i2c.h [modify] https://crrev.com/f80329391b72a04371bc0d5b7523d723dbcbfc2f/chip/stm32/build.mk [modify] https://crrev.com/f80329391b72a04371bc0d5b7523d723dbcbfc2f/common/usb_i2c.c
,
Nov 22
,
Dec 7
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/ec/+/58e86851a61dd06870de0015c4cb1e6fa679a018 commit 58e86851a61dd06870de0015c4cb1e6fa679a018 Author: Ruben Rodriguez Buchillon <coconutruben@chromium.org> Date: Fri Dec 07 00:25:47 2018 sweetberry: expose i2c over usb Expose the i2c interface through usb so that we can read power rails through servod leveraging the work being done there. Conflicts: board/sweetberry deleted in this branch BRANCH=none BUG=chromium:806148 TEST=manual testing - powerlog still works - i2c over usb using servod code works (other CLs needed) Change-Id: I48876bc4839509a397ce77376b337c37c556ae40 Signed-off-by: Ruben Rodriguez Buchillon <coconutruben@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1051136 Reviewed-by: Nick Sanders <nsanders@chromium.org> (cherry picked from commit cb4338e289389d699f26204c73aede4e24dd296e) Reviewed-on: https://chromium-review.googlesource.com/c/1278026 Commit-Queue: Vadim Bendebury <vbendeb@chromium.org> Tested-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-by: Vadim Bendebury <vbendeb@chromium.org> (cherry picked from commit f80329391b72a04371bc0d5b7523d723dbcbfc2f) Reviewed-on: https://chromium-review.googlesource.com/c/1366967 [add] https://crrev.com/58e86851a61dd06870de0015c4cb1e6fa679a018/chip/stm32/usb_dwc_i2c.h [modify] https://crrev.com/58e86851a61dd06870de0015c4cb1e6fa679a018/chip/stm32/build.mk [modify] https://crrev.com/58e86851a61dd06870de0015c4cb1e6fa679a018/common/usb_i2c.c |
||||
►
Sign in to add a comment |
||||
Comment 1 by coconutruben@chromium.org
, May 9 2018Status: Started (was: Available)