]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
platform/chrome: cros_ec: jump to RW before probing
authorDawid Niedzwiecki <dawidn@google.com>
Fri, 6 Dec 2024 09:15:13 +0000 (09:15 +0000)
committerTzung-Bi Shih <tzungbi@kernel.org>
Mon, 30 Dec 2024 01:31:05 +0000 (01:31 +0000)
commit5ffa0dbfdc9fc05acae02d5b0dc766ec778569ac
treef4a9dd2dd6cade8831e9964fa466c42653973300
parentcfa842c80c99966db06f5ee7ec03e7d513965247
platform/chrome: cros_ec: jump to RW before probing

There are EC devices, like FPMCU, that use RWSIG as a method of
authenticating RW section. After the authentication succeeds, EC device
waits some time before jumping to RW. EC can be probed before the jump,
which means there is a time window after jump to RW in which EC won't
respond, because it is not initialized. It can cause a communication
errors after probing.

To avoid such problems, send the RWSIG continue command first, which
skips waiting for the jump to RW. Send the command more times, to make
sure EC is ready in RW before the start of the actual probing process. If
a EC device doesn't support the RWSIG, it will respond with invalid
command error code and probing will continue as usual.

Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
Link: https://lore.kernel.org/r/20241206091514.2538350-2-dawidn@google.com
Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
drivers/platform/chrome/cros_ec.c
drivers/platform/chrome/cros_ec_i2c.c
drivers/platform/chrome/cros_ec_ishtp.c
drivers/platform/chrome/cros_ec_lpc.c
drivers/platform/chrome/cros_ec_proto.c
drivers/platform/chrome/cros_ec_rpmsg.c
drivers/platform/chrome/cros_ec_spi.c
drivers/platform/chrome/cros_ec_uart.c
include/linux/platform_data/cros_ec_proto.h