summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/glados_pd/board.h25
-rw-r--r--board/glados_pd/ec.tasklist2
-rw-r--r--include/hooks.h2
3 files changed, 25 insertions, 4 deletions
diff --git a/board/glados_pd/board.h b/board/glados_pd/board.h
index 0713997921..e24aeef4ed 100644
--- a/board/glados_pd/board.h
+++ b/board/glados_pd/board.h
@@ -9,6 +9,13 @@
#define __CROS_EC_BOARD_H
/*
+ * The console task is too big to include in both RO and RW images. Therefore,
+ * if the console task is defined, then only build an RW image. This can be
+ * useful for debugging to have a full console. Otherwise, without this task,
+ * a full RO and RW is built with a limited one-way output console.
+ */
+#ifdef HAS_TASK_CONSOLE
+/*
* The flash size is only 32kB.
* No space for 2 partitions,
* put only RW at the beginning of the flash
@@ -21,6 +28,7 @@
/* Fake full size if we had a RO partition */
#undef CONFIG_RW_SIZE
#define CONFIG_RW_SIZE CONFIG_FLASH_SIZE
+#endif /* HAS_TASK_CONSOLE */
/* 48 MHz SYSCLK clock frequency */
#define CPU_CLOCK 48000000
@@ -31,9 +39,10 @@
/* Optional features */
#define CONFIG_ADC
+#undef CONFIG_ADC_WATCHDOG
#define CONFIG_BOARD_PRE_INIT
-#undef CONFIG_CONSOLE_HISTORY
-#define CONFIG_CONSOLE_HISTORY 2
+#define CONFIG_COMMON_GPIO_SHORTNAMES
+#undef CONFIG_DEBUG_ASSERT
#define CONFIG_FORCE_CONSOLE_RESUME
#define CONFIG_HIBERNATE
#define CONFIG_HIBERNATE_WAKEUP_PINS STM32_PWR_CSR_EWUP2
@@ -43,6 +52,7 @@
#define CONFIG_I2C_SLAVE_ONLY
#undef CONFIG_LID_SWITCH
#define CONFIG_LOW_POWER_IDLE
+#define CONFIG_LTO
#define CONFIG_STM_HWTIMER32
#undef CONFIG_TASK_PROFILING
#undef CONFIG_UART_TX_BUF_SIZE
@@ -58,6 +68,17 @@
#define CONFIG_WATCHDOG
#undef CONFIG_WATCHDOG_HELP
+#ifdef HAS_TASK_CONSOLE
+#undef CONFIG_CONSOLE_HISTORY
+#define CONFIG_CONSOLE_HISTORY 2
+
+#else
+#undef CONFIG_CONSOLE_CMDHELP
+#define CONFIG_DEBUG_PRINTF
+#define UARTN CONFIG_UART_CONSOLE
+#define UARTN_BASE STM32_USART_BASE(CONFIG_UART_CONSOLE)
+#endif /* HAS_TASK_CONSOLE */
+
/* Use PSTATE embedded in the RO image, not in its own erase block */
#undef CONFIG_FLASH_PSTATE_BANK
#undef CONFIG_FW_PSTATE_SIZE
diff --git a/board/glados_pd/ec.tasklist b/board/glados_pd/ec.tasklist
index 676c13e60d..6401c10057 100644
--- a/board/glados_pd/ec.tasklist
+++ b/board/glados_pd/ec.tasklist
@@ -19,6 +19,6 @@
#define CONFIG_TASK_LIST \
TASK_ALWAYS(HOOKS, hook_task, NULL, LARGER_TASK_STACK_SIZE) \
TASK_NOTEST(HOSTCMD, host_command_task, NULL, TASK_STACK_SIZE) \
- TASK_ALWAYS(CONSOLE, console_task, NULL, TASK_STACK_SIZE) \
+ /* TASK_ALWAYS(CONSOLE, console_task, NULL, TASK_STACK_SIZE) */ \
TASK_ALWAYS(PD_C0, pd_task, NULL, TASK_STACK_SIZE) \
TASK_ALWAYS(PD_C1, pd_task, NULL, TASK_STACK_SIZE)
diff --git a/include/hooks.h b/include/hooks.h
index d62fca9b4a..49617aba95 100644
--- a/include/hooks.h
+++ b/include/hooks.h
@@ -251,7 +251,7 @@ struct deferred_data {
* @param routine Function pointer, with prototype void routine(void)
*/
#define DECLARE_DEFERRED(routine) \
- const struct deferred_data CONCAT2(__deferred_, routine) \
+ const struct deferred_data __keep CONCAT2(__deferred_, routine) \
__attribute__((section(".rodata.deferred"))) \
= {routine}