| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the interest of making long-term branch maintenance incur as little
technical debt on us as possible, we should not maintain any files on
the branch we are not actually using.
This has the added effect of making it extremely clear when merging CLs
from the main branch when changes have the possibility to affect us.
The follow-on CL adds a convenience script to actually pull updates from
the main branch and generate a CL for the update.
BUG=b:204206272
BRANCH=ish
TEST=make BOARD=arcada_ish && make BOARD=drallion_ish
Signed-off-by: Jack Rosenthal <jrosenth@chromium.org>
Change-Id: I17e4694c38219b5a0823e0a3e55a28d1348f4b18
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3262038
Reviewed-by: Jett Rink <jettrink@chromium.org>
Reviewed-by: Tom Hughes <tomhughes@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a loop in irq_handler to match datasheet documentation:
"""
1. Read the FIFO_STATUS1 and FIFO_STATUS2 registers to check how many
words are stored in the FIFO. This information is contained in the
DIFF_FIFO_[9:0] bits.
2. For each word in FIFO, read the FIFO word (tag and output data) and
interpret it on the basis of the FIFO
tag.
3. Go to step 1.
"""
We need to read the FIFO length at the end of the IRQ handler to be
sure a new item has not been put while the FIFO was being read.
Otherwise, we will not get interrupt and will stop processing FIFO when
the FIFO status register still shows the FIFO as not empty.
However, using linux kernel st_lsm6dsx_read_tagged_fifo() as model,
read only one word at a time:
When reading 2 7bytes word at time, the FIFO would still claim one entry
remains: The 3rd entry would be a copy of the accelerometer data, but
with a corrupted z axis.That why we fail the data test, the gravity
vector is not measured at 9.81m/s^2.
There was a bug in the interrupt handler that would read the FIFO twice,
which was presenting the data: both gyro and accel at the same ODR:
[7623.475256 Base Accel FIFO status: 8002]
[7623.476548 Base Gyro sending vector num: 2
raw: 0x00000007 - 0xFFFFFFF6 - 0xFFFFFFF9]
[7623.477526 Base Accel sending vector num: 1
raw: 0xFFFFFFCC - 0xFFFFE275 - 0xFFFFE818]
[7623.479271 Base Accel FIFO status: 8001]
[7623.480333 Base Accel sending vector num: 1
raw: 0xFFFFFFCC - 0xFFFFE275 - 0x00000C18]
[7623.481699 Base Accel FIFO status: 0000]
We must only run the irq_hanlder for the main/accelerometer sensor.
Restructure irq_hanlder to match other driver, like accelgyro_bm160.c.
BUG=b:195700255,b:192219470
BRANCH=dedede
TEST=Running tast run <ip> hardware.SensorIioserviceHard
Check we get the right amount of samples.
Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
Change-Id: I5820dec4c7c5ccb1ebeda854398738d1af60290c
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3150679
Reviewed-by: Keith Short <keithshort@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rename LSM6DSO_FIFO_ODR_TO_REG into LSM6DSO_FIFO_ODR_MASK as the macro
return the mask to use to set the FIFO ODR.
Remove CONFIG_EC_MAX_SENSOR_FREQ_MILLIHZ in code, as already used in
LSM6DSO_ODR_MAX_VAL.
Simplify LSM6DSO_ST_DATA by using . instead of ->.
BUG=none
BRANCH=deded
TEST=buildall
Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
Change-Id: I4253368415635c858ce181f228591e8bf93eacb9
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3150678
Reviewed-by: Keith Short <keithshort@chromium.org>
Reviewed-by: Yuval Peress <peress@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
HW design the motion sensor interrupt pin to active low, but in the
EC codebase, the sensor initial value for LSM6DSO_CTRL3_ADDR (0x12)
didn't set the bit 5 (LSM6DSO_H_L_ACTIVE) to high.
BUG=b:185282500
BRANCH=none
TEST=ectool motionsense can read the base accel and gyro value.
Signed-off-by: Owen_Ou <owen_ou@compal.corp-partner.google.com>
Change-Id: Iaecdab388a218ae7ae8c586b70f576612c7f85de
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2825989
Reviewed-by: Owen Ou <owen_ou@compal.corp-partner.google.com>
Reviewed-by: Keith Short <keithshort@chromium.org>
Tested-by: Owen Ou <owen_ou@compal.corp-partner.google.com>
Commit-Queue: Keith Short <keithshort@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is an option in the task_set_event function which force
the calling task to wait for an event. However, the option is never
used thus remove it.
This also will help in the Zephyr migration process.
BUG=b:172360521
BRANCH=none
TEST=make buildall
Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com>
Change-Id: Ic152fd3d6862d487bcc0024c48d136556c0b81bc
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2521599
Reviewed-by: Jett Rink <jettrink@chromium.org>
Reviewed-by: Tom Hughes <tomhughes@chromium.org>
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When AP changes range, unlike offset or ODR, it was not surviving init()
call. If the sensor is powered off in S3, at resume the range would be
back to the default.
To make it consistent with other attributes, remember range change until
EC powers down.
- remove get_range
- add current_range to store the range currently used.
This is modifiable by the AP
- when the AP shutdown, revert current_range to default_range
- Remove const attribute for sensor structure when init and set_range is
called.
BUG=chromium:1083791
BRANCH=none
TEST=One eve branch, check range is preserved even after 'shutdown -h 0'
Change-Id: Ia7126ac0cc9c3fef60b4464d95d6dd15e64b0fc4
Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2215751
Reviewed-by: Yuval Peress <peress@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=chromium:1140877
BRANCH=none
TEST=buildall
Change-Id: I3c45918b628d4f0999842922680a948cdd4933a2
Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2491267
Reviewed-by: Ching-Kang Yen <chingkang@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix build issue, replaced motion_sense_fifo_add_data with
motion_sense_fifo_stage_data and motion_sense_fifo_commit_data
fifo api.
BUG=none
BRANCH=master
TEST=Fixed build issue. Tested on discovery target BOARD with
LSM6DSO connected to EC i2c master bus and motion sense task
running.
Change-Id: I7e4e81f1b6fe95b33ef6a4bfc5fdd509273c6f7b
Signed-off-by: Mario Tesi <mario.tesi@st.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1903129
Reviewed-by: Yuval Peress <peress@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change allows us to use the IS_ENABLED condition to replace
the various ifdef guards around the CONFIG_ACCEL_FIFO
BUG=b:137758297,chromium:981990
BRANCH=None
TEST=buildall and CTS tests on Arcada
Change-Id: I65d36bac19855e51c830a33e6f3812575e8d15d9
Signed-off-by: Yuval Peress <peress@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1704164
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The extentions were added to make the compiler perform most
of the verification that the conversion was being done correctly
to remove 8bit addressing as the standard I2C/SPI address type.
Now that the compiler has verified the code, the extra
extentions are being removed
BUG=chromium:971296
BRANCH=none
TEST=make buildall -j
TEST=verify sensor functionality on arcada_ish
Change-Id: I36894f8bb9daefb5b31b5e91577708f6f9af2a4f
Signed-off-by: Denis Brockus <dbrockus@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1704792
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Opt for 7bit slave addresses in EC code. If 8bit is
expected by a driver, make it local and show this in
the naming.
Use __7b, __7bf and __8b as name extensions for i2c/spi
addresses used in the EC codebase. __7b indicates a
7bit address by itself. __7bf indicates a 7bit address
with optional flags attached. __8b indicates a 8bit
address by itself.
Allow space for 10bit addresses, even though this is
not currently being used by any of our attached
devices.
These extensions are for verification purposes only and
will be removed in the last pass of this ticket. I want
to make sure the variable names reflect the type to help
eliminate future 7/8/7-flags confusion.
BUG=chromium:971296
BRANCH=none
TEST=make buildall -j
Change-Id: I2fc3d1b52ce76184492b2aaff3060f486ca45f45
Signed-off-by: Denis Brockus <dbrockus@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1699893
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CPRINTS already prints a new line, no need to add another one.
Spotted during boot on kukui, and then realized there are many
more instances:
""
[3.689239 Module 7 is not supported for clock disable
]
""
BRANCH=none
BUG=none
TEST=make buildall -j
TEST=`git grep CPRINTS | grep "\\\\n\""` shows nothing of
interest.
Change-Id: I4d2bbbc65a91fa56c6e6115aa5c353bfd2b384a1
Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1660519
Tested-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
|
|
Added support to LSM6DSO IMU sensor.
Features included in this driver are:
- Basic Sensor Read acc/gyro data
- ODR and FS runtime configuration
- FIFO water mark interrupt
- Shared commons function with ST MEMs devices
BUG=none
BRANCH=master
TEST=Tested on discovery target BOARD with
LSM6DSO connected to EC i2c master bus and motion
sense task running.
Commands used to test LSM6DSO device are:
- accelinit
- accelrange
- accelinfo
All basic features tested, including:
1) ODR change:
- accelrate 0 [13000:208000]
- accelrate 1 [13000:208000]
2) FS Range change:
- accelrange 0 [2:16]
- accelrange 1 [250:2000]
3) Interrupt on FIFO water mark
Signed-off-by: Mario Tesi <mario.tesi@st.com>
Change-Id: If2984f7d0d30b0ef475e0525aca2bc365aa4fe21
Signed-off-by: Mario Tesi <mario.tesi@st.com>
Reviewed-on: https://chromium-review.googlesource.com/1371364
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Enrico Granata <egranata@chromium.org>
Reviewed-by: Enrico Granata <egranata@chromium.org>
|