summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Feng <li1.feng@intel.com>2022-09-28 17:29:40 -0700
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-10-08 23:01:30 +0000
commit3e3536a3fbe3a6054c3970255a849c99cd170584 (patch)
tree52b99929d5e06939e1fce9c8563b4a2377b613ad
parent976218ebde5629f229d71b66eaff19bfa95088c8 (diff)
downloadchrome-ec-stabilize-15174.B-main.tar.gz
adl_ish_lite: add ISH firmware for ADLstabilize-15174.B-main
ISH and UFS are in same PCI slot function 0. To enable UFS, ISH has to be enabled too. This ISH firmware is a lite version; only provides power management. If no activities, ISH will be in deep sleep all the time. BUG=b:234136500 BRANCH=none TEST=make BOARD=adl_ish_lite TEST=on ADLP RVP Flash ISH enabled Coreboot (ISH BUP and loader are stitched to CB) Copy ec.bin to DUT's file system: /lib/firmware/intel; Rename it as adlrvp_ish.bin and "sync". Reboot system, host dmesg shows ISH main firmware is loaded. And ISH console shows ISH is in deep sleep. dmesg: "ish-loader {C804D06A-55BD-4EA7-ADED-1E31228C76DC}: ISH firmware intel/adlrvp_ish.bin loaded" EC console: "[15.038421 Disabling console in deep sleep] " Signed-off-by: Li Feng <li1.feng@intel.com> Signed-off-by: Guangfu Hu <guangfu.hu@intel.com> Change-Id: I93877d7f50af985a63895bbb7785ca67d0ec0747 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3925007 Reviewed-by: Vijay P Hiremath <vijay.p.hiremath@intel.com> Reviewed-by: Keith Short <keithshort@chromium.org>
l---------board/adl_ish_lite1
-rw-r--r--board/tglrvp_ish/board.c6
-rw-r--r--board/tglrvp_ish/board.h17
-rw-r--r--board/tglrvp_ish/ec.tasklist9
4 files changed, 23 insertions, 10 deletions
diff --git a/board/adl_ish_lite b/board/adl_ish_lite
new file mode 120000
index 0000000000..e43fd15937
--- /dev/null
+++ b/board/adl_ish_lite
@@ -0,0 +1 @@
+tglrvp_ish \ No newline at end of file
diff --git a/board/tglrvp_ish/board.c b/board/tglrvp_ish/board.c
index f05d7d337c..ff0e93ebfb 100644
--- a/board/tglrvp_ish/board.c
+++ b/board/tglrvp_ish/board.c
@@ -18,6 +18,11 @@
#include "gpio_list.h" /* has to be included last */
/* I2C port map */
+#ifdef BOARD_ADL_ISH_LITE
+const struct i2c_port_t i2c_ports[] = {};
+const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports);
+
+#elif defined(BOARD_TGLRVP_ISH)
const struct i2c_port_t i2c_ports[] = {
{ .name = "sensor", .port = I2C_PORT_SENSOR, .kbps = 1000 },
};
@@ -56,6 +61,7 @@ struct motion_sensor_t motion_sensors[] = {
},
};
const unsigned int motion_sensor_count = ARRAY_SIZE(motion_sensors);
+#endif /* BOARD_TGLRVP_ISH */
int chipset_in_state(int state_mask)
{
diff --git a/board/tglrvp_ish/board.h b/board/tglrvp_ish/board.h
index 702494cdcc..3912e8803a 100644
--- a/board/tglrvp_ish/board.h
+++ b/board/tglrvp_ish/board.h
@@ -9,12 +9,6 @@
#define __CROS_EC_BOARD_H
/*
- * Allow dangerous commands.
- * TODO: Don't use this on production systems.
- */
-#define CONFIG_SYSTEM_UNLOCKED
-
-/*
* By default, enable all console messages except HC, ACPI and event
* The sensor stack is generating a lot of activity.
*/
@@ -25,26 +19,29 @@
#undef CONFIG_DEBUG_ASSERT
#define CONFIG_CLOCK_CRYSTAL
#define CONFIG_ISH_UART_0
+
/* EC */
#define CONFIG_FLASH_SIZE_BYTES 0x80000
#define CONFIG_FPU
#define CONFIG_I2C
#define CONFIG_I2C_CONTROLLER
-#define CONFIG_ACCELGYRO_LSM6DSM /* For LSM6DS3 */
-#define CONFIG_ACCEL_FORCE_MODE_MASK BIT(BASE_ACCEL)
-
/* Host command over HECI */
#define CONFIG_HOST_INTERFACE_HECI
+#ifdef BOARD_TGLRVP_ISH
+#define CONFIG_ACCELGYRO_LSM6DSM /* For LSM6DS3 */
+#define CONFIG_ACCEL_FORCE_MODE_MASK BIT(BASE_ACCEL)
+
/* I2C ports */
#define I2C_PORT_SENSOR ISH_I2C1
-#define CONFIG_CMD_I2C_XFER
/* EC Console Commands */
#define CONFIG_CMD_ACCELS
#define CONFIG_CMD_ACCEL_INFO
#define CONFIG_CMD_TIMERINFO
+#define CONFIG_CMD_I2C_XFER
+#endif /* BOARD_TGLRVP_ISH */
/* Undefined features */
#undef CONFIG_CMD_HASH
diff --git a/board/tglrvp_ish/ec.tasklist b/board/tglrvp_ish/ec.tasklist
index de7d256324..aa98f37479 100644
--- a/board/tglrvp_ish/ec.tasklist
+++ b/board/tglrvp_ish/ec.tasklist
@@ -7,6 +7,14 @@
* See CONFIG_TASK_LIST in config.h for details.
*/
+#ifdef BOARD_ADL_ISH_LITE
+#define CONFIG_TASK_LIST \
+ TASK_ALWAYS(HOOKS, hook_task, NULL, HUGE_TASK_STACK_SIZE, 0) \
+ TASK_NOTEST(CHIPSET, board_idle_task, NULL, IDLE_TASK_STACK_SIZE, 0) \
+ TASK_ALWAYS(CONSOLE, console_task, NULL, LARGER_TASK_STACK_SIZE, 0) \
+ TASK_ALWAYS(HECI_RX, heci_rx_task, NULL, HUGE_TASK_STACK_SIZE, 0) \
+ TASK_ALWAYS(IPC_MNG, ipc_mng_task, NULL, LARGER_TASK_STACK_SIZE, 0)
+#else
#define CONFIG_TASK_LIST \
TASK_ALWAYS(HOOKS, hook_task, NULL, HUGE_TASK_STACK_SIZE, 0) \
TASK_ALWAYS(MOTIONSENSE, motion_sense_task, NULL, LARGER_TASK_STACK_SIZE, 0) \
@@ -15,3 +23,4 @@
TASK_ALWAYS(CONSOLE, console_task, NULL, LARGER_TASK_STACK_SIZE, 0) \
TASK_ALWAYS(HECI_RX, heci_rx_task, NULL, HUGE_TASK_STACK_SIZE, 0) \
TASK_ALWAYS(IPC_MNG, ipc_mng_task, NULL, LARGER_TASK_STACK_SIZE, 0)
+#endif