| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In Zephyr v2.7, DT_ENUM_TOKEN is deprecated in favor of
DT_STRING_TOKEN. Additionally, DT_ENUM_UPPER_TOKEN is deprecated in
favor of DT_STRING_UPPER_TOKEN.
See the v2.7 release notes for details:
https://docs.zephyrproject.org/latest/releases/release-notes-2.7.html
Since we backported the DT_STRING_* macros to our v2.6 branch, let's
switch to them ahead of time to prepare for the v2.7 uprev.
Note: the DT_STRING_* macros are compatible with Zephyr's device tree
enums, but also allow non-enum properties to be used in the same
fashion. This commit does the bare minimum for compatibility with
v2.7, i.e., just swap the macros without dropping enum properties
anywhere. We should investigate whether we want to continue using the
enum properties or abandon some of them for any string in the future.
BUG=b:198824039
BRANCH=none
TEST=zmake testall
Signed-off-by: Jack Rosenthal <jrosenth@chromium.org>
Change-Id: I1efd8f99bc7d93504c0ab94510406cd36ad24cd3
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3144536
Reviewed-by: Keith Short <keithshort@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ZephyrEC uses different I2C port numbers than CrosEC does, so convert
the received remote port via I2C_PASSTHRU command into a proper one.
The conversion is done based on a new property remote-port, which tells
what port number is used by external components like kernel.
The change fixes an issue with unexpected entering OTG mode by the
charger.
BUG=b:188885798
BRANCH=none
TEST=Flash Lazor and make sure that no "charge problem" prints are
displayed.
Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com>
Change-Id: Id00265a3abf286ca59cbecb38ff7933d75e0d361
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2933296
Reviewed-by: Yuval Peress <peress@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The SDA and SCL components of the struct i2c_port_t are only used in
and for the i2c_wedge.c logic. This isn't needed in Zephyr. Remove
the values and functions that use them from the Zephyr build.
BRANCH=none
BUG=b:188179405
TEST=build volteer and trogdor
Signed-off-by: Yuval Peress <peress@chromium.org>
Change-Id: I71a26fbd9bc51def744ef1f16a540728482c5a2b
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2896235
Reviewed-by: Fabio Baltieri <fabiobaltieri@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes a separate dts node for the CBI EEPROM. The node uses the
existing at24 dts binding and defines all the required properties, even
though right now only the address is used.
BUG=b:184739382
BRANCH=none
TEST=build and flash on volteer
TEST=cbi shell command
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Change-Id: I8a3ed6f3dc504118fa6d61bc78e2b4c46d6c4840
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2814621
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Yuval Peress <peress@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, every project will need to provide a custom mapping header
for i2c as well as gpios. We'd like to move that overhead to the dts
files, which will make the board dts a lot more reusable as well as
clean up the bringup of new boards.
Add to the i2c_ports enum from the dts named i2c port list. Each enum
is only added if a node exists using that enum. This also allowes for
verifying that the enum is only used once.
BRANCH=none
BUG=b:184786824
TEST=build and flashed volteer
TEST=zmake testall
Signed-off-by: Yuval Peress <peress@chromium.org>
Change-Id: I42cc098a9badac57a3781fa9dfaf32c0ec0c5aca
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2780838
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BRANCH=none
BUG=b:175249000
TEST=zmake testall
Cq-Depend: chromium:2583272
Signed-off-by: Yuval Peress <peress@chromium.org>
Change-Id: Ie50e56df60e060c3741013912ab46d807fc5e417
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2582819
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We have quite a few options already and plan to add more. Sort them to
make it easier to see what is there.
The I2C enum isn't really connected with the basic CONFIG munging done
in config_chip.h so move it to i2c.h instead.
Fix the 'keybaord' typo while we are here.
BRANCH=none
BUG=none
TEST=build and boot on volteer
Change-Id: Id03fe44ff859736f1e2f86231ca1e8d9dc4c50af
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2575198
Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
|
|
This change accomplishes 2 things:
1. It refactors the zephyr/shim directory to structure around
chip specific compilation. In this example, we're focusing
on npcx7m6fb which is used in volteer but others can be
added easily.
2. It shims the common/i2c_master.c by providing an alternate
implementation of i2c_xfer_unlocked that calls down to the
Zephyr API i2c_write_read instead of the chip specific
i2c_xfer_no_retry or chip_i2c_xfer_with_notify.
The shim layer is made possible by the addition of
zephyr/shim/include/i2c/i2c.h which adds a functions that
needs to be implemented per chip (npcx7 family in this case)
and allows us to map the current port int which is defined
in chip/${CHIP}/registers.h (chip/npcx/registers-npcx7.h in
our case). This function (i2c_get_device_for_port) maps the
platform/ec port int to a const struct device * which is
needed in the Zephyr I2C APIs.
BRANCH=none
BUG=b:171302975
TEST=clean_build.sh projects/experimental/volteer/ and make BOARD=eve
Signed-off-by: Yuval Peress <peress@chromium.org>
Change-Id: I210f4758337bf384d0d6f103eef8b89126887d11
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2504285
Reviewed-by: Simon Glass <sjg@chromium.org>
Commit-Queue: Simon Glass <sjg@chromium.org>
|