Commit Graph

3582 Commits

Author SHA1 Message Date
Martin Roth
9b7b5460d2 grunt: Disable CONFIG_BRINGUP option
Bringup went well so this this option is no longer needed.

BUG=None
TEST=Build & boot
BRANCH=None

Change-Id: I415161ab77d2a6b1ce59d6773d3cf78176cd1e96
Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://chromium-review.googlesource.com/882182
Commit-Ready: Martin Roth <martinroth@chromium.org>
Tested-by: Martin Roth <martinroth@chromium.org>
Reviewed-by: Justin TerAvest <teravest@chromium.org>
2018-01-26 13:25:47 -08:00
Nicolas Boichat
e5c6f97d1a charge_state_v2: Basic dual-battery charging algorithm
First version of the algorithm, some TODOs are left in the code
but this, generally, works reasonably well.

When charging, we allocate input current in this general order:
 - Base system (fixed, low, number)
 - Lid system (based on PSYS)
 - Lid battery (estimating how much current the battery actually
   requires)
 - Base battery (similar estimation)
 - Provide everything else to lid

When discharging, we generally:
 - First discharge the base battery
 - Then discharge the lid battery

BRANCH=none
BUG=b:71881017
TEST=Flash lux and wand, EC-EC communication works, adapter power
     is split in a sensible way, and discharging works fine.

Change-Id: I8a4f87963962fc5466b2fedf1347eb4dadd35740
Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/659460
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
2018-01-26 13:25:38 -08:00
Nicolas Boichat
ecfa696638 lux: Base detection code
Lux base detection is a little trickier than previous bases,
as the detection levels switch around when GPIO_EC_COMM_PD gets
enabled:
 - When disconnected, low levels (~550mV) mean base got connected,
   and high levels (~3300mV) mean base is still disconnected.
 - When connected, low levels (~43mV) mean base got disconnected,
   and high levels (~2346mV) mean base is still connected.

On reset, when base_status is unknown, we enable GPIO_EC_COMM_PD,
to be able to differentiate between connected and disconnected.

BRANCH=none
BUG=b:67029560
TEST=Connect lux/wand, check that base gets detected correctly.
TEST=Type reboot in EC console, base gets detected as well.

Change-Id: I742def8e378a93c08e2dcc155b06cbca814e7fd8
Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/845543
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
2018-01-26 13:25:38 -08:00
paris_yeh
9c06f2f1c2 coral: Fix default LED table for battery error state
The default behavior for this state is the amber color for 1 second
and then off for 1 seconds. The existing table entry for this state
was incorrect.

BUG=b:70914820
BRANCH=none
TEST=make buildall -j
Signed-off-by: paris_yeh <pyeh@google.com>

Change-Id: I6291121a37905d5f7cdcfe57b3f91d98af370605
Reviewed-on: https://chromium-review.googlesource.com/848757
Commit-Queue: David Huang <David.Huang@quantatw.com>
Tested-by: David Huang <David.Huang@quantatw.com>
Reviewed-by: Scott Collyer <scollyer@chromium.org>
(cherry picked from commit 9377284119d1279c3843f16e9ea8d91d5dc8528f)
Reviewed-on: https://chromium-review.googlesource.com/842345
Commit-Ready: Paris Yeh <pyeh@chromium.org>
Tested-by: Patrick Georgi <pgeorgi@chromium.org>
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
Reviewed-by: Paris Yeh <pyeh@chromium.org>
2018-01-25 22:38:21 -08:00
Benjamin Gordon
f71edad1e7 grunt: Enable LM3630A driver for keyboard backlight
BUG=b:69379749
BRANCH=None
TEST=kblight 100; kblight 50; kblight 0

Change-Id: I003ae1071de0430fe38a48b2e9bccb08207bc019
Signed-off-by: Benjamin Gordon <bmgordon@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/879083
Reviewed-by: Edward Hill <ecgh@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
2018-01-25 19:23:38 -08:00
Benjamin Gordon
73162e60af zoombini: Enable LM3630A driver for keyboard backlight
BUG=b:69379749
BRANCH=None
TEST=kblight 100; kblight 50; kblight 0

