summaryrefslogtreecommitdiff
path: root/board/quiche
Commit message (Collapse)AuthorAgeFilesLines
* quiche/baklava: Change UFP_PLUG_DET to be active lowScott Collyer2021-06-171-1/+1
| | | | | | | | | | | | | | | | | This CL changes the gpio signal UFP_PLUG_DET to be active low instead of active high. The initial description of this signal was incorrect. BUG=b:189860586 BRANCH=quiche TEST=ODM vendor verified that interop test against karben is now working with the display extending. Signed-off-by: Scott Collyer <scollyer@google.com> Change-Id: I966be6a4f725810d03b2748ea95217b9bffec61c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2959396 Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Scott Collyer <scollyer@chromium.org>
* honeybuns: Move configs for MP release to board.hScott Collyer2021-05-261-0/+7
| | | | | | | | | | | | | | | | | This CL moves the configs that are needed to be changed for an MP release to the board.h files from baseboard.h. BUG=b:183686750 BRANCH=quiche TEST=make BOARD=quiche/gingerbread/baklava Signed-off-by: Scott Collyer <scollyer@google.com> Change-Id: I7c602ecb2f2af02638be080613bb83dee568c332 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2911737 Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Scott Collyer <scollyer@chromium.org>
* honeybuns: Board specific power button and LEDsScott Collyer2021-05-141-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL modifies both power button press/release polairty and power button LED control signals to be board specific instead of platform specific. Previously there were platform specific macros for BUTTON_PRESSED_LEVEL and BUTTON_RELEASED_LEVEL. But, these levels will depend on how the power button circuit is designed. This CL moves these macros to board.h. In addition, macros are added to for the GPIO signals used for green/red LED control. This allows for boards that don't support the power button LED at all. BUG=b:164157329 BRANCH=quiche TEST=Verfied power button works on both quiche and gingerbread. Previously, this was only working on quiche because gingerbread has opposite polarity for the power button signal. Also, verfied that power button/status LED turns off when dock is off. Signed-off-by: Scott Collyer <scollyer@google.com> Change-Id: Iee838ee158d23252e8b429f51a1dd1a71d8e94a0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2868225 Commit-Queue: Scott Collyer <scollyer@chromium.org> Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org>
* honeybuns: Add usbc attached gpio support for usb/mst hubsScott Collyer2021-05-023-4/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL adds support for new GPIO signals used by the EC to notify usb/mst hubs about type-c attach and over current protection events. The usb3 only port on quiche/baklava uses a PPC, and previously the PPC was only being used to enable/disable VBUS and did not have interrupt support. However, there can still protection events that must be handled. This CL also adds a simple usbc state machine to be able to determine attached.src state while in RO. The USB hub needs to be notified when VBUS is present (BPWRDET) otherwise it will just go into suspend state and there can be USB enumeration issues. BUG=b:185066262 BRANCH=quiche TEST=manual For OCP, I set the PPC source current limit to 1.5A and connected to a chromebook. This triggers the OCP event. For BPWRDET/UFP_PLUG_DET verified that when attached, these signals are high, when detached, are low as expected. Signed-off-by: Scott Collyer <scollyer@google.com> Change-Id: Ia147b970ea3dc298545aec4dedaa035ad2a1db30 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2818522 Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Sam Hurst <shurst@google.com> Commit-Queue: Scott Collyer <scollyer@chromium.org>
* honeybuns: Add C2 initialization with power button on/offScott Collyer2021-04-172-42/+3
| | | | | | | | | | | | | | | | | | | | | | | This CL refactors code required for the user facing usbc port. This port was only being initialized at init time and therefore would not function properly following a power button off/on. To avoid duplicating code, the functions used to initialize this port and control VBUS were moved to usbc_support in baseboard so they can be common and are now guarded by a GPIO macro so this can be board specific for variants which don't have a PPC to control on this port. BUG=b:164157329 BRANCH=quiche TEST=Verifed that port C2 attaches as expected following power button off/on sequence. Signed-off-by: Scott Collyer <scollyer@google.com> Change-Id: I2f9500f7e58de674c6f7c12a95cebad45de166cc Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2785198 Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Scott Collyer <scollyer@chromium.org> Tested-by: Scott Collyer <scollyer@chromium.org>
* honeybuns: Allow for board specific mf preferenceScott Collyer2021-04-151-0/+20
| | | | | | | | | | | | | | | | | | This CL enables a given board to have its own policy regarding the mf preference bit which is used by a UFP to signal its preferred pin configuration in the DP Status message. BUG=b:175434634 BRANCH=None TEST=Verfied that the mf bit in the DP status message follows the board preference. Signed-off-by: Scott Collyer <scollyer@google.com> Change-Id: Ied7cdb72d1e302aab25dd5531856b1c7c148e64f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2765422 Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Scott Collyer <scollyer@chromium.org>
* honeybuns: Add power button supportScott Collyer2021-04-104-11/+56
| | | | | | | | | | | | | | | | | | | | | | | | | This CL adds support for the power button including a new task to allow for power sequencing delays. The power button is used for two purposes. First, to turn the dock on or off, and second, to allow for a user set preference of the MF for DP 2 or 4 lane selection. If the dock is off, the dock will be turned on as soon as the short press timer expires. If the dock is already on, then a short press action is only recognized on the release so a long press will only change the MF preference. BUG=b:164157329 BRANCH=quiche TEST=manaual short press -> turns dock on off as expected long press -> toggles MF preference and flashes LED Signed-off-by: Scott Collyer <scollyer@google.com> Change-Id: I8519c072a7f10657c369344ead6149fc7d31bb36 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2718268 Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Sam Hurst <shurst@google.com> Commit-Queue: Scott Collyer <scollyer@chromium.org>
* quiche: Add board_set method for ps8822 mux for rx dp eqScott Collyer2021-04-021-0/+17
| | | | | | | | | | | | | | | | | This CL adds a method to change Rx DP gain from 12 to 20 dB. This value was requested by the MST vendor. BUG=b:178656398 BRANCH=None TEST=verifed register setting when DP mode is active on quiche Signed-off-by: Scott Collyer <scollyer@google.com> Change-Id: I6355da1ad88c3e1f29f07ca036adbf8fc9b908ca Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2686919 Commit-Queue: Scott Collyer <scollyer@chromium.org> Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org>
* quiche: Add console command to change lane control signalScott Collyer2021-03-301-0/+32
| | | | | | | | | | | | | | | | | | | There is a gpio signal controlled by the EC to communicate to the MST hub if 2 lane or 4 lane DP should be trained. The lane control GPIO signal must be set when the MST is in reset. This CL adds a console command 'dp_lane' to execute this sequence. BUG=b:183288657 BRANCH=None TEST=verified lane control is low for 'dplane 4' and high following 'dplane 2' Signed-off-by: Scott Collyer <scollyer@google.com> Change-Id: I65d197ad55e86bba9b9ea5374c89cc6505b1100f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2682788 Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Scott Collyer <scollyer@chromium.org> Tested-by: Scott Collyer <scollyer@chromium.org>
* quiche: Add support for C2 usbc portScott Collyer2021-03-293-7/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 3rd usbc port (C2) is type-c only port which is managed directly by the PS8803 TCPC, but C2 has a PPC and the EC needs to control VBUS on/off via the PPC. This CL adds an interrupt handler to track the signal that indicates when the TCPC is in Attached.SRC or Unattached.SRC. In addition, the PPC for C2 must be initialized at the board level as this port is not managed by the TCPMv2 stack. BUG=b:171915198 BRANCH=None TEST=Used C -> A adapter, verifed that when connected C2 is in Attached.src and removed in Unattached.SRC. Validated bus signals with TotalPhase trace. Also checked have a device connected to this port enumerates at the host. > [28.613330 C2: State = Unattached.SRC] [36.500398 C2: State = Attached.SRC ] [135240.133949] usb 1-2.2.1: new full-speed USB device number 87 ... [135240.229223] usb 1-2.2.1: New USB device found, idVendor=046d, ... [135240.229246] usb 1-2.2.1: New USB device strings: Mfr=1, ... [135240.229257] usb 1-2.2.1: Product: BOOM 3 [135240.229267] usb 1-2.2.1: Manufacturer: Logitech [135240.229276] usb 1-2.2.1: SerialNumber: 000001 Signed-off-by: Scott Collyer <scollyer@google.com> Change-Id: Ie2583ae9271333e2ecd9561eed60fab6cdb4fda1 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2519799 Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Scott Collyer <scollyer@chromium.org> Tested-by: Scott Collyer <scollyer@chromium.org>
* honeybuns: Add USB-PD for port C1 (user facing ALT-DP)Scott Collyer2021-03-244-9/+73
| | | | | | | | | | | | | | | | | | | | | | This CL adds support for honeybuns C1, which is the user facing usbc port that also support ALT-DP mode. This CL adds support for both gingergread and quiche. Note that gingerbread is being checked in with a TODO for specifying the PPC driver for C1. This is necessary to allow gingerbread to still build while the solution for asymmetric port hardware is finalized. BUG=b:183289386 BRANCH=None TEST=Verified port C1 attaches to display adapters, usbpd hubs, and type-c monitors Signed-off-by: Scott Collyer <scollyer@google.com> Change-Id: Iafbd5a38917601fc5055857662dd0e893d503948 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2699456 Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Scott Collyer <scollyer@chromium.org>
* honeybuns: Add full usb-pd support for C0Scott Collyer2021-03-243-15/+39
| | | | | | | | | | | | | | | | | | | | | This CL adds config options and board level structs to fully support USB-PD on port C0 for both gingerbread and quiche. This includes all the svdm response functions required for support of DP Alt-mode as a UFP_D. This also includes honeybuns specific version of usb-pd policy functions. BUG=b:175660576 BRANCH=None TEST=Verify that C0 port can establish PD contract, enter ALT-DP mode and extend display over DP/HDMI connectors. Signed-off-by: Scott Collyer <scollyer@google.com> Change-Id: I11edee85e63381f00114e9fbe012a37fd8174279 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2699455 Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Scott Collyer <scollyer@chromium.org>
* honeybuns: P1 changes (gingerbread/quiche)Scott Collyer2021-03-244-20/+29
| | | | | | | | | | | | | | | | | This CL updates both quiche and gingerbread to P1 hardware level. This includes an MCU with 256 kB flash, some GPIO pin assignments to address EXTi conflicts, and removing the I2C2 port. BUG=b:183288657 BRANCH=None TEST=make BOARD=quiche and make BOARD=gingerbread Signed-off-by: Scott Collyer <scollyer@google.com> Change-Id: I6a5d3d365b6c9ed704ced8506fa4a97ca7b668c7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2699454 Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Scott Collyer <scollyer@chromium.org>
* honeybuns: Enable USB-EP supportScott Collyer2021-03-242-5/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | This CL adds configs/structs required for USB-EP support for both quiche and gingerbread. This CL also adds usbc support code to RO so that Rd is being presented on both CC lines in RO. In addition, there is some clean up for I2C port names and the debug gpio utility function. BUG=b:172493899 BRANCH=None TEST=tested on quiche and verified that the USB-EP was enumerated RST EP0 3220 RST EP0 3220 RST EP0 3220 RST EP0 3220 SETAD ae [8.069004 Jumping to image RW] Signed-off-by: Scott Collyer <scollyer@google.com> Change-Id: I8d65ba55eecc2b82047a8cd433611f639af0c5ed Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2699453 Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Sam Hurst <shurst@google.com> Commit-Queue: Scott Collyer <scollyer@chromium.org>
* honeybuns: Add RWSIG and RO/RW splitScott Collyer2021-03-094-8/+62
| | | | | | | | | | | | | | | | | | | | | | | Honeybuns does not have an AP and therefore it needs to verify its own RW signature in RO. This functionality is enabled with RWSIG config option and task. This CL adds support to both enable RWSIG and make the RO and RW images asymmetric. Note that RO only needs to enable USB-EP support for fwupd support and support RW signature verification. Therefore, RO is limited to support these key features. BUG=b:167462264 BRANCH=None TEST=verifed on both quiche and gingerbread that will boot into RO and following RW signature verification, jump to the RW image. Signed-off-by: Scott Collyer <scollyer@google.com> Change-Id: I1cdf0965e06881ebb48205a517d308641e6cdb49 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2699452 Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Scott Collyer <scollyer@chromium.org>
* stm32g4: ucpd: Add support for USB-PD messagingScott Collyer2020-12-131-1/+2
| | | | | | | | | | | | | | | | | | | | | This CL adds routines required to support USB-PD messaging to the UCPD driver. UCPD is performs TCPC type functions, but is not a TCPC. UCPD does utilize the common TCPCI APIs as entry points called from the port's PD task. In addition, UCPD has its own task to manage more easily transmit requests from TCPM layer and GoodCRC messages which must be intiated in the UCPD driver itself. BUG=b:167601672 BRANCH=None TEST=verfied type-c attaches properly on quiche Signed-off-by: Scott Collyer <scollyer@google.com> Change-Id: I0c02bee4badc479125832a6b5a6fa156e998c201 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2247117 Tested-by: Scott Collyer <scollyer@chromium.org> Auto-Submit: Scott Collyer <scollyer@chromium.org> Commit-Queue: Scott Collyer <scollyer@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org>
* honeybuns: Enable usbc supportScott Collyer2020-12-114-4/+108
| | | | | | | | | | | | | | | | | | | | | This CL adds boards specific parts required to enable TCPMv2.0 for both quiche and gingerbread. TCPMv2 configs are included, though, only type-c support is being selected. The reason for this intermediate point is an attempt to have more manageable amounts of changes for CL reviews. BUG=b:167601672 BRANCH=None TEST=verfied type-c attaches properly on quiche Signed-off-by: Scott Collyer <scollyer@google.com> Change-Id: I2a4c3bf4089fb3e167d06921b177d8c4e61a021f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2215424 Tested-by: Scott Collyer <scollyer@chromium.org> Commit-Queue: Scott Collyer <scollyer@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Auto-Submit: Scott Collyer <scollyer@chromium.org>
* honeybuns: Enable I2C feature and CBI supportScott Collyer2020-09-291-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL adds config options and tables required to pull in i2c support for honeybuns. In addition, config options for CBI were added to facilitate i2c testing. BUG=b:148493929 BRANCH=None TEST=ran i2cscan on quiche > i2cscan Scanning 0 usbc................. 0x18. 0x19. 0x1a. 0x1b. 0x1c. 0x1d. 0x1e. 0x1f. 0x20. 0x21. 0x22. 0x23. 0x24. 0x25. 0x26. 0x27........................... 0x42.............................. 0x60....................... Scanning 1 usb_mst. 0x08. 0x09. 0x0a. 0x0b. 0x0c. 0x0d. 0x0e. 0x0f. 0x10. 0x11. 0x12. 0x13. 0x14. 0x15. 0x16. 0x17.......................................... 0x41................................ 0x61......... 0x6a............. Scanning 2 eeprom......................................... 0x30................................ 0x50....................................... Signed-off-by: Scott Collyer <scollyer@google.com> Change-Id: Ib1b8b795a2a07a5b1cbe167b17c3f70a8d9703b2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2213943 Commit-Queue: Scott Collyer <scollyer@chromium.org> Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org>
* quiche: Add EC console supportScott Collyer2020-09-291-11/+0
| | | | | | | | | | | | | | | | | | | | | | | This CL adds the configs required to enable EC console. BUG=b:148493929 BRANCH=None TEST=verfied ec console works on quiche > help Known commands: chan gpioget md sysinfo crash gpioset panicinfo sysjump flashinfo help reboot syslock flashwp hibernate rw taskinfo gettime history shmem timerinfo HELP LIST = more info; HELP CMD = help on CMD. Signed-off-by: Scott Collyer <scollyer@google.com> Change-Id: Ie78965483a1c70368e4375e63ddf33a423bb7776 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2399622 Commit-Queue: Scott Collyer <scollyer@chromium.org> Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org>
* quiche: Add power sequencingScott Collyer2020-09-293-13/+65
| | | | | | | | | | | | | | | | | | This CL adds a function in baseboard that will sequence through a list of gpio controlled power rails and chip resets. The table includes a delay prior to executing the next entry. The table is intended to be in board.c as the rails and delays can very much be board specific. BUG=b:167430750 BRANCH=None TEST=Verified that power rails come up and status LED is on. Signed-off-by: Scott Collyer <scollyer@google.com> Change-Id: I830dee9eb28d4648d274d8cbc49b6972cd70dba5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2213837 Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Commit-Queue: Scott Collyer <scollyer@chromium.org>
* Quiche: Adding skeleton GPIO tableUdaya Kiran Ammu2020-09-081-20/+7
| | | | | | | | | | | | | | | | This CL adds GPIOs required to build and alt-func for EC console. Nothing else is included. BUG=b:155137749 BRANCH=None TEST=make BOARD=quiche and verify that image builds successfully. Signed-off-by: Udaya Kiran Ammu <udaykiran@google.com> Change-Id: Ic4fda8b21a4710bc5c27610177b5938f71631e3d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2171041 Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Scott Collyer <scollyer@chromium.org>
* Quiche: Initial skeleton EC imageUdaya Kiran Ammu2020-08-315-0/+129
This CL contains a skeleton image. Baseboard is honeybuns. BUG=b:154667612 BRANCH=none TEST=make BOARD=quiche and verify that image builds successfully Signed-off-by: Udaya Kiran Ammu <udaykiran@google.com> Change-Id: I9873579bcda3e89ba2fda930b5dd21e8fda64cfe Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2168894 Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Commit-Queue: Scott Collyer <scollyer@chromium.org>