summaryrefslogtreecommitdiff
path: root/board
Commit message (Collapse)AuthorAgeFilesLines
* g: limit compiling in crypto tests to cases where CR50DEV > 1Vadim Bendebury2017-09-291-1/+3
| | | | | | | | | | | | | | | | | | | To aid with severe flash space shortage, let's enable CRYPTO_TEST_SETUP only if CR50_DEV is set to a value exceeding 1. board/mn50/board.h used to define CR50_DEV without any value assigned to it, correct this so that the check in dcrypto.h works when mn50 is built. BRANCH=cr50 BUG=b:65253310 TEST=compiling with CR50-DEV=1 vs CR50_DEV=2 saves more than 17.5 Kbytes per RW image. Change-Id: Ic77fa45b1a8f7631efa91c08e63438d412196eed Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/690993 Reviewed-by: Randall Spangler <rspangler@chromium.org>
* cr50: Add ccdblock command to block portsRandall Spangler2017-09-291-1/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, when CCD is opened, there is no way to disable the EC and/or AP UARTs. But if there is some problem with the EC and/or AP, and their UARTs are spamming interrupts, it can make debugging more difficult. If servo detection malfunctions, then CCD may drive the ports and interfere with servo. Add a new ccdblock command to disable the AP UART, EC UART, or any ports shared with servo, until the next cr50 reboot. BUG=b:65639347 BRANCH=cr50 TEST=manual with CR50_DEV=1 image, AP/EC powered on, suzyq connected ccdblock --> (none) ccdstate --> UARTAP+TX UARTEC+TX I2C SPI ccdblock AP on ccdstate --> UARTEC+TX I2C SPI ccdblock EC on ccdstate --> I2C SPI ccdblock -> AP EC ccdblock AP off ccdstate --> UARTAP+TX I2C SPI ccdblock EC off --> (none) ccdstate --> UARTAP+TX UARTEC+TX I2C SPI ccdblock SERVO on ccdstate --> UARTAP UARTEC ccd lock ccdblock AP on --> access denied Change-Id: I3dcc8314fc98a17af57f2fe0d150ecd1a19ccf52 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/693041 Reviewed-by: Mary Ruthven <mruthven@chromium.org>
* Fizz: Initialize PMIC after AP power is readyDaisuke Nojiri2017-09-291-3/+9
| | | | | | | | | | | | | | | | | On proto3, PMIC isn't powered on POR, thus board_pmic_init fails. With this change, EC waits until AP power is ready before it notifies HOOK_CHIPSET_PRE_INIT where PMIC will be initialized. When AP power is ready, PMIC should be ready as well. BUG=b:65839247,b:64944394 BRANCH=none TEST=Run reboot [/cold/ap-off] command on BJ and Type-C. Change-Id: I7e7e07b5acf92167584966ded0a5f14fb6b04f0b Reviewed-on: https://chromium-review.googlesource.com/672152 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Fizz: Show critical error on LED for recovery requestDaisuke Nojiri2017-09-292-1/+11
| | | | | | | | | | | | | | | | Fizz EC verifies RW by itself and jumps to RW before AP boots. If this fails, the system needs recovery. Since EC isn't capable of showing any info on a display, we use the power LED to inform the user. BUG=b:66914368 BRANCH=none TEST=Make Fizz fail RW verification. Observe LED illuminates in red. Change-Id: Ia07de60a316b40e74b1917903996d78750b4ae43 Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/683218
* Fizz: Blink LED to request more powerDaisuke Nojiri2017-09-293-15/+34
| | | | | | | | | | | | | | | | | | This patch makes the LED blink to alert the user when there is not enough power to boot the system. This patch also changes minimum boot power to 50W. It's common for all SKUs. BUG=b:37646390 BRANCH=none TEST=Power Fizz with 15W, 45W, 60W chargers. Verify LED blinks as expected. Change-Id: If269897f5022f6cba80f37ce03e2315cfb2cf504 Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/682876 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* board: reef_it8320: Report device orientation isn't tablet modeDino Li2017-09-282-0/+12
| | | | | | | | | | | | | | | We need to response EC ACPI device orientation command or keyboard/trackpad didn't work on OS image version R58 and after. BRANCH=none BUG=none TEST=keyboard and trackpad work on R58 and after. Change-Id: I49f9c90e73a5e529eb228169e4148f4dcd4a45e6 Signed-off-by: Dino Li <Dino.Li@ite.com.tw> Reviewed-on: https://chromium-review.googlesource.com/689715 Reviewed-by: Shawn N <shawnn@chromium.org>
* servo_v4: add pd commandsNick Sanders2017-09-281-0/+1
| | | | | | | | | | | | | | Add CONFIG_CMD_PD into servo v4, to enable more console PD commands, BRANCH=None BUG=b:65497998 TEST=run the sommands. Signed-off-by: Nick Sanders <nsanders@chromium.org> Change-Id: I85c3f585779ccd51cff48c564083fd42fe5c454b Reviewed-on: https://chromium-review.googlesource.com/663840 Reviewed-by: Scott Collyer <scollyer@chromium.org>
* charge_manager: Support no-BC1.2 configurationShawn Nematbakhsh2017-09-283-33/+0
| | | | | | | | | | | | | | | | If BC1.2 isn't supported, don't waste space + time checking for inputs that don't exist. BUG=chromium:759880 BRANCH=None TEST=`make buildall -j` Change-Id: I47e81451abd79a67a666d1859faf2610ee5c941a Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/663838 Commit-Ready: Shawn N <shawnn@chromium.org> Tested-by: Shawn N <shawnn@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* poppy: cleanup GPIOsNicolas Boichat2017-09-283-21/+0
| | | | | | | | | | | | | | - Deprecate poppy rev0. - Remove FP_INT_L BRANCH=none BUG=b:65104436 TEST=make buildall -j Change-Id: Ie2afae95a4fed43e8c2dc9e18031cf3e82eb3536 Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/689817 Reviewed-by: Furquan Shaikh <furquan@chromium.org>
* chip/stm32/clock: Incorporate RTC date registerPhilip Chen2017-09-272-13/+7
| | | | | | | | | | | | | | | | | | | | | | | The current stm32 rtc driver only uses RTC_TR and RTC_SSR. So we son't be able to use rtc for applications which need time > 24 hours. To support such applications, this patch adds operations for RTC date register (RTC_DR). BUG=b:63908519 CQ-DEPEND=CL:666985 BRANCH=none TEST=manually with 'ectool rtcset/rtcset' and '/sys/class/rtc/rtc0', verify the conversion between calendar time and Unix epoch time works. Change-Id: Iacd5468502e4417a70880d7239ca5e03353d9469 Signed-off-by: Philip Chen <philipchen@google.com> Reviewed-on: https://chromium-review.googlesource.com/659337 Commit-Ready: Philip Chen <philipchen@chromium.org> Tested-by: Philip Chen <philipchen@chromium.org> Reviewed-by: Matthias Kaehlcke <mka@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* scarlet: enable console help and historyBrian Norris2017-09-271-2/+0
| | | | | | | | | | | | | | | We're not hurting for flash space. And this helps us stupid kernel developers, who haven't memorized all EC commands. BUG=none BRANCH=none TEST=build and boot scarlet Change-Id: I9046ff3802512d24f17acffa7e0b2faddb702c0b Signed-off-by: Brian Norris <briannorris@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/688506 Reviewed-by: Philip Chen <philipchen@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* Coral: Add LG battery for Santa and Porbeagle.david.huang2017-09-271-6/+87
| | | | | | | | | | | | | | | | | | | 1.Add LG battery for Santa and Porbeagle. 2.Santa LG battery manufacture name is same as BATTERY_LGC011, so use device name to recoginze Santa LG battery. 3.These two battery have different process to get FET status, make sure battery not use this process is before BATTERY_LGC15 to separate these two different process. BRANCH=none BUG=b:65426428, b:64772598 TEST=Make sure battery can cutoff by console "cutoff" or "ectool cutoff" and resume by plug in adapter. Change-Id: I7095b9d0915fb4d39aa6c9f8c8751aa22941e938 Signed-off-by: David Huang <David.Huang@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/674472 Reviewed-by: Aaron Durbin <adurbin@chromium.org>
* Fizz: Set proper max powerDaisuke Nojiri2017-09-261-1/+2
| | | | | | | | | | | | | | | | This patch raises the max power for a type-c adapter to 60W (20V @3A). We can't go above the regular cable capacity (3A) until we add e-marked cable detection. BUG=none BRANCH=none TEST=Boot Proto3 on Zinger. Observe 60W (20V @3A) is selected. Change-Id: I9670d710e363c7db1136a7ce7a7f8401b0ad8240 Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/679210 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* npcx7_evb: change the default setting of npcx7 evbCHLin2017-09-262-1/+7
| | | | | | | | | | | | | | | | | | | | | In this CL, we add the follow changes for npcx7 evb board: 1. Add comments in the build.mk to indicate how to set CHIP_VARIANT for EVBs which use different npcx7 ec. - npcx7m6f : 144 pins (default) - npcx7m6g : 128 pins 2. Turn on the eSPI host interface as default in board.h BRANCH=none BUG=none TEST=No build errors for "make buildall". Change-Id: Ib926e8596a09a28f547c35a0256be2aa394f9a36 Signed-off-by: CHLin <CHLIN56@nuvoton.com> Reviewed-on: https://chromium-review.googlesource.com/674887 Commit-Ready: CH Lin <chlin56@nuvoton.com> Tested-by: CH Lin <chlin56@nuvoton.com> Reviewed-by: Randall Spangler <rspangler@chromium.org>
* cr50: fix hash test code memory managementVadim Bendebury2017-09-261-6/+18
| | | | | | | | | | | | | | | | | | | The hash test code memory management is somewhat loose: it does not clean up allocated buffer, but then uses it to check for presence of the previously created handles, which can result in false positives. Let's zero the buffer each time it is allocated and let's use hash_test_db.contexts as the indicator if the buffer is allocated or not. BRANCH=cr50 BUG=none TEST=ran ./test/tpm_test/tpmtest.py, observed rsa tests pass. Change-Id: Iad4b4e2662fc7266ee6f556f6ddfd0051e7172d7 Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/665321 Reviewed-by: Shawn N <shawnn@chromium.org>
* samus_pd: Adjust input current limit downward to prevent OCShawn Nematbakhsh2017-09-261-5/+2
| | | | | | | | | | | | | | | | | | | | | | Based on measurements, Samus can pull more current than desired, even taking into account the existing INPUT_CURRENT_LIMIT_OFFSET_MA adjustment. Decrease the programmed current limit by an additional factor, determined by taking the worst-case power measurements across 15 different Samus devices, to ensure that Samus never pulls more current than desired. BUG=chrome-os-partner:55297 BRANCH=samus TEST=Verify with debug prints that curr_lim_ma becomes 256 when negotiated current limit is 500mA and curr_lim_ma becomes 2556 when negotiated limit is 3000mA. Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Change-Id: I6912d987c5a519f55a831698873a69c4cac817b8 Reviewed-on: https://chromium-review.googlesource.com/684696 Commit-Ready: Shawn N <shawnn@chromium.org> Tested-by: Shawn N <shawnn@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* Fizz: Limit input currentDaisuke Nojiri2017-09-254-54/+36
| | | | | | | | | | | | | | | | | | | | | | | | | Fizz has an over current control system. There are two FETs connected to two registers: PR257 & PR258. They control the max input current as follows: PR257, PR258 For 4.62A (90W BJ adapter), on, off For 3.33A (65W BJ adapter), off, on For 3.00A (Type-C adapter), off, off BJ adapters are distinguished by reading GPIO71. This patch also removes ISL9238 driver and ramping code. The charger chip has been removed from the board since proto2. BUG=b:65013352 BRANCH=none TEST=Boot Fizz Proto3 on BJ and Type-C. Change-Id: I32c2467f4ab23adf3f9313a03914d74d64a722df Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/668119 Reviewed-by: Aaron Durbin <adurbin@chromium.org>
* twinkie: enable WebUSBVincent Palatin2017-09-251-0/+2
| | | | | | | | | | | | | | | | | | Prepare the future and return a WebUSB descriptor to be able to use the dongle from this website. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=twinkie BUG=none TEST=manual: enumerate WebUSB descriptors with lsusb and connect to a WebUSB page in Chrome R61+. Change-Id: I6a36538667ac114fc4b40cb87b2d6e946e265c4d Reviewed-on: https://chromium-review.googlesource.com/677285 Commit-Ready: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* Kahlee: FIXUP: Optimize g-sensor settingGwendal Grignou2017-09-242-1/+5
| | | | | | | | | | | | | | | | Kionix Accel does not have FIFO, enable force mode for it. Chrome needs sensor for screen orientation, set to to 10Hz in S0 in the EC. BRANCH=none BUG=b:62029360 TEST=none Change-Id: I5545580f2073e9d1145bd86cfcd594164119cae7 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/675575 Tested-by: Gwendal Grignou <gwendal@google.com> Reviewed-by: Gwendal Grignou <gwendal@google.com>
* zoombini: Enable TCPC interrupts.Aseda Aboagye2017-09-231-0/+47
| | | | | | | | | | | | | | | | | | | The TCPC interrupts were setup, but they weren't enabled yet. This commit enables the interrupts. Additionally, a "tcpcdump" debug command is added. This can be removed later or expanded upon to be more generic. BUG=None BRANCH=None TEST=Flash zoombini; Verify that we respond to TCPC alerts. Change-Id: Iba9523cbfb96a570b76e7bdc0ba21dd782854f24 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/670063 Commit-Ready: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* Fizz: Pulse LED using deferred callDaisuke Nojiri2017-09-222-57/+74
| | | | | | | | | | | | | | | | | This patch makes LED pulse using deferred call to save RAM and CPU cycles. This patch also adds led_alert API. It blinks LED as a warning. BUG=b:37646390 BRANCH=none TEST=Verify LED on in S0, pulse in S3, and off in S5. Run 'led alert' command. Change-Id: I8c61f91f095eed562d2ee9582868879241df626f Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/675749 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* poppy: Dynamically disable effect of SLP_S0# on all VRsFurquan Shaikh2017-09-221-12/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Just setting the global VRMODECTRL register is not enough to disable the effect of SLP_S0# signal. Each VR control register needs to be set correctly to ignore the effect as well. However, disabling VR decay on SLP_S0# assertion by default results in additional power consumption during S0ix. In order to prevent this, VR decay on SLP_S0# assertion needs to be enabled and disabled dynamically as follows: 1. By default on EC boot, PMIC will be initialized to disable VR decay on SLP_S0# assertion. 2. When host indicates intent to enter S0ix, EC will enable decay of VRs on SLP_S0# assertion. 3. When host exits from S0ix and updates the intent to no longer enter S0ix using host command, EC will disable decay of VRs on SLP_S0# assertion. actual SLP_S0# assertion because PMIC seems to honor the setting only at SLP_S0# assertion and not if it is already asserted. BUG=b:65732924 BRANCH=None TEST=Verified with this change that the failing Lux device is stable for a long time even with runtime S0ix. Change-Id: I9c5afb408694b3b467e85dcea723f7574bc639c1 Signed-off-by: Furquan Shaikh <furquan@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/674034 Reviewed-by: Aaron Durbin <adurbin@chromium.org>
* twinkie: replace combined firmware bash scriptVincent Palatin2017-09-223-59/+2
| | | | | | | | | | | | | | | | | | | | | | | | In order to get a Twinkie firmware image with the regular Twinkie sniffer firmware in the RO partition and a firmware behaving as a USB PD sink in the RW partition, I had created the (questionable) build_rw_variant bash script. Now the EC build can do this natively, so remove the script and the dedicated task list and use conditional task declaration in the ec.tasklist. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=twinkie BUG=none TEST=build the former firmware with './board/twinkie/build_rw_variant', build the new one with this patch and 'make BOARD=twinkie' -j, compare the 2 resulting binaries, they are identical. Change-Id: I3adb24e2c2825e5bd6f43a7440f829efd70038cc Reviewed-on: https://chromium-review.googlesource.com/677284 Commit-Ready: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* poppy/soraka: Do not disable charge port in critical battery stateFurquan Shaikh2017-09-211-0/+9
| | | | | | | | | | | | | | | | | | | | | When battery is at critical charge level, reject charge port disable request. Since battery is not able to provide enough power to the EC on boot, we should not cut off our input power, regardless of dual-role determination or other charging policy. (Reference: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/351224) BUG=b:64703097 BRANCH=None TEST=make -j buildall. Verified that both right and left port are able to boot the EC up successfully. No reboot loops observed in critical battery conditions. Change-Id: I098083036388783c0975ac772da3a3412895e26f Signed-off-by: Furquan Shaikh <furquan@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/675586 Reviewed-by: Aaron Durbin <adurbin@chromium.org>
* zoombini: Correct Vbus ADC channel.Aseda Aboagye2017-09-211-1/+1
| | | | | | | | | | | | | | | | | The Vbus adc channel was defined as 0 in the enum, however, we don't actually have a Vbus ADC channel, therefore it should be defined as -1. BUG=None BRANCH=None TEST=Flash zoombini; Verify that when charge manager tries to read the Vbus voltage, the EC doesn't panic due to a non-existing channel. Change-Id: I53dd3259afc7ae76f587e5b7925ce2f9daa06402 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/670123 Commit-Ready: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* zoombini: Add Power Switch Logic support.Aseda Aboagye2017-09-213-4/+7
| | | | | | | | | | | | | | | | | | | | | | | This commit enables the PSL pins for zoombini. Previously, we were initializing the PSL_OUT pin to high, but it actually turns out that setting the output from a 0 to a 1 indicates that the firmware wants to remove Vcc1. This caused the EC to not boot up. This commit removes the improper initialization of the GPIO and additionally sets up the hibernate wake pins accordingly such that they can be used by the PSL glue logic. BUG=b:65647213 BRANCH=None TEST=Flash zoombini without rework. Verify board comes up okay. TEST=Enter `hibernate` on console; Verify board goes to sleep. Verify that each hibernate wake pins wakes up the board successfully. Change-Id: Ife1b82eec7957b44bbe409cdeba9c3972168812f Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/670062 Commit-Ready: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* zoombini: Update the keyboard config.Aseda Aboagye2017-09-212-4/+4
| | | | | | | | | | | | | | | | | | | The keyboard config was the old chrome OS keyboard, but it should be the new one introduced in April of this year. Additionally, change KSO2 inverted to be push-pull instead of open drain. This was causing the entire row to not be detected. BUG=None BRANCH=None TEST=Flash zoombini; Verify that every key on the keyboard is detected. Change-Id: I408739eed84f06bd9a2df5a9053c75859f8aaa0b Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/670061 Commit-Ready: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* zoombini: led: Invert duty cycle.Aseda Aboagye2017-09-211-1/+1
| | | | | | | | | | | | | | | | | The LEDs were on when they were intended to be off. This commit just inverts the duty cycles. BUG=None BRANCH=None TEST=Flash zoombini. Verify all LEDs are off. Plug in battery, verify that Red LED is on. Change-Id: I78e2bce45603fd223ebaeacb024a210c5db70123 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/670060 Commit-Ready: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* zoombini: Change battery i2c bus speed to 100KHz.Aseda Aboagye2017-09-201-1/+1
| | | | | | | | | | | | | BUG=b:65681152 BRANCH=none TEST=flash zoombini; verify that smart battery shows up on i2c bus. Change-Id: Icc38c153b3c140d221e1981cf97dc1ca935d65e2 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/667940 Commit-Ready: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
* zoombini: Change TCPC ports to match schematics.Aseda Aboagye2017-09-202-6/+14
| | | | | | | | | | | | | BUG=None BRANCH=None TEST=Verify that the TCPC ports correspond to the schematic. Change-Id: Ic05448b6144754162ced26993948599930307786 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/665893 Commit-Ready: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* Fizz: add CONFIG_LED_COMMONRyan Zhang2017-09-192-5/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is used for factory test with following command 1. ectool command ectool led power query ectool led power green=100 ectool led power red=100 ectool led power amber=100 ectool led power off ectool led power auto 2. console command led debug >> enter debug mode led green led red led amber led off led debug >> exit debug mode BUG=b:65651340 BRANCH=master TEST=`ectool ...` works good Change-Id: Icb87e479075d90f509d60121a3e1df0afe66d41f Signed-off-by: Ryan Zhang <ryan.zhang@quanta.corp-partner.google.com> Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/666418
* Fizz: Pulse LEDDaisuke Nojiri2017-09-195-31/+101
| | | | | | | | | | | | | | | | This change makes the power LEDs pulse using PWM. S0: solid green. S3: pulsing amber (= mix of green and red) S5: off BUG=b:64975836 BRANCH=none TEST=Verify LED behavior described above on Proto3 Change-Id: I696cf8279dd762236b7b7f000a316820d58916bf Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/669773 Reviewed-by: Aaron Durbin <adurbin@chromium.org>
* scarlet: Disable TRY_SRCPhilip Chen2017-09-191-1/+0
| | | | | | | | | | | | | | | BUG=b:65698085 BRANCH=none TEST=manually on scarlet: Sink: can be charged with PD charger or 'PD charger through USB-C hub' Source: can power a usb stick Change-Id: I7a6541cdc3fdd721ae9529c7dbe422adb0dc3000 Signed-off-by: Philip Chen <philipchen@google.com> Reviewed-on: https://chromium-review.googlesource.com/669904 Commit-Ready: Philip Chen <philipchen@chromium.org> Tested-by: Philip Chen <philipchen@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* zoombini: Fix WWAN macro.Aseda Aboagye2017-09-191-1/+1
| | | | | | | | | | | | | | | | WIRLESS_SWITCH_WWAN *is* the WWAN power switch. This commit simply renames the macro previously defined as WIRELESS_SWITCH_WWAN_POWER. BUG=None BRANCH=None TEST=make -j buildall Change-Id: I3d9b1ea03b31702e73c3400b35ac08ea2c3c9f74 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/666290 Commit-Ready: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* scarlet: Update the battery capacity to 9000mAhPhilip Chen2017-09-191-1/+1
| | | | | | | | | | | | | | BUG=b:65422913 BRANCH=none TEST=manually check capacity from 'battery' ec command Change-Id: I5e19c4498d635d5e30b28a32085d5f9fc96a0a72 Signed-off-by: Philip Chen <philipchen@google.com> Reviewed-on: https://chromium-review.googlesource.com/667816 Commit-Ready: Philip Chen <philipchen@chromium.org> Tested-by: Philip Chen <philipchen@chromium.org> Reviewed-by: David Schneider <dnschneid@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* Fizz: Blink power LED in suspend stateDaisuke Nojiri2017-09-191-4/+13
| | | | | | | | | | BUG=b:37646390 BRANCH=none TEST=Verify green LED blink in S3 on Fizz proto3. Change-Id: I055a271e2bb8fd8454d9940c90d5f71cc9025e50 Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/669772
* Kahlee: Optimize g-sensor settingCloud Lin2017-09-181-4/+2
| | | | | | | | | | | | | | | | Since we only have one g-sensor, leave it in suspend mode. And we only use it when we need it BRANCH=none BUG=b:62029360 TEST=none Signed-off-by: cloud lin <cloud_lin@compal.com> Change-Id: I7ceca0e2b6a4035d6564ac33ab43edeeeca65652 Reviewed-on: https://chromium-review.googlesource.com/643026 Commit-Ready: Daniel Kurtz <djkurtz@chromium.org> Tested-by: Lin Cloud <cloud_lin@compal.com> Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
* hammer: Include hashes in EC image (CONFIG_TOUCHPAD_HASH_FW)Nicolas Boichat2017-09-151-0/+3
| | | | | | | | | | | | | BRANCH=none BUG=b:63993173 TEST=make TOUCHPAD_FW=SA459C-1211_ForGoogleHammer_3.0.bin \ BOARD=hammer -j CQ-DEPEND=CL:641736 Change-Id: Ib9eadfb6be8022f774b770a03480cf8c319a8a5a Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/664501 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* hammer: Support different IC types in touchpad FW updateChun-Ta Lin2017-09-141-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | Some Elan touchpad ICs have a different firmware sizes (48, 56, or 64 KB). We use CONFIG_TOUCHPAD_VIRTUAL_SIZE, set in the board file, to determine the appropriate size, and, at runtime, we sanity check the firmware size according to the IC type reported by the touchpad. BRANCH=none BUG=b:65188846 TEST=Manually modify the CONFIG_TOUCHPAD_VIRTUAL_SIZE in hammer, executed and verified both (1) "EC_ERROR_UNKNOWN" returned (2) ic_type shows 0x09 on EC console TEST=Successfully flashing 48k firmware using CL:658920 on hammer and 56k firmware on staff. With success here, we specifically test with different firmware version and make sure it reflected in hammerd's touchpad info. Change-Id: Ib30917d8376d4a2e8b6137daabad2341ac48d1f8 Signed-off-by: Chun-Ta Lin <itspeter@google.com> Reviewed-on: https://chromium-review.googlesource.com/664937 Commit-Ready: Chun-ta Lin <itspeter@chromium.org> Tested-by: Chun-ta Lin <itspeter@chromium.org> Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
* Fizz: Detect BJ as a power sourceDaisuke Nojiri2017-09-143-7/+17
| | | | | | | | | | | | | | | Proto2 board has the line ADP_IN, which is raised to 2.5 V when a BJ adapter is plugged. This patch makes EC running on proto2 and above use this line to detect the power source at boot (as opposed to proto1 guessing a BJ adapter is plugged if PPVAR_BOOSTIN_SENSE is 19v). BUG=b:37573548 BRANCH=none TEST=Boot proto3 Fizz on BJ and Type-C. Change-Id: I4052a73729d62694ce154bfb33255974dc110841 Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/626879
* zoombini: Add support for sensor i2c bus.Aseda Aboagye2017-09-143-0/+5
| | | | | | | | | | | | | BUG=None BRANCH=None TEST=make -j buildall. Change-Id: I7f79e01fe2d2004a3e9df733852f25bd89033d58 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/666289 Commit-Ready: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* Coral: expose more data to ectoolRyan Zhang2017-09-142-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Servo / Suzy-Q related debugging methods is a big challenge in factory especially after servo debug header is removed. Expose some information to OS from EC will do a great help for massive production. + expose charge/battery related state to ectool 1. chg_ctl_mode 2. manual_mode 3. battery_seems_to_be_dead 4. battery_seems_to_be_disconnected 5. battery_was_removed 6. disch_on_ac (learn mode state) 7. battery DFET BUG=b:65265543 BRANCH=master TEST=`ectool chargestate param x10000~0x20006 get correct state` Change-Id: Ib64ab3c7b68a634ea098425c93e5234361cd1936 Reviewed-on: https://chromium-review.googlesource.com/662318 Commit-Ready: Ryan Zhang <ryan.zhang@quanta.corp-partner.google.com> Tested-by: Ryan Zhang <ryan.zhang@quanta.corp-partner.google.com> Reviewed-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* scarlet: Define VIRTUAL_BATTERY_ADDRPhilip Chen2017-09-121-0/+3
| | | | | | | | | | | | | | | | | This routes sbs host requests to virtual battery driver, even if the board doesn't use a smart battery. BUG=b:65494883 BRANCH=none TEST='power_supply_info' from host console Change-Id: Ie53734b12e9a28ec071d3bf97c9050c0fa075495 Signed-off-by: Philip Chen <philipchen@google.com> Reviewed-on: https://chromium-review.googlesource.com/664359 Commit-Ready: Philip Chen <philipchen@chromium.org> Tested-by: Alexandru M Stan <amstan@chromium.org> Tested-by: Philip Chen <philipchen@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
* Fizz: Give highest priority to dedicated chargersDaisuke Nojiri2017-09-121-1/+1
| | | | | | | | | | | | | | | | | This patch gives the highest priority to dedicated chargers. It means if a dedicated power supply is being connected, other power supplies such as USB-C adapters will not be recognized as a new charger. BUG=b:65059574 BRANCH=none TEST=Boot Fizz on BJ adapter. Verify plugging in Type-C adapter doesn't shut down the system. Change-Id: Ie49b128ae64f917a227f9081148565a3f5356212 Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/655638 Reviewed-by: Shawn N <shawnn@chromium.org>
* Fizz: Refuse PR swap when powered by USB-C portDaisuke Nojiri2017-09-121-1/+5
| | | | | | | | | | | | | | | This patch makes EC refuse PR swap when the system is powered through the USB-C port because switching from SNK to SRC will cause the system to shut down. BUG=b:65481832 BRANCH=none TEST=Boot Fizz on USB-C and BJ. Change-Id: I52c5813adc1ea9b4e69e65599c1794ae43192a1e Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/655643 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
* cleanup: Remove lucid and snoball boardsShawn Nematbakhsh2017-09-1215-1436/+0
| | | | | | | | | | | | | BUG=None TEST=`make buildall -j` BRANCH=None Change-Id: I667e471d4d9187f530da7ae8807c8aa339a17847 Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/663817 Commit-Ready: Shawn N <shawnn@chromium.org> Tested-by: Shawn N <shawnn@chromium.org> Reviewed-by: Mary Ruthven <mruthven@chromium.org>
* Coral: Fix Robo battery names and ship mode dataScott Collyer2017-09-121-5/+5
| | | | | | | | | | | | | | | | | | | | | | | The manufacturer names for the Robo LG and Simplo batteries were incorrect. Both of them had an '/011' which is not actually part of the name. This has been fixed. In addition, the ship mode command needs to be 0x0000 followed by 0x1000, but it was using 0x0000 and 0x0001. BUG=b:64821365 BRANCH=None TEST=manual Tested Celpext, SMP, and LG batteries with EVT systems. Verified that 'cutoff' from EC console and 'ectool batterycuttof' from AP console caused the battery cutoff to take effect. Also verified the manufacturer name from the batteries matched the what's stored in the battery info table. Change-Id: I48369da4d2c6137b50614b003df57a359a49c4f4 Signed-off-by: Scott Collyer <scollyer@google.com> Reviewed-on: https://chromium-review.googlesource.com/662137 Commit-Ready: Aaron Durbin <adurbin@chromium.org> Tested-by: Scott Collyer <scollyer@chromium.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
* hammer: Enable touchpad FW update over USB updaterNicolas Boichat2017-09-121-0/+8
| | | | | | | | | | | | | | | | We use address 0x80000000, which is not mapped to anything in STM32F0 address space. BRANCH=none BUG=b:63993173, b:65188846 TEST=./usb_updater2 -p 144.0_2.0.bin CQ-DEPEND=CL:601814 Change-Id: I9a9044d29ebe058d3792dc984cac4051a005cf8f Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/597468 Commit-Ready: Chun-ta Lin <itspeter@chromium.org> Tested-by: Chun-ta Lin <itspeter@chromium.org>
* EFS: Add support for early firmware selectionDaisuke Nojiri2017-09-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Chromebox ECs performs EFS: verifying firmware before the AP boots. This patch updates host commands which are required for the EFS. The change includes: * Update EC_CMD_FLASH_REGION_INFO to accept EC_FLASH_REGION_UPDATE * Update EC_CMD_VBOOT_HASH to accept EC_VBOOT_HASH_OFFSET_UPDATE When EC_FLASHS_REGION_UPDATE is specified, EC_CMD_FLASH_REGION_INFO returns the slot which currently is not hosting a running RW copy. When EC_VBOOT_HASH_OFFSET_UPDATE is specified, EC_CMD_VBOOT_HASH computs the hash of the update slot. This hash covers the entire region, including the signature at the end. This patch undefines CONFIG_CMD_USBMUX and CONFIG_CMD_TYPEC for gru to create space. BUG=b:65028930 BRANCH=none CQ-DEPEND=CL:648071 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: I9ece907b764d07ce94054ba27996e048c665a80a Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/648448
* soraka: Hibernate on critical battery levelFurquan Shaikh2017-09-111-1/+0
| | | | | | | | | | | | | | | | | | In case of battery cut-off on Soraka, there is a battery requirement that AC power should not be applied for at least 9 seconds after the cut-off is performed. Performing battery cut-off when battery is at critical level results in a bad user experience if the user connects AC power within the 9-second window. Thus, instead of performing a battery cut-off, make the EC hibernate in critical battery conditions. BUG=b:64703097 BRANCH=None TEST=make -j buildall Change-Id: I40827faccd52c8628b69773cb22ccc6ed19915ed Signed-off-by: Furquan Shaikh <furquan@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/656609 Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>