Change-Id: I096ed43859e11a7984d9672bfab406f0cb91015f
Signed-off-by: Benjamin Gordon <bmgordon@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/881945
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
2018-01-25 19:23:37 -08:00
Philip Chen
b46496c2d5 nautilus: Fix battery_check_disconnect()
The way Nautilus battery checks the conditions of CHG/DSG FETs
are slightly different from the other smart batteries we use.
So the current implementation of battery_check_disconnect() doesn't work.

BUG=b:69016914
BRANCH=none
TEST=recovery from software-based battery cutoff 10/10

Change-Id: I88de64d8da55f0b57fbdde21d4529435841bdf76
Signed-off-by: Philip Chen <philipchen@google.com>
Reviewed-on: https://chromium-review.googlesource.com/882941
Commit-Ready: Philip Chen <philipchen@chromium.org>
Tested-by: Philip Chen <philipchen@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@chromium.org>
2018-01-25 02:43:22 -08:00
Elmo_Lan
e68469b524 Nami: trigger type of LCD backlight
Modify for low active design.

BUG=b:71839295
BRANCH=none
TEST=Verify Nami LCD backlight turn on.

Change-Id: I26f1e744921da5fa62f5f561fd6d16a76f2c5f4e
Signed-off-by: Elmo_Lan <elmo_lan@compal.corp-partner.google.com>
Reviewed-on: https://chromium-review.googlesource.com/861583
Commit-Ready: Elmo Lan <elmo_lan@compal.corp-partner.google.com>
Tested-by: Elmo Lan <elmo_lan@compal.corp-partner.google.com>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
2018-01-24 20:24:39 -08:00
Daniel Kurtz
8944d0824a grunt: Add CONFIG_VSTORE
Add a slot of secure temporary storage to support suspend/resume.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>

BUG=b:72188897
TEST=On grunt w/ S3-enabled coreboot:
  powerd_dbus_suspend --wakeup_timeout=10
 => Device resumes throught coreboot to kernel
BRANCH=none

Change-Id: I37410a3e66fc6eee32e559069a33e904880cddc9
Reviewed-on: https://chromium-review.googlesource.com/875418
Commit-Ready: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Edward Hill <ecgh@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
Reviewed-by: Justin TerAvest <teravest@chromium.org>
2018-01-24 20:24:38 -08:00
CHLin
65cc83f780 npcx7_evb: Define BOARD_VERSION for different npcx7 EVBs
There are two versions of npcx7 EVB. This CL adds the definition
BOARD_VERSION (default is 2) in board.h. So we can include different
features or set CONFIG_* flags based on the value of BOARD_VERSION to
meet the default HW configuration of npcx7 EVBs.

BRANCH=none
BUG=none
TEST=No build errors for make buildall.
TEST=Change BOARD_VERSION to 1/2; "BOARD=npcx7_evb make";
Flash the image on EVB 1/2; make sure the EVBs bootup.

Change-Id: Id4556f702af8c26778a649addde7cf490b5301fc
Signed-off-by: CHLin <CHLIN56@nuvoton.com>
Reviewed-on: https://chromium-review.googlesource.com/873510
Commit-Ready: CH Lin <chlin56@nuvoton.com>
Tested-by: CH Lin <chlin56@nuvoton.com>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Reviewed-by: Shawn N <shawnn@chromium.org>
2018-01-24 04:36:36 -08:00
Jongpil Jung
b58ceaca34 nautilus: set default level for USB_POWERON
To eanble USB power, USB_POWERON_L should be low.
Default is high. So, turn off USB.
Power On(Low) : chipset startup
Power Off(High) : chipset shutdown

BUG=b:72202322
BRANCH=master
TEST=emerge-nautilus chromeos-ec
     flash ec and check if PIN stay low after power on.

