summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDino Li <Dino.Li@ite.com.tw>2021-04-08 16:10:14 +0800
committerCommit Bot <commit-bot@chromium.org>2021-04-08 10:47:50 +0000
commitea450db6e1cfa56a34b03141640a9bb44dcc40e7 (patch)
treee777e7f9532e2d02736d443417056315a66c87bb
parentc2e9a8b208387e50c480a3f9edc9c67f3088cf22 (diff)
downloadchrome-ec-ea450db6e1cfa56a34b03141640a9bb44dcc40e7.tar.gz
it83xx: disable pre-defined command at default
With this change, no master is able to see the slave device of pre-defined command on port 0. BUG=b:184804044 BRANCH=none TEST=run i2cscan command on icarus, verified that the slave address isn't present on port 0. Signed-off-by: Dino Li <Dino.Li@ite.com.tw> Change-Id: I6df72132d08a3be6ff97fb501eefc4a9fa8d6f08 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2813878 Reviewed-by: Eric Yilun Lin <yllin@chromium.org>
-rw-r--r--chip/it83xx/registers.h1
-rw-r--r--chip/it83xx/system.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/chip/it83xx/registers.h b/chip/it83xx/registers.h
index 95e8ed548f..24d8b38809 100644
--- a/chip/it83xx/registers.h
+++ b/chip/it83xx/registers.h
@@ -1422,6 +1422,7 @@ REG8(IT83XX_PMC_BASE + (ch > LPC_PM2 ? 5 : 8) + (ch << 4))
#define IT83XX_SMB_RESLADR2 REG8(IT83XX_SMB_BASE+0x51)
#define IT83XX_SMB_ENADDR2 (1 << 7)
#define IT83XX_SMB_SFFCTL REG8(IT83XX_SMB_BASE+0x55)
+#define IT83XX_SMB_HSAPE BIT(1)
#define IT83XX_SMB_SAFE (1 << 0)
#define IT83XX_SMB_SFFSTA REG8(IT83XX_SMB_BASE+0x56)
#define IT83XX_SMB_SFFFULL (1 << 6)
diff --git a/chip/it83xx/system.c b/chip/it83xx/system.c
index 2f6fbd504b..7281977e44 100644
--- a/chip/it83xx/system.c
+++ b/chip/it83xx/system.c
@@ -210,6 +210,9 @@ int system_is_reboot_warm(void)
void chip_pre_init(void)
{
+ /* bit1=0: disable pre-defined command */
+ IT83XX_SMB_SFFCTL &= ~IT83XX_SMB_HSAPE;
+
/* bit0, EC received the special waveform from iteflash */
if (IT83XX_GCTRL_DBGROS & IT83XX_SMB_DBGR) {
/*