| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Change-Id: I0f03f432ada1064ffba9595be78ca7ab4d25ecd1
Signed-off-by: Brian Norris <briannorris@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3155071
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
Owners-Override: Jora Jacobi <jora@google.com>
Tested-by: Jack Rosenthal <jrosenth@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now gsctool can print out GSC board ID in a machine-friendly way. This
allows other programs (e.g., debugd) to parse the output.
This is the final CL that adds machine output support to gsctool during
verify_ro migration.
BRANCH=none
BUG=None
TEST=manually run gsctool -M -i and gsctool -O verify_ro.db -M on a soraka
device connected with a naultilus and check the board ID part in the
outputs. Sample output (the board ID part is identical in the outputs
of both commands):
BID_TYPE=5a534b4d
BID_TYPE_INV=a5acb4b2
BID_FLAGS=00007f80
Signed-off-by: Wei-Cheng Xiao <garryxiao@chromium.org>
Change-Id: Ia275806672c08841c5b5fcc7758d8e0c777b3fc9
Reviewed-on: https://chromium-review.googlesource.com/1286312
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Wei-Cheng Xiao <garryxiao@chromium.org>
Reviewed-by: Andrey Pronin <apronin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2648132
Reviewed-by: Cheng-Han Yang <chenghan@chromium.org>
Tested-by: Cheng-Han Yang <chenghan@chromium.org>
Commit-Queue: Cheng-Han Yang <chenghan@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now can print out FW versions and board ID in the image in a
machine-friendly way. This allows other programs (e.g., debugd) to parse
the output.
Add equality check to the firmware versions and board IDs in slot A and B.
Now gsctool prints out an error message to stdout if the contents do not
match; otherwise, it prints out only one copy of the contents instead of
two.
Sample runs:
$ gsctool -b cr50.bin.prod
RO_A:0.0.10 RW_A:0.3.10[ABCD:00000000:00000000]
$ gsctool -b cr50.bin.prod -M
IMAGE_RO_FW_VER=0.0.10
IMAGE_RW_FW_VER=0.3.10
IMAGE_BID_STRING=ABCD
IMAGE_BID_MASK=00000000
IMAGE_BID_FLAGS=00000000
BRANCH=none
BUG=None
TEST=manually run gsctool -M -b cr50.bin.prod and gsctool -b cr50.bin.prod
on a soraka device connected with a naultilus. Outputs are as the
examples above.
Signed-off-by: Wei-Cheng Xiao <garryxiao@chromium.org>
Change-Id: I1c4c5110fe236debb93b3db118abb4c922b98bdf
Reviewed-on: https://chromium-review.googlesource.com/1278414
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Wei-Cheng Xiao <garryxiao@chromium.org>
Reviewed-by: Andrey Pronin <apronin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2648131
Reviewed-by: Cheng-Han Yang <chenghan@chromium.org>
Tested-by: Cheng-Han Yang <chenghan@chromium.org>
Commit-Queue: Cheng-Han Yang <chenghan@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the option's support to remote firmware version output (-f).
This allows other programs (e.g., debugd) to parse gsctool outputs without
worrying about any future updates on current human-readable outputs.
BRANCH=none
BUG=None
TEST=manually run gsctool -f -M on a soraka device connected with a
nautilus. Sample output:
RO_FW_VER=0.0.10
RW_FW_VER=0.3.10
Signed-off-by: Wei-Cheng Xiao <garryxiao@chromium.org>
Change-Id: Ic6514a191b379d05acf2656e5e395d82086d93cd
Reviewed-on: https://chromium-review.googlesource.com/1278073
Reviewed-by: Andrey Pronin <apronin@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2648130
Reviewed-by: Cheng-Han Yang <chenghan@chromium.org>
Tested-by: Cheng-Han Yang <chenghan@chromium.org>
Commit-Queue: Cheng-Han Yang <chenghan@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When doing RMA reset and the auth code is rejected, gsctool only reports
the error code, which is not clear for the user. This CL adds the
failure reason to make the message clearer.
BUG=b:128801501
TEST=make gsctool; manually test on DUT
BRANCH=none
[Before fix]
localhost $ gsctool -a -r "A"
rma unlock failed, code 1
Processing response...
localhost $ gsctool -a -r "ABCDEFGH"
rma unlock failed, code 6
Processing response...
[After fix]
localhost $ gsctool -a -r "A"
Processing response...
rma unlock failed, code 1 (wrong authcode size)
localhost $ gsctool -a -r "ABCDEFGH"
Processing response...
rma unlock failed, code 6 (authcode mismatch)
Change-Id: I5db4d8f7cffe5b582f48fdc3b7fb27493b3715ff
Signed-off-by: Cheng-Han Yang <chenghan@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1527905
Commit-Ready: Cheng-Han Yang <chenghan@chromium.org>
Tested-by: Cheng-Han Yang <chenghan@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1616886
Reviewed-by: Cheng-Han Yang <chenghan@chromium.org>
Commit-Queue: Cheng-Han Yang <chenghan@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2648129
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the case where there are no templates to match against, we now return
EC_MKBP_FP_ERR_MATCH_NO_TEMPLATES to distinguish between other error
cases.
BRANCH=nocturne
BUG=b:120305002
TEST=enroll and unlock with updated firmware and biod
TEST=delete enrolled fingerprint and verify logs when touching sensor
Change-Id: If0d37d0cdb0792254b89814ac473fb6d1830f3cb
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1361814
Reviewed-by: Nicolas Norvez <norvez@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1557843
Tested-by: Yong Hong <yhong@google.com>
Commit-Queue: Yong Hong <yhong@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- wrap headers in 'extern "C"'
- use relative path to #include
BRANCH=None
BUG=chromium:889250
TEST=make buildall -j
TEST=emerge-nocturne ec-utils
Change-Id: I67d8ba88edf77f72bd54500eff169537ffb6257f
Signed-off-by: Nicolas Norvez <norvez@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1338599
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1557842
Tested-by: Yong Hong <yhong@google.com>
Commit-Queue: Yong Hong <yhong@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move it to ec_commands.h so it's accessible to tools.
BRANCH=nocturne
BUG=b:73337313
TEST=make BOARD=nocturne_fp -j
Change-Id: Ib7eecee599dde2d755357c2543ad860b64258f3f
Signed-off-by: Nicolas Norvez <norvez@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1316706
Reviewed-by: Prashant Malani <pmalani@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1557841
Tested-by: Yong Hong <yhong@google.com>
Commit-Queue: Yong Hong <yhong@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make the encryption key also depend on data held by the TPM. Append that
seed to the anti-rollback IKM and feed that to HKDF-Extract when
deriving the encryption key.
The seed must be set once, and can't be overwritten.
Bump the template format version to 3, since it's not compatible with
previously enrolled templates.
Also add the corresponding command to ectool (fpseed).
BRANCH=nocturne
BUG=b:117909326
TEST=upload templates without having set a seed -> fails as expected
TEST=enroll finger without having set a seed -> fails as expected
TEST=set a seed twice -> 2nd time fails as expected
TEST=set seed, enroll finger -> success.
TEST=upload templates after having set the seed -> success.
TEST=set a different seed, upload templates -> fails as expected
TEST=reboot EC, reset original seed, upload templates -> success
TEST=load templates enrolled with format version=2 -> fails as expected
Change-Id: I64fd99f9d317d1fcab4a58a679be64cf8a425b00
Signed-off-by: Nicolas Norvez <norvez@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1309050
Reviewed-by: Adam Langley <agl@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1557840
Tested-by: Yong Hong <yhong@google.com>
Commit-Queue: Yong Hong <yhong@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUILD_ASSERT can only be used for declarative code, add a macro to check
if a condition resolved at build time is true or not.
Take advantage of compiler detection of division by zero error message.
[-Werror=div-by-zero]
BUG=none
BRANCH=eve,nocturne
TEST=compile, check error is detected when condition is not true.
Change-Id: I4ab1ad4ae516c00c9e30e778dd81f18893ef1673
Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1283969
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1557839
Commit-Queue: Yong Hong <yhong@google.com>
Tested-by: Yong Hong <yhong@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update the "reset_sensor" option of the FP_MODE EC command to actually
reset the FP sensor. A reset_sensor is essentially the same as performing
a re-initialization of the sensor, so this amounts to calling
fp_sensor_init() again.
BUG=b:110805729
BRANCH=nocturne
TEST=Run updated biod and inspect cros_fp.log to ensure that the sensor
reinitialization code runs after login.
Change-Id: Ib639b64089368b38db154da4a99d4def70c48229
Signed-off-by: Prashant Malani <pmalani@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1239623
Commit-Ready: Nicolas Norvez <norvez@chromium.org>
Tested-by: Nicolas Norvez <norvez@chromium.org>
Reviewed-by: Nicolas Norvez <norvez@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1557838
Tested-by: Yong Hong <yhong@google.com>
Commit-Queue: Yong Hong <yhong@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- More thorough validation of the arguments passed to host commands.
- Remove obsolete EC_CMD_FP_SENSOR_CONFIG host command.
- Some console commands can't be used on locked systems.
BRANCH=nocturne
BUG=b:116065496
TEST=enroll finger
TEST=unlock with finger
TEST=Capture
ectool --name=cros_fp fpmode capture vendor;
ectool --name=cros_fp waitevent 5 10000;
ectool --name=cros_fp fpframe raw > /tmp/fp.raw
/usr/local/opt/fpc/fputils.py --png /tmp/fp.raw
TEST=MQT
ectool --name=cros_fp fpmode capture qual;
ectool --name=cros_fp waitevent 5 10000;
ectool --name=cros_fp fpframe raw > /tmp/fp.raw;
/usr/local/opt/fpc/fputils.py --mqt /tmp/fp.raw
TEST=Reset_pixel
ectool --name=cros_fp fpmode capture test_reset;
ectool --name=cros_fp fpframe > /tmp/test_reset.pnm
TEST=Checkerboard
ectool --name=cros_fp fpmode capture pattern0;
ectool --name=cros_fp waitevent 5 500;
ectool --name=cros_fp fpframe > /tmp/pattern0.pnm
ectool --name=cros_fp fpmode capture pattern1;
ectool --name=cros_fp waitevent 5 500;
ectool --name=cros_fp fpframe > /tmp/pattern1.pnm
Change-Id: I3c9aa4749ffd77c73f8ca52cddbcc0e8ca6ae48c
Signed-off-by: Nicolas Norvez <norvez@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1239247
Commit-Ready: Nicolas Boichat <drinkcat@chromium.org>
Tested-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1557837
Commit-Queue: Yong Hong <yhong@google.com>
Tested-by: Yong Hong <yhong@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The first 2 bytes of the metadata structure contain the version of the
format of that structure.
BRANCH=nocturne
BUG=b:73337313
TEST=enroll/logout/unlock
Change-Id: I1838791603df11fdefb373105617f83eec116f89
Signed-off-by: Nicolas Norvez <norvez@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1235413
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1557836
Tested-by: Yong Hong <yhong@google.com>
Commit-Queue: Yong Hong <yhong@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We use AES-GCM crypto to encrypt the FP templates between the AP and the
MCU.
For every single template, we generate a nonce/salt that is updated on
every template update (i.e. when the AP requests an encrypted template).
We then derive the symmetric key using HMAC-SHA256 and encrypt/decrypt
the template.
Design doc at go/cros-fp-dd
BUG=b:73337313
BRANCH=nocturne
TEST=enroll a finger, log out, log back in, unlock the device.
TEST=retrieve MQT frame on unlocked system
Change-Id: I29c66c6dc660242a423af02066f5aba671613300
Signed-off-by: Nicolas Norvez <norvez@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1194999
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1557835
Commit-Queue: Yong Hong <yhong@google.com>
Tested-by: Yong Hong <yhong@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The rollbackinfo command was exiting with code 1 (failure) because
ec_command returns a negative value on error and the *length* of the
output data on success.
BUG=chromium:924283
TEST=ectool --name=cros_fp rollbackinfo; echo $?
BRANCH=nocturne
Change-Id: Ib071ab9b25188ebc173f8e8b3a5810e8c518df06
Signed-off-by: Tom Hughes <tomhughes@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1432915
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
(cherry picked from commit 88824c6ffae8ec3b2b89fc67c16a07058897ccf9)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1538099
Reviewed-by: Yong Hong <yhong@google.com>
Commit-Queue: Corner Li <cornerli@google.com>
Tested-by: Corner Li <cornerli@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rollback id will be useful to check that the secret has actually
been wiped. Min rollback version and RW rollback version might
be useful in the future.
BRANCH=nocturne
BUG=b:115733483
TEST=ectool --name=cros_fp rollbackinfo
=> Rollback block id: X
ectool --name=cros_fp reboot_ec; sleep 0.5; \
ectool --name=cros_fp rwsigaction abort && \
ectool --name=cros_fp addentropy reset && \
ectool --name=cros_fp reboot_ec
ectool --name=cros_fp rollbackinfo
=> Rollback block id: X+2
Change-Id: I039d26d302d3a12b0d41acca34aa28d4a2dd096d
Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1226126
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Reviewed-by: Nicolas Norvez <norvez@chromium.org>
(cherry picked from commit 852a4f2f35602724ac8d784b721df5cdc57ac086)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1539363
Commit-Queue: Corner Li <cornerli@google.com>
Tested-by: Corner Li <cornerli@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixup CL that defines FP_TEMPLATE_FORMAT_VERSION. This is safer to fix
build failures in chromeos-ec rather than cherry-picking a whole raft of
CLs from master.
Firmwares aren't actually built from that branch anyway, this is merely
so build_packages doesn't fail.
BRANCH=None
BUG=b:117320089
TEST=None yet, trybot in flight.
Signed-off-by: Nicolas Norvez <norvez@chromium.org>
Change-Id: I9e6d46f24d53fbd93bb8974fde53b30bb1b3214e
Reviewed-on: https://chromium-review.googlesource.com/c/1265425
Reviewed-by: Benson Leung <bleung@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a field to the ec_response_fp_info structure to report the version
of the template format supported by the hardware.
We'd normally uprev the structure version, but given there are only 2
clients of that API (ectool and biod), we'll rather synchronise the
submission of the CLs to avoid unnecessary complexity.
BRANCH=nocturne
BUG=b:116979455
TEST=ectool --name=cros_fp fpinfo
TEST=start biod, log shows the format version
Change-Id: Ibbf2a3603d4f28c7550523f785aeb7fb740ac9ea
Signed-off-by: Nicolas Norvez <norvez@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1252459
Reviewed-by: Prashant Malani <pmalani@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
(cherry picked from commit f7882a11b335dd67597bc0cb230acf1f0a81cd67)
Reviewed-on: https://chromium-review.googlesource.com/c/1265055
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=b:115281114
BRANCH=none
TEST='rtc' command in ec console and 'ectool rtcget' in ap console
Change-Id: Id659b873fa24696cc2b883832f85e0d3202158ad
Signed-off-by: Philip Chen <philipchen@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1218583
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Philip Chen <philipchen@chromium.org>
Reviewed-by: Wai-Hong Tam <waihong@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add (basic) support for TI TMP468 a 8 Remote + 1 Local channel
temperature sensor.
BUG=none
BRANCH=master
TEST=Hook up EVM to I2C port of a STM32F072, read temperatures
Change-Id: I6d6644825af04391841847c060f8ffaeff620094
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
Reviewed-on: https://chromium-review.googlesource.com/1213554
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current debug message in keyboard_8042.c displays a tuple of
row, column, and press status. Additionally, this CL displays a
keycap label for better readability.
For keycap label mapping table can be adjustable under
"CONFIG_KEYBOARD_SCANCODE_MUTABLE" condition as scancode_set2[] is.
For coral board, Enabling CONFIG_KEYBOARD_DEBUG (w/o this CL)
occupies 652 bytes in flash, and this CL occupies another 312 bytes.
BUG=b:111060830
TEST=manually tested by pressing keyboards and check the EC console
screen.
BRANCH=kblog
Signed-off-by: Namyoon Woo <namyoon@chromium.org>
Changes to be committed:
modified: board/eve/board.c
modified: common/keyboard_8042.c
modified: common/keyboard_8042_sharedlib.c
modified: include/keyboard_8042_sharedlib.h
Change-Id: Idd71a5475b1ee313f99e087be9143dcfb6f81550
Reviewed-on: https://chromium-review.googlesource.com/1214543
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Namyoon Woo <namyoon@chromium.org>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In an effort to test wake sources on any given platform, this
CL exposes console command to set the base state. This console
command can then be invoked by autottests from the uart interface.
We have two implementations for managing base status. One is interrupt
driven while the other is a polling via a task.
Boards current implementations then are:
interrupts: lux, soraka, cheza
polling task: nocturne, zoombini
For forcing base connect and disconnect,
interrupts: Disable interrupts and set forced base state.
polling task: Stop periodic task and set forced base state.
On reset,
interrupts: Schedule deferred task immediately and enable interrupts.
polling task: Clear forced base state and begin rescheduling periodic
task.
Signed-off-by: RaviChandra Sadineni <ravisadineni@google.com>
BRANCH=poppy,nocturne
BUG=chromium:820668, b:37223093
TEST=Tested on lux, soraka and nocturne
basestate a : attaches the lid, reflected in ui.
basestate d : detaches the lid, reflected in ui.
basestate r : resets to the correct state.
Wakes the device up on lux and nocturne and soraka.
Change-Id: Iab698e103a50b8d22bf216a6f816998cb158e38a
Reviewed-on: https://chromium-review.googlesource.com/1184172
Commit-Ready: Ravi Chandra Sadineni <ravisadineni@chromium.org>
Tested-by: Ravi Chandra Sadineni <ravisadineni@chromium.org>
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-by: Todd Broch <tbroch@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, usbpdpower command enumerates all USB-C ports found
on the board. Since barrel jack adapters are not recognized as
a USB-C port, they're not handled by the command.
This patch allows the command to take a port number as a new
parameter.
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
BUG=chromium:841944
BRANCH=none
TEST=Verify ectool usbpdpower 1 return 'Port 1: Disconnected' and
'Port 1: SNK (not charging)' without and with a BJ adapter connected
respectively on Fizz.
Change-Id: If3437c8f3f9952a4cc6004614ccff7bb6bbb4de5
Reviewed-on: https://chromium-review.googlesource.com/1217606
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, CHARGE_SUPPLIER_NONE is defined as a macro. This causes
the compiler to allocate uint8_t to enum charge_supplier. When
-1 passed to or returned from a function, it's cast to 0xff.
This patch defines CHARGE_SUPPLIER_NONE in enum charge_supplier.
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
BUG=none
BRANCH=none
TEST=Verify ectool usbpdpower 1 return 'Port 1: Disconnected' and
'Port 1: SNK (not charging)' without and with a BJ adapter connected
respectively on Fizz.
Change-Id: I31bfa33efa91f60c6667f3b0de9cbdf9c6b3e8bf
Reviewed-on: https://chromium-review.googlesource.com/1217605
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL adds support for Type C port 2 which uses the TI USB422 TCPC
and NX20P3481 PPC.
BUG=b:111281797
BRANCH=none
TEST=Verifed that port 2 works as a sink and source.
Change-Id: I7ad200768d81fd95aee625e5871b2350412a4f79
Signed-off-by: Scott Collyer <scollyer@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1178997
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Scott Collyer <scollyer@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DragonEgg has 3 Type C ports and needs BRAM_IDX_PD2 as only 2 ports
were supproted previously.
BUG=b:111281797
BRANCH=none
TEST=Verfied that error messages from invalid bram_idx went away.
Change-Id: I242850a89413f0a573155e5e325f4e0a540d33e6
Signed-off-by: Scott Collyer <scollyer@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1178996
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Scott Collyer <scollyer@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL is an incremental change to the nx20p348x driver to add
support for the nx20p3481 ppc. Sink/source modes are controlled via
the switch control register instead of gpio signals. Another
difference is that the values of mode in register 0x1 are slightly
different between the 3481 and 3483. The 3481 needs to use the switch
status register to verify whether it's in sink or source mode. This
register is now checked for both the 3483 and 3481. A delay is
required for the switch status register to reflect the control setting
just applied.
In addition, the nx20p3481 supports Fast Role Swap (FRS).
For FRS, only the detection is supported, and it's assumed that it's
caused by the removal of an external charger, not an actual FRS event.
BUG=b:111281797
BRANCH=none
TEST=Verified on DragonEgg that port acts correctly as a sink. Have
not been able to verify source operation.
Change-Id: I2fb4200a5d9c3ce460e9b913a5b09441e458bb7e
Signed-off-by: Scott Collyer <scollyer@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1178995
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Scott Collyer <scollyer@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The NPCX7M7WB has 1MB internal SPI flash. Config it correctly.
BRANCH=none
BUG=b:114686845
TEST=Checked the EC image size is 1MB. Ran flashrom to flash EC.
Change-Id: Ie0ed27f72019790cfeb283349ae28fd05dc9693a
Signed-off-by: Wai-Hong Tam <waihong@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1215882
Tested-by: Philip Chen <philipchen@chromium.org>
Reviewed-by: Philip Chen <philipchen@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement touch pad enable control.
Enable touch pad when system from S5 to S3.
Disable touch pad when system form S3 to S5.
BUG=None
BRANCH=ToT
TEST=Manual.
Check touch pad can work under S0.
Check touch pad can wake up system under suspend.
Change-Id: Iccb06c3afeb458ea4504d4de971a49b1ab7bbe8d
Signed-off-by: michael_chen <michael5_chen@pegatroncorp.com>
Reviewed-on: https://chromium-review.googlesource.com/1198906
Commit-Ready: michael chen <michael5_chen@pegatroncorp.com>
Tested-by: michael chen <michael5_chen@pegatroncorp.com>
Reviewed-by: Zhuohao Lee <zhuohao@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Naming of many vector types and matrix types are not clear enough.
For example, we have:
vector_3_t, which is a vector of three int.
vec3_t, which is a vector of three float.
size4_t, which is a vector of four size_t.
mat33_t, which is a 3x3 matrix of float.
matrix_3x3_t, which is a 3x3 matrix of fixed point.
Besides, we have types like int8_t, uint16_t types.
To clearly distinguished types, the CL propose to,
For vector types, naming should be `$type + 'v' + $num + '_t'`:
vector_3_t becomes intv3_t
vec3_t becomes floatv3_t
vector 4 of uint16_t becomes uint16v4_t (which doesn't exist yet)
For matrix types, naming should be `mat$N$N_` + $type + '_t', where $N is the
matrix size:
matrix_3x3_t becomes mat33_fp_t # fp: fixed point
mat33_t becomes mat33_float_t
TEST=make buildall -j
BUG=b:114662791
Change-Id: I51d88d44252184e4b7b3564236833b0b892edc39
Signed-off-by: Yilun Lin <yllin@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1215449
Commit-Ready: Yilun Lin <yllin@chromium.org>
Tested-by: Yilun Lin <yllin@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Naming of many vector types and matrix types are not clear enough.
For example, we have:
vector_3_t, which is a vector of three int.
vec3_t, which is a vector of three float.
size4_t, which is a vector of four size_t.
mat33_t, which is a 3x3 matrix of float.
matrix_3x3_t, which is a 3x3 matrix of fixed point.
Besides, we have types like int8_t, uint16_t types.
To clearly distinguished types, the CL propose to,
For vector types, naming should be `$type + 'v' + $num + '_t'`:
vector_3_t becomes intv3_t
vec3_t becomes floatv3_t
vector 4 of uint16_t becomes uint16v4_t (which doesn't exist yet)
For matrix types, naming should be `mat$N$N_` + $type + '_t', where $N is the
matrix size:
matrix_3x3_t becomes mat33_fp_t # fp: fixed point
mat33_t becomes mat33_float_t
TEST=make buildall -j
BUG=b:114662791
Change-Id: I188305fc2f4fcff6ec4343f68e1aa1d2d185f6cf
Signed-off-by: Yilun Lin <yllin@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1215448
Commit-Ready: Yilun Lin <yllin@chromium.org>
Tested-by: Yilun Lin <yllin@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Naming of many vector types and matrix types are not clear enough.
For example, we have:
vector_3_t, which is a vector of three int.
vec3_t, which is a vector of three float.
size4_t, which is a vector of four size_t.
mat33_t, which is a 3x3 matrix of float.
matrix_3x3_t, which is a 3x3 matrix of fixed point.
Besides, we have types like int8_t, uint16_t types.
To clearly distinguished types, the CL propose to,
For vector types, naming should be `$type + 'v' + $num + '_t'`:
vector_3_t becomes intv3_t
vec3_t becomes floatv3_t
vector 4 of uint16_t becomes uint16v4_t (which doesn't exist yet)
For matrix types, naming should be `mat$N$N_` + $type + '_t', where $N is the
matrix size:
matrix_3x3_t becomes mat33_fp_t # fp: fixed point
mat33_t becomes mat33_float_t
TEST=make buildall -j
BUG=b:114662791
Change-Id: Ia601bfc9f9fb311f6ca91bfa2e8fa34259ed6c5b
Signed-off-by: Yilun Lin <yllin@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1215447
Commit-Ready: Yilun Lin <yllin@chromium.org>
Tested-by: Yilun Lin <yllin@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Naming of many vector types and matrix types are not clear enough.
For example, we have:
vector_3_t, which is a vector of three int.
vec3_t, which is a vector of three float.
size4_t, which is a vector of four size_t.
mat33_t, which is a 3x3 matrix of float.
matrix_3x3_t, which is a 3x3 matrix of fixed point.
Besides, we have types like int8_t, uint16_t types.
To clearly distinguished types, the CL propose to,
For vector types, naming should be `$type + 'v' + $num + '_t'`:
vector_3_t becomes intv3_t
vec3_t becomes floatv3_t
vector 4 of uint16_t becomes uint16v4_t (which doesn't exist yet)
For matrix types, naming should be `mat$N$N_` + $type + '_t', where $N is the
matrix size:
matrix_3x3_t becomes mat33_fp_t # fp: fixed point
mat33_t becomes mat33_float_t
TEST=make buildall -j
BUG=b:114662791
Change-Id: I4fea3bb2c1781a91f1c12ad66f25382cc0be3611
Signed-off-by: Yilun Lin <yllin@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1215446
Commit-Ready: Yilun Lin <yllin@chromium.org>
Tested-by: Yilun Lin <yllin@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Naming of many vector types and matrix types are not clear enough.
For example, we have:
vector_3_t, which is a vector of three int.
vec3_t, which is a vector of three float.
size4_t, which is a vector of four size_t.
mat33_t, which is a 3x3 matrix of float.
matrix_3x3_t, which is a 3x3 matrix of fixed point.
Besides, we have types like int8_t, uint16_t types.
To clearly distinguished types, the CL propose to,
For vector types, naming should be `$type + 'v' + $num + '_t'`:
vector_3_t becomes intv3_t
vec3_t becomes floatv3_t
vector 4 of uint16_t becomes uint16v4_t (which doesn't exist yet)
For matrix types, naming should be `mat$N$N_` + $type + '_t', where $N is the
matrix size:
matrix_3x3_t becomes mat33_fp_t # fp: fixed point
mat33_t becomes mat33_float_t
TEST=make buildall -j
BUG=b:114662791
Change-Id: I3b63b4b1eb4c9ca4166ad207a5646e0c307cd418
Signed-off-by: Yilun Lin <yllin@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1215445
Commit-Ready: Yilun Lin <yllin@chromium.org>
Tested-by: Yilun Lin <yllin@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Naming of many vector types and matrix types are not clear enough.
For example, we have:
vector_3_t, which is a vector of three int.
vec3_t, which is a vector of three float.
size4_t, which is a vector of four size_t.
mat33_t, which is a 3x3 matrix of float.
matrix_3x3_t, which is a 3x3 matrix of fixed point.
Besides, we have types like int8_t, uint16_t types.
To clearly distinguished types, the CL propose to,
For vector types, naming should be `$type + 'v' + $num + '_t'`:
vector_3_t becomes intv3_t
vec3_t becomes floatv3_t
vector 4 of uint16_t becomes uint16v4_t (which doesn't exist yet)
For matrix types, naming should be `mat$N$N_` + $type + '_t', where $N is the
matrix size:
matrix_3x3_t becomes mat33_fp_t # fp: fixed point
mat33_t becomes mat33_float_t
TEST=make buildall -j
BUG=b:114662791
Change-Id: Ia61493b9f7303c720fba50d6f481316c6d75cc79
Signed-off-by: Yilun Lin <yllin@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1215444
Commit-Ready: Yilun Lin <yllin@chromium.org>
Tested-by: Yilun Lin <yllin@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Naming of many vector types and matrix types are not clear enough.
For example, we have:
vector_3_t, which is a vector of three int.
vec3_t, which is a vector of three float.
size4_t, which is a vector of four size_t.
mat33_t, which is a 3x3 matrix of float.
matrix_3x3_t, which is a 3x3 matrix of fixed point.
Besides, we have types like int8_t, uint16_t types.
To clearly distinguished types, the CL propose to,
For vector types, naming should be `$type + 'v' + $num + '_t'`:
vector_3_t becomes intv3_t
vec3_t becomes floatv3_t
vector 4 of uint16_t becomes uint16v4_t (which doesn't exist yet)
For matrix types, naming should be `mat$N$N_` + $type + '_t', where $N is the
matrix size:
matrix_3x3_t becomes mat33_fp_t # fp: fixed point
mat33_t becomes mat33_float_t
TEST=make buildall -j
BUG=b:114662791
Change-Id: I8cac6a7c0abe3d462326291b76b1ed44ce6c9a9c
Signed-off-by: Yilun Lin <yllin@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1215443
Commit-Ready: Yilun Lin <yllin@chromium.org>
Tested-by: Yilun Lin <yllin@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Naming of many vector types and matrix types are not clear enough.
For example, we have:
vector_3_t, which is a vector of three int.
vec3_t, which is a vector of three float.
size4_t, which is a vector of four size_t.
mat33_t, which is a 3x3 matrix of float.
matrix_3x3_t, which is a 3x3 matrix of fixed point.
Besides, we have types like int8_t, uint16_t types.
To clearly distinguished types, the CL propose to,
For vector types, naming should be `$type + 'v' + $num + '_t'`:
vector_3_t becomes intv3_t
vec3_t becomes floatv3_t
vector 4 of uint16_t becomes uint16v4_t (which doesn't exist yet)
For matrix types, naming should be `mat$N$N_` + $type + '_t', where $N is the
matrix size:
matrix_3x3_t becomes mat33_fp_t # fp: fixed point
mat33_t becomes mat33_float_t
TEST=make buildall -j
BUG=b:114662791
Change-Id: I865aa3ecbab6cb97f8585a081a679adf00febe1d
Signed-off-by: Yilun Lin <yllin@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1215442
Commit-Ready: Yilun Lin <yllin@chromium.org>
Tested-by: Yilun Lin <yllin@chromium.org>
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for chocodile.
BUG=None
TEST=flash_ec chocodile_bec and chocodile_vpdmcu.
BRANCH=none
Signed-off-by: Nick Sanders <nsanders@chromium.org>
Change-Id: I9bdffdc1c89c4d802f738dbd045dbc6e4d73917a
Reviewed-on: https://chromium-review.googlesource.com/1147083
Commit-Ready: Nick Sanders <nsanders@chromium.org>
Tested-by: Sam Hurst <shurst@google.com>
Reviewed-by: Nick Sanders <nsanders@chromium.org>
Reviewed-by: Sam Hurst <shurst@google.com>
Reviewed-by: Jett Rink <jettrink@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A change in a parent commit broke the build for this commit. Adding
an include for cstring and #define HIDE_EC_STDLIB resolves the header conflict.
BUG=chromium:883080
TEST=make -j buildfuzztests
Change-Id: Icf584a6050519c7a3b8f7defb7685c9c64f7a145
Signed-off-by: Allen Webb <allenwebb@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1220390
Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support to read motherboard's adapter voltage data via ADC9.
Add support to read sub-board's adapter voltage data via ADC4.
BUG=b:112870300
BRANCH=none
TEST=check log output of `ectool usbpdpower` for 4 cases are all correct
case1. Adapter plugged in only port0 (motherboard):
Port 0: SNK Charger PD 14987mV
Port 1: Disconnected
case2. Adapter plugged in only port1 (sub-board):
Port 0: Disconnected
Port 1: SNK Charger PD 14740mV
case3. Adapter plugged in both two ports (port0 first, then port1):
Port 0: SNK Charger PD 15042mV
Port 1: SNK (not charging) Charger PD 5000mV
case4. Adapter plugged in both two ports (port1 first, then port0):
Port 0: SNK (not charging) Charger Unknown 5000mV
Port 1: SNK Charger PD 14740mV
Change-Id: Ia1202a26f452c13864b4f8340e5f0c671fc74f7d
Signed-off-by: Tino Liu <tino.liu@quanta.corp-partner.google.com>
Reviewed-on: https://chromium-review.googlesource.com/1206110
Reviewed-by: Justin TerAvest <teravest@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
meep and mimrock both share with the same board, but mimrock is unstuff
accel, gyro sensors and using hall sensor instead of GMR, so we don't
need to initial those sensors and disable tablet mode.
BUG=b:111823716,b:113962628
BRANCH=none
TEST=make buildall -j.
make sure no initial event occurs with mimrock.
make sure tablet mode was disabled with mimrock.
Change-Id: I8141ad8160807288d7a886488b98e93ed9a257b9
Signed-off-by: Devin Lu <Devin.Lu@quantatw.com>
Reviewed-on: https://chromium-review.googlesource.com/1193103
Commit-Ready: Zick Wei <zick.wei@quanta.corp-partner.google.com>
Tested-by: Zick Wei <zick.wei@quanta.corp-partner.google.com>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Like other octopus boards, do not disable keyboard for clamshell SKUs
BRANCH=none
BUG=none
TEST=build
Change-Id: I260ae76da9c5c0ab9989cf284141ca86816a6511
Signed-off-by: Jett Rink <jettrink@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1204690
Reviewed-by: Justin TerAvest <teravest@chromium.org>
Reviewed-by: Diana Z <dzigterman@chromium.org>
|
|
|
|
|
|
|
|
|
|
| |
BRANCH=none
BUG=b:113837268
TEST=verified that free magnet cannot put a clamshell SKU into tablet mode
Change-Id: I5d69ede2da04cb5d067b6ae5a483323054b584ab
Signed-off-by: Jett Rink <jettrink@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1204452
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change prevents CPU might execute a arithmetic instruction before
ALU is restored in the exception handler (Apply to floating point
division by zero).
We also make the change to use GP register to set system DLMB register,
so we can save R4 properly and print the correct panic information.
BUG=b:112452221
BRANCH=none
TEST=get a panic information if we do a floating point division
and divide by zero.
Change-Id: I20cb20500569c004af0336d1358ab0dd4b9452b9
Signed-off-by: Dino Li <Dino.Li@ite.com.tw>
Reviewed-on: https://chromium-review.googlesource.com/1201641
Reviewed-by: Jett Rink <jettrink@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
'Can't detect updater version' is replaced with an error
specifying the failed regex string.
BRANCH=None
BUG=None
TEST=None
Change-Id: Ia3a52ee27e31d0b4aab0d8f04d5cf5f346498c37
Signed-off-by: Nick Sanders <nsanders@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1213556
Reviewed-by: Mary Ruthven <mruthven@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is so that they can be referenced outside of the cr50
codebase.
BUG=b:110971075
TEST=build
BRANCH=none
Change-Id: Id0754d2b1c9817aeb3db4d4d01ee9fbce8ca2a10
Signed-off-by: Louis Collard <louiscollard@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1193563
Reviewed-by: Andrey Pronin <apronin@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the RBOX register controlling the EC reset output is written,
RBOX does not act immediately, as it is controlled by its own clock.
This results in the program continuing executing before RBOX output
value change.
This patch makes sure that execution does not continue until RBOX
reacted to the request to change the EC RST output value.
BRANCH=cr50. cr50-mp
BUG=b:75976718
TEST=verified with logic analyzer that processing does not continue
until EC RST output value changes.
Change-Id: I72814d3c9ea11721e1b361e7f6d300658306562d
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1214101
Reviewed-by: Mary Ruthven <mruthven@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
flash_wait_ready had a sleep of 1 msec to check for busy bit
status. This is too long of a wait for flash chip operation to
complete and hence adds unnecessary delay during flash write. Changing
the delay to 10usec helps cut the flash write time by 50%.
This change reduces the delay to check busy bit to 10usec and also
organizes the code slightly differently to use timestamp_expired()
instead of decrementing timeout and checking it against 0.
BUG=b:113530328
BRANCH=nocturne,grunt
TEST=Verified that EC SW sync time is down to 3.4 seconds with this
change.
Change-Id: I5796ac3c493031c9623a9e5171ce9c5a7087089e
Signed-off-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1213553
Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Tested-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-by: Jett Rink <jettrink@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Especially for SS MUX that have redrivers in them, we should disable the
MUX while the chipset is off because the data line will not be
used. This give decent power savings for redriver MUXs (e.g. PS8751)
BRANCH=none
BUG=b:112136208,b:111196155
TEST=On Phaser the 3300_pd_a drops from 92mW to 32 mW when the charger
is plugged into C1 and the SoC is in S5. The rail also says at 32mW after
removing and plugging the power back in while the SoC is in S5. Also
ensured that power is low upon first insertion and AP does not come on
automatically.
Change-Id: I0601fbb506ad3eff902cf6562a6408292ef70e3a
Signed-off-by: Jett Rink <jettrink@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1185485
Reviewed-by: Justin TerAvest <teravest@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We need a method that we can call from the chipset notify hooks that can
clearly distinguish which state you are about to be in. This is made
evident by the child CL for putting a MUX into low power mode in S5.
Without this method, we have to put chipset state into the PD task
variable and use that instead (since chipset_in_state won't work because
we are in the S3S5 state)
BRANCH=none
BUG=b:112136208,b:111196155,chromium:736508
TEST=On Phaser the 3300_pd_a drops from 92mW to 32 mW when the charger
is plugged into C1 and the SoC is in S5. The rail also says at 32mW
after
removing and plugging the power back in while the SoC is in S5. Also
ensured that power is low upon first insertion and AP does not come on
automatically.
Change-Id: I93cce2aa319c9689efce222919e5389471001a00
Signed-off-by: Jett Rink <jettrink@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1211368
Reviewed-by: Justin TerAvest <teravest@chromium.org>
|