Change-Id: I9ab617b72f10645fb2dce7005ddeeb023c67605d
Signed-off-by: Jongpil Jung <jongpil19.jung@samsung.com>
Reviewed-on: https://chromium-review.googlesource.com/872810
Commit-Ready: Jongpil Jung <jongpil19.jung@samsung.corp-partner.google.com>
Tested-by: Jongpil Jung <jongpil19.jung@samsung.corp-partner.google.com>
Reviewed-by: Shawn N <shawnn@chromium.org>
2018-01-23 20:18:29 -08:00
Philip Chen
163ba57cc2 scarlet: Assert SYS_RST_L in S5
To support CR50 deep sleep mode:
In up-sequence, SYS_RST_L needs to remain asserted on the transition
to S5 and then deasserted on the transition to S0;
In down-sequence, SYS_RST_L needs to be asserted on the transition to S5.

This only affects Scarlet.

BUG=b:35647982
BRANCH=none
TEST=minitor SYS_RST_L pin to confirm it is toggled right

Change-Id: Ic73d39c531f9d28b2087a23d58613e98ec80dbd2
Signed-off-by: Philip Chen <philipchen@google.com>
Reviewed-on: https://chromium-review.googlesource.com/866115
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>
2018-01-23 20:18:28 -08:00
Edward Hill
bd9d0d054b grunt: Move TCPC init to init hook
All init hooks complete before tasks are started (since
crrev.com/c/456628), so board_tcpc_init will finish before
the PD tasks start.

Using the init hook instead of CONFIG_USB_PD_TCPC_BOARD_INIT
avoids the problem of board_tcpc_init being called by every
PD task.

BUG=b:72229154
BRANCH=none
TEST=PD still works on grunt,
     board_tcpc_init is only called once,
     PD task init happens after board_tcpc_init finishes

Change-Id: Ie1263dffce06e9ea2433cc2d08d1537e4a891d40
Signed-off-by: Edward Hill <ecgh@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/879358
Commit-Ready: Shawn N <shawnn@chromium.org>
Tested-by: Shawn N <shawnn@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
Reviewed-by: Shawn N <shawnn@chromium.org>
2018-01-23 17:41:45 -08:00
Vincent Palatin
adeb276aa6 eve_fp: remove board
fp is dead, long life to fp.

Signed-off-by: Vincent Palatin <vpalatin@chromium.org>

BRANCH=none
BUG=b:72360575
TEST=make buildall

Change-Id: Idccb953044018e24d14b6ef1dbf69766fb9b58ab
Reviewed-on: https://chromium-review.googlesource.com/880954
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Shawn N <shawnn@chromium.org>
2018-01-23 17:41:42 -08:00
Benjamin Gordon
04a9dfe645 zoombini: Add support for I2C bus 4
This is used by the keyboard backlight driver.  Add support so we can
start talking to this chip.

BUG=b:69379749
BRANCH=none
TEST=i2cscan shows a device at 0x6c on bus 4 now

Change-Id: I951ecd0fa3030f9f408ed0a4504b54950b7ca174
Signed-off-by: Benjamin Gordon <bmgordon@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/879081
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
2018-01-23 11:24:21 -08:00
Philip Chen
5bdc0e2298 nautilus: Remove WLAN_PE_RST
We don't use GPIO12 anymore.

BUG=b:72334658
BRANCH=none
TEST=build Nautilus

Change-Id: I0f407caf708040a7ee132fd0993d20b5a0b7bb7a
Signed-off-by: Philip Chen <philipchen@google.com>
Reviewed-on: https://chromium-review.googlesource.com/879783
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Philip Chen <philipchen@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Shawn N <shawnn@chromium.org>
2018-01-23 11:24:19 -08:00
Daisuke Nojiri
a70227296b Fizz: Remove board_has_working_reset_flags
This function is no longer used because proto0 boards have been
deprecated. This function is called before I2C is initialized.
This function tries to read board info and causes watchdog to
trigger because timeout is set to zero.

BUG=none
BRANCH=none
TEST=boot Fizz. reboot by 'reboot ap-off'. Observe no watchdog reset.

Change-Id: I3bdebe4fb34dbef552fc89a170efa87d753078c0
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/879355
Reviewed-by: Randall Spangler <rspangler@chromium.org>
2018-01-22 22:07:25 -08:00
Philip Chen
632043a544 scarlet: Fix ADC unit conversion
To detect the board version correctly, ADC must output mV.

