summaryrefslogtreecommitdiff
path: root/chip
diff options
context:
space:
mode:
Diffstat (limited to 'chip')
-rw-r--r--chip/lm4/lpc.c18
-rw-r--r--chip/lm4/registers.h2
-rw-r--r--chip/mec1322/lpc.c10
-rw-r--r--chip/npcx/lpc.c10
4 files changed, 39 insertions, 1 deletions
diff --git a/chip/lm4/lpc.c b/chip/lm4/lpc.c
index 0f3e9b8b1c..149145f3c0 100644
--- a/chip/lm4/lpc.c
+++ b/chip/lm4/lpc.c
@@ -432,6 +432,24 @@ uint32_t lpc_get_host_event_mask(enum lpc_host_event_type type)
return event_mask[type];
}
+void lpc_set_acpi_status_mask(uint8_t mask)
+{
+ uint32_t set_mask = 0;
+ if (mask & EC_LPC_STATUS_BURST_MODE)
+ set_mask |= LM4_LPC_ST_BURST;
+
+ LM4_LPC_ST(LPC_CH_ACPI) |= set_mask;
+}
+
+void lpc_clear_acpi_status_mask(uint8_t mask)
+{
+ uint32_t clear_mask = 0;
+ if (mask & EC_LPC_STATUS_BURST_MODE)
+ clear_mask |= LM4_LPC_ST_BURST;
+
+ LM4_LPC_ST(LPC_CH_ACPI) &= ~clear_mask;
+}
+
int lpc_get_pltrst_asserted(void)
{
return (LM4_LPC_LPCSTS & (1<<10)) ? 1 : 0;
diff --git a/chip/lm4/registers.h b/chip/lm4/registers.h
index f6e503b208..15c91d1ca3 100644
--- a/chip/lm4/registers.h
+++ b/chip/lm4/registers.h
@@ -118,7 +118,7 @@ static inline int lm4_lpc_addr(int ch, int offset)
#define LM4_LPC_ST_TOH (1 << 0) /* TO Host bit */
#define LM4_LPC_ST_FRMH (1 << 1) /* FRoM Host bit */
#define LM4_LPC_ST_CMD (1 << 3) /* Last from-host byte was command */
-#define LM4_LPC_ST_PRESENT (1 << 8)
+#define LM4_LPC_ST_BURST (1 << 8)
#define LM4_LPC_ST_SCI (1 << 9)
#define LM4_LPC_ST_SMI (1 << 10)
#define LM4_LPC_ST_BUSY (1 << 12)
diff --git a/chip/mec1322/lpc.c b/chip/mec1322/lpc.c
index 07e75f2a09..cd49e4d357 100644
--- a/chip/mec1322/lpc.c
+++ b/chip/mec1322/lpc.c
@@ -449,6 +449,16 @@ uint32_t lpc_get_host_event_mask(enum lpc_host_event_type type)
return event_mask[type];
}
+void lpc_set_acpi_status_mask(uint8_t mask)
+{
+ MEC1322_ACPI_EC_STATUS(0) |= mask;
+}
+
+void lpc_clear_acpi_status_mask(uint8_t mask)
+{
+ MEC1322_ACPI_EC_STATUS(0) &= ~mask;
+}
+
int lpc_get_pltrst_asserted(void)
{
return (MEC1322_LPC_BUS_MONITOR & (1<<1)) ? 1 : 0;
diff --git a/chip/npcx/lpc.c b/chip/npcx/lpc.c
index 1622905299..79e0675ede 100644
--- a/chip/npcx/lpc.c
+++ b/chip/npcx/lpc.c
@@ -348,6 +348,16 @@ uint32_t lpc_get_host_event_mask(enum lpc_host_event_type type)
return event_mask[type];
}
+void lpc_set_acpi_status_mask(uint8_t mask)
+{
+ /* TODO (crbug.com/p/38224): Implement */
+}
+
+void lpc_clear_acpi_status_mask(uint8_t mask)
+{
+ /* TODO (crbug.com/p/38224): Implement */
+}
+
int lpc_get_pltrst_asserted(void)
{
/* Read PLTRST status*/