BUG=b:72233188
BRANCH=none
TEST='version' command shows correct board version.

Change-Id: I68889092719240394f03cb9b21cb0844feb315e5
Signed-off-by: Philip Chen <philipchen@google.com>
Reviewed-on: https://chromium-review.googlesource.com/879491
Commit-Ready: Philip Chen <philipchen@chromium.org>
Tested-by: Philip Chen <philipchen@chromium.org>
Reviewed-by: Shawn N <shawnn@chromium.org>
2018-01-22 22:07:19 -08:00
Daisuke Nojiri
c06d7fea8f host_command: Suppress individual host command debug log
Host command handler prints every single host command except when
commands are repeated back-to-back. This patch allows each board
decide which commands should be ignored. When debug printf is
suppressed, a global counter is incremented. Developers know there
were commands processed but not reported to the console.

BUG=chromium:803955
BRANCH=none
TEST=Observe 0x97 and 0x98 were not printed. Global suppress
counter is incremented.

Change-Id: I05e8cde9039f602e8fc06c20e89b328e797bd733
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/876952
Reviewed-by: Randall Spangler <rspangler@chromium.org>
2018-01-22 18:50:11 -08:00
Nicolas Boichat
d9f4ce13f2 touchpad_elan: Add retry logic if the touchpad does not respond
After 3 tries, the touchpad is reset by power-cycling it.

BRANCH=none
BUG=b:71688150
TEST=Short SDA/SCL lines, press on touchpad, see that touchpad tasks
     retries transaction, and then resets the touchpad power.
TEST=Do ESD discharge, and see that touchpad always recovers.

Change-Id: If0b5eb936d4d2feb3d34a7ec8748869a1b915c34
Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/872131
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
2018-01-21 22:20:48 -08:00
Nicolas Boichat
667a35bb9c poppy/nautilus: Enable ACCELGYRO3_INT_L BMI160 interrupts
BRANCH=none
BUG=b:69656838
TEST=Flash soraka, AIDA64 works fine

Change-Id: I98443f3aee8605fbc9b5080cda83ac2b42ba8cd8
Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/869550
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
2018-01-21 22:20:48 -08:00
Edward Hill
8b51215355 grunt: Enable TCPC/PPC interrupts in board_tcpc_init
Move enable of TCPC and PPC interrupts from board_init to
board_tcpc_init so they are enabled after the PD tasks have
been initialized.

BUG=b:69378796
BRANCH=none
TEST=PD still works on both ports

Change-Id: Ia6c91e78d95f126b9049994f8f0568ac2e4cec4f
Signed-off-by: Edward Hill <ecgh@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/876642
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
2018-01-19 20:35:47 -08:00
Edward Hill
dfda7899b7 grunt: Add USB-C DP Hotplug Detect GPIOs
Grunt HW has these driven from EC to SOC, unlike coral which had
the TCPCs drive the HPD signals to SOC.

BUG=b:71810897
BRANCH=none
TEST=external display works if GPIOs set high on EC console

Change-Id: I40d794cccfdbb46f42642ea1410d75e2281028a1
Signed-off-by: Edward Hill <ecgh@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/867235
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2018-01-19 20:35:46 -08:00
Philip Chen
741a814690 scarlet: Update the charging current for Simplo battery
Simplo updated the datesheet and limited the charging current to 3A.

BUG=b:70820167
BRANCH=none
TEST=none

Change-Id: I88b9e0ac3ebba401530e2bb6ae08438c56d8506e
Signed-off-by: Philip Chen <philipchen@google.com>
Reviewed-on: https://chromium-review.googlesource.com/875145
Commit-Ready: Philip Chen <philipchen@chromium.org>
Tested-by: Philip Chen <philipchen@chromium.org>
Reviewed-by: Shawn N <shawnn@chromium.org>
2018-01-19 17:18:09 -08:00
Simon Glass
c7040bf38a grunt: Add PWMs for battery / charger LEDs
Connect these up so that we can test the hardware.

BUG=b:71902053
BRANCH=none
TEST=manually on EC:
> pwm
PWM channels:
  0: 0%
  1: 100%
  2: 100%
> pwm 1 50
Setting channel 1 to 50
  1: 50%
> pwm 2 50
Setting channel 2 to 50
  2: 50%
> pwm 1 10
Setting channel 1 to 10
  1: 10%

See that the colours changes orange/blue

Change-Id: I9bc3f4c0eb033f58d7bfe524ba99f8dd2e177eef
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/865101
Reviewed-by: Edward Hill <ecgh@chromium.org>
2018-01-18 20:18:16 -08:00
Jett Rink
f02c8c4c87 grunt: Enabling backlight lid control module
Enabling backlight control module with active low mode enabled.

BUG=b:72007261
BRANCH=none
TEST=Booted grunt board and verified lid sensor toggles backlight

Change-Id: I14a6eec01c4cda6fcb4b821b9a4b6f266b8fe78b
Signed-off-by: Jett Rink <jettrink@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/872234
Reviewed-by: Edward Hill <ecgh@chromium.org>
2018-01-18 17:40:53 -08:00
Philip Chen
bffb196a07 scarlet: Use TCPC to detect if AC is present
After VBUS is up, there is a delay of ~500ms for rt946x to determine
'VBUS is ready'.
But we need charger_task to detect AC presence and then set a proper
sleep time immediately.
When using fusb302 to detect VBUS, I almost don't see any delay.

BUG=b:71520398
BRANCH=none
TEST=Confirm BATTERY LED turns on immediately when AC is
plugged in a Scarlet in G3.

Change-Id: If1d6d40081b5822eeb9e012115f8deef172def37
Signed-off-by: Philip Chen <philipchen@google.com>
Reviewed-on: https://chromium-review.googlesource.com/869420
Commit-Ready: Philip Chen <philipchen@chromium.org>
Tested-by: Philip Chen <philipchen@chromium.org>
Reviewed-by: Philip Chen <philipchen@chromium.org>
Reviewed-by: Shawn N <shawnn@chromium.org>
2018-01-18 17:40:46 -08:00
Simon Glass
60bbe1ca75 grunt: Add support for I2C bus 5
This is used by the keyboard backlight driver. Add support for it so we
can use this chip.

BUG=b:69379749
BRANCH=none
TEST=manual:
boot AP
gpioset KB_BL_EN 1
i2cscan
See that bus 5 shows 0x6c now

Change-Id: I37dd497688f7d280119bf2a226e23bee35063e0c
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/871135
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Edward Hill <ecgh@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
2018-01-18 19:05:37 +00:00
Daisuke Nojiri
6e3e0f87b1 CBI: Read board info from EEPROM
This patch adds Cros Board Info APIs. It reads board info from EEPROM.
This patch sets CONFIG_CBI for Fizz to make it use CBI.

BUG=b:70294260
BRANCH=none
TEST=Read data from EEPROM.

Change-Id: I7eb4323188817d46b0450f1d65ac34d1b7e4e220
Reviewed-on: https://chromium-review.googlesource.com/707741
Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org>
Tested-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
2018-01-18 05:09:29 -08:00
Mary Ruthven
7b5b83055c cr50:ap_state: reenable detect ap on interrupt
ap_state doesn't disable/enable the detect ap interrupt correctly. This
means cr50 is mostly just polling the AP state. Cr50 may not realize the
AP is up until almost a second after it first turned on. This change
reenables the detect ap on interrupt while debouncing the AP state or if
Cr50 thinks the AP is off, so cr50 can more quickly detect the
transition from off to on.

This issue doesn't affect devices that detect the AP with TPM_RST_L,
because we never disable the TPM_RST_L interrupt and that handler calls
ap_on_deferred directly.

BUG=b:71866206
BRANCH=cr50
TEST=run power_state:rec on Dru and make sure there are no tpm irq
timeouts.

Change-Id: I67388f9dce94fb22efe5755a0de563e5af42f8f5
Signed-off-by: Mary Ruthven <mruthven@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/869410
Reviewed-by: Randall Spangler <rspangler@chromium.org>
2018-01-17 06:20:39 -08:00
Vincent Palatin
c10a631026 meowth_fp: add flashing script
Simple shell to flash the FP MCU firmware from the AP through the STM32
DFU mode (over the SPI interface).

Signed-off-by: Vincent Palatin <vpalatin@chromium.org>

BRANCH=none
BUG=b:71986991, b:36125319
TEST=run flash_fp_mcu on Meowth and see a new FP MCU is flashed

Change-Id: I99af754b3ed4916ee04a800859f1b28feb640de1
Reviewed-on: https://chromium-review.googlesource.com/866840
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
2018-01-17 06:20:38 -08:00
Shamile Khan
0348eb1059 glkrvp: Enable eSPI instead of LPC including eSPI VW based SCI/SMI
BUG=None
BRANCH=None
TEST=GLKRVP can boot to OS when a coreboot image with eSPI
     enabled is flashed.

Change-Id: Ia534bdbbe517c53ba2e0beafc41b421872f1e33d
Signed-off-by: Shamile Khan <shamile.khan@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/818196
Commit-Ready: Vijay P Hiremath <vijay.p.hiremath@intel.com>
Reviewed-by: Vijay P Hiremath <vijay.p.hiremath@intel.com>
Reviewed-by: Shawn N <shawnn@chromium.org>
2018-01-16 21:26:27 -08:00
Ruben Rodriguez Buchillon
51e9e69f38 power: introducing pwr_avg console command
pwr_avg provides an average voltage, current, and power over the last
1 minute. It's up to the battery drivers to implement this
functionality.
This change allows us to have better power tracking while minimizing
the power impact on the EC, because
- the pwr_avg command only needs to be called once every minute, and is
short, thus less expensive to parse on ECs without a UART buffer
- the work done to keep the avg is partially done by the batteries
already and it's just a question of retrieving it.

undefined on wheatley since no power debugging planned on that board.

usage:
> pwr_avg
mv = 7153
ma = -605
mw = -4327

BUG=chromium:752320
BRANCH=None
TEST=make buildall -j

Change-Id: Id1a3479d277aedf90dfa965afb4ee9136654b1cf
Signed-off-by: Ruben Rodriguez Buchillon <coconutruben@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/823884
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
2018-01-16 04:08:26 -08:00
Edward Hill
be1f97a255 grunt: Enable TCPC + PPC interrupts and overcurrent GPIOs
BUG=b:69378796
BRANCH=none
TEST=PD still works on both ports

Change-Id: I6c9d378483d141db821da2a717cf1256099b01ec
Signed-off-by: Edward Hill <ecgh@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/867234
Reviewed-by: Aaron Durbin <adurbin@google.com>
2018-01-16 01:26:15 -08:00
Edward Hill
7f1bb54c10 grunt: Set source current limit to enable 3A output
Call ppc_set_vbus_source_current_limit to enable 3A output.

BUG=b:69378796
BRANCH=none
TEST=connect PD sink and see 5V 3A on both ports

Change-Id: Ia38ebcb3b1b3d1148a00b3050fcda2bd2cf73af5
Signed-off-by: Edward Hill <ecgh@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/866158
Reviewed-by: Justin TerAvest <teravest@chromium.org>
2018-01-16 01:26:15 -08:00
Edward Hill
76bd681c8f grunt: Don't return error when disabling all charge ports
charge_manager_refresh() asserts that
board_set_active_charge_port(CHARGE_PORT_NONE) returns EC_SUCCESS,
so if port 1 on Grunt's daughter board is disconnected, the EC
gets stuck in an assert crash loop. Just printing the error and
continuing seems like a better way to handle the missing port.

BUG=b:71955904
BRANCH=none
TEST=grunt with no daughter board doesn't assert

Change-Id: I8a0f79e45c7b564794498cfc41bcc4acd8fd231f
Signed-off-by: Edward Hill <ecgh@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/866214
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Justin TerAvest <teravest@chromium.org>
2018-01-16 01:26:15 -08:00
YB.Ha
67ae6eb9b0 nautilus: support BC1.2 on USB Type-A port
support BC1.2 on USB Type-A port

BUG=b:71775046
BRANCH=none
TEST=build/flash nautilus

Change-Id: Iff9e95d06c0498d8f093d508bc50a0754e973c37
Reviewed-on: https://chromium-review.googlesource.com/858979
Commit-Ready: YongBeum Ha <ybha@samsung.com>
Tested-by: YongBeum Ha <ybha@samsung.com>
Reviewed-by: Shawn N <shawnn@chromium.org>
2018-01-15 20:31:57 -08:00
Nicolas Boichat
eaaf890188 wand: Enable CONFIG_CHARGE_RAMP_HW
Enable ramping by default. Follow-up CL will have EC-EC master tell
the slave if it's necessary to ramp.

BRANCH=none
BUG=b:71840796
TEST=lux fully charged, in S0ix, wand connected. Connect old
     BC1.2 charger, see that the charger is not browning out anymore.

Change-Id: I5f1052257db4c581bcb700c7f0306f14f792ea03
Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/863349
Reviewed-by: Shawn N <shawnn@chromium.org>
2018-01-14 18:38:31 -08:00
Edward Hill
66bc9c1082 grunt: Fix ENABLE_BACKLIGHT to be active low
BUG=b:71806495
BRANCH=none
TEST=backlight turns on in S0

Change-Id: Ib9271d6cbe9befdf4ed492a9c2b676452e5f4d9b
Signed-off-by: Edward Hill <ecgh@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/865155
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Justin TerAvest <teravest@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
2018-01-14 18:38:27 -08:00
Edward Hill
ad59381ca3 grunt: Enable BMI160 gyro interrupts
Setup bmi160_interrupt and enable in board_init.

BUG=b:69379621
BRANCH=none
TEST=none

Change-Id: I80d08146367af0b91d8d9ac1495c85fe8edd0203
Signed-off-by: Edward Hill <ecgh@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/864827
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
2018-01-14 18:38:27 -08:00
Edward Hill
dd404f34d5 grunt: Add CONFIG_VBOOT_HASH
The vboot hash calculation needs to be enabled for EC software sync.

BUG=b:64935726
BRANCH=none
TEST=see hash on console

Change-Id: I2d26ef997fc9ed803e80cc716a518a2834632269
Signed-off-by: Edward Hill <ecgh@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/864826
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@google.com>
2018-01-14 06:23:22 -08:00
Ege Mihmanli
0765c05d33 rainier: final fix for accel orientation.
Rainier has landscape orientation and last patch was 90 degrees off in
its base rotation value.

BUG=b:71753415
TEST=Flash ec on rainier and tilt device.
BRANCH=None

Signed-off-by: Ege Mihmanli <egemih@google.com>
Change-Id: I1d0837b2391ec4d0051c6c9af984d801264fe64c
Reviewed-on: https://chromium-review.googlesource.com/865803
Reviewed-by: Shawn N <shawnn@chromium.org>
2018-01-12 22:37:52 -08:00
Aseda Aboagye
6efe929ecc meowth: zoombini: Check for battery disconnect.
This commit enables support for reviving a battery from disconnect while
also providing the code to detect if the batteries are disconnected or
not.  The disconnection code behaves similarly to some other battery
packs used in Chromebooks.

BUG=b:71515229
BRANCH=None
TEST=Flash zoombini; cut off battery; apply AC and verify that we do not
leave safe mode until the battery is no longer "disconnected".
TEST=Repeat above test for meowth.
TEST=Cutoff the battery and apply AC and verify that board wakes up from
cutoff.

Change-Id: I52fe91bd6522901671ad5a302bfa0ca27e5f5aa0
Signed-off-by: Aseda Aboagye <aaboagye@google.com>
Reviewed-on: https://chromium-review.googlesource.com/864830
Commit-Ready: Aseda Aboagye <aaboagye@chromium.org>
Tested-by: Aseda Aboagye <aaboagye@chromium.org>
Reviewed-by: Shawn N <shawnn@chromium.org>
2018-01-12 17:12:35 -08:00
Simon Glass
2bd336f1d2 grunt: Add I2C support for the BMI160
We need to enable I2C_PORT_ACCEL so that the driver supports I2C
transfers.

BUG=b:71877225
BRANCH=none
TEST=On EC console:
> accelinit 1
> accelread 1
With this CL we avoid an error

Change-Id: I9b7018ef9615992d91fbf8685832ff73c3cc1172
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/863206
Reviewed-by: Edward Hill <ecgh@chromium.org>
2018-01-12 14:31:21 -08:00
Simon Glass
9802a28f19 grunt: Enable the CPU temperature sensor
Set this up so we can measure the CPU temperature.

BUG=b:71868256
BRANCH=none
TEST=on EC:
> temps
  Charger             : 312 K = 39 C
  SOC                 : 321 K = 48 C
  CPU                 : 331 K = 58 C

CPU shows 58 C (which seems a lot cooler than it actually is)

Change-Id: Ia625e36b95a566aa436eff751c2ebf5863d984ad
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/862885
Reviewed-by: Edward Hill <ecgh@chromium.org>
Reviewed-by: Justin TerAvest <teravest@chromium.org>
2018-01-12 14:31:13 -08:00
Edward Hill
cb8c632801 grunt: rename volume GPIOs
BUG=b:64935726
BRANCH=none
TEST=press volume buttons, see console messages

Change-Id: I327a166e05bd815acc66d2f6e30fe8ae9d6d1cce
Signed-off-by: Edward Hill <ecgh@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/864825
Reviewed-by: Simon Glass <sjg@chromium.org>
2018-01-12 14:31:09 -08:00
Vincent Palatin
f77552abc4 meowth_fp: enable the hostcmd interface
Use the SPI1 controller as the host command slave interface.

Signed-off-by: Vincent Palatin <vpalatin@chromium.org>

BRANCH=none
BUG=b:67081508
TEST=On reworked Meowth board with ZerbleBarn connected to the PCH SPI
bus, use to the kernel cros_ec interface to communicate with the MCU.

Change-Id: Ia7bdc72677cda2752a0849266282d2a779980152
Reviewed-on: https://chromium-review.googlesource.com/860933
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Shawn N <shawnn@chromium.org>
2018-01-12 14:31:07 -08:00
Elmo_Lan
bb1c9631d2 Nami: Update WiFi pin define
Made gpio.inc match the schematic.

BUG=b:71693050
BRANCH=none
TEST=Verify Nami connect Wifi.

Change-Id: I72268e507c026bdec517660d6e106ea5639eff64
Signed-off-by: Elmo_Lan <elmo_lan@compal.corp-partner.google.com>
Reviewed-on: https://chromium-review.googlesource.com/856377
Commit-Ready: Jeremy Lin <jeremy.p.lin@intel.com>
Tested-by: Elmo Lan <elmo_lan@compal.corp-partner.google.com>
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Elmo Lan <elmo_lan@compal.corp-partner.google.com>
2018-01-11 22:22:54 -08:00
Ege Mihmanli
641f73185f board: rainier: fix accel orientation
Rainier has landscape orientation, therefore needs its accelerometer
base values adjusted.

BUG=b:71753415
TEST=Rotate rainier and make sure screen orientation is not off by 90
degrees.
BRANCH=None

Signed-off-by: Ege Mihmanli <egemih@google.com>
Change-Id: I60b49e717c691e34a39e817d2c064ea45b8d53d7
Reviewed-on: https://chromium-review.googlesource.com/862733
Reviewed-by: Shawn N <shawnn@chromium.org>
2018-01-11 22:22:51 -08:00
Jett Rink
bdddd6fc18 grunt: Lowering I2C bus speed to 400kHz for TCPC chips
The ANX3429QN-AA-R I2C bus cannot operate above 400kHz without
first setting register 0x3 to 0x48. We can just lower the bus
to 400kHz without having to set any registers and everything
works as expected.

BUG=b:71810830
BRANCH=none
TEST=Booted grunt with new firmware and p0 TCPC communicates
with EC successfully

Change-Id: I98e3c1a4844e1a79d23f8478fdf97ada72ad1c7d
Signed-off-by: Jett Rink <jettrink@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/862543
Reviewed-by: Edward Hill <ecgh@chromium.org>
2018-01-11 19:37:40 -08:00