From b588e9feb882b3c5421b468fbada577108ba3ef0 Mon Sep 17 00:00:00 2001 From: Sam Hurst Date: Thu, 2 Jul 2020 21:27:00 -0700 Subject: EC: Add additional stack sizes Add two additional stack sizes for tasks that need more stack space. BRANCH=none BUG=b:155813111 TEST=make -j buildall Manual: Changed waddledee's TypeC ports0 and 1 to ULTRA_STACK_SIZE and TRENTA_STACK_SIZE and make -j buildall without errors. Signed-off-by: Sam Hurst Change-Id: I927d5b978c705f49d1b3a85a09c4020d7fd9ee84 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2280486 Reviewed-by: Aseda Aboagye (cherry picked from commit 221510d14a9b9dfeda7e3ede032273f1b5186a72) Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2303282 Reviewed-by: Brian Nemec Commit-Queue: Brian Nemec Tested-by: Brian Nemec --- chip/it83xx/config_chip.h | 2 ++ chip/mt8192_scp/config_chip.h | 56 +++++++++++++++++++++++++++++++++++++++++++ chip/npcx/config_chip.h | 2 ++ chip/stm32/config_chip.h | 2 ++ 4 files changed, 62 insertions(+) create mode 100644 chip/mt8192_scp/config_chip.h diff --git a/chip/it83xx/config_chip.h b/chip/it83xx/config_chip.h index 1eb0c0f05a..2cc683ba20 100644 --- a/chip/it83xx/config_chip.h +++ b/chip/it83xx/config_chip.h @@ -42,6 +42,8 @@ #define IDLE_TASK_STACK_SIZE (512 + CHIP_EXTRA_STACK_SPACE) #define LARGER_TASK_STACK_SIZE (768 + CHIP_EXTRA_STACK_SPACE) #define VENTI_TASK_STACK_SIZE (896 + CHIP_EXTRA_STACK_SPACE) +#define ULTRA_TASK_STACK_SIZE (1056 + CHIP_EXTRA_STACK_SPACE) +#define TRENTA_TASK_STACK_SIZE (1184 + CHIP_EXTRA_STACK_SPACE) /* Default task stack size */ #define TASK_STACK_SIZE (512 + CHIP_EXTRA_STACK_SPACE) diff --git a/chip/mt8192_scp/config_chip.h b/chip/mt8192_scp/config_chip.h new file mode 100644 index 0000000000..a17c33df01 --- /dev/null +++ b/chip/mt8192_scp/config_chip.h @@ -0,0 +1,56 @@ +/* Copyright 2020 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#ifndef __CROS_EC_CONFIG_CHIP_H +#define __CROS_EC_CONFIG_CHIP_H + +#include "core/riscv-rv32i/config_core.h" + +/* Interval between HOOK_TICK notifications */ +#define HOOK_TICK_INTERVAL_MS 500 +#define HOOK_TICK_INTERVAL (HOOK_TICK_INTERVAL_MS * MSEC) + +/* RW only, no flash */ +#undef CONFIG_FW_INCLUDE_RO +#define CONFIG_RO_MEM_OFF 0 +#define CONFIG_RO_SIZE 0 +#define CONFIG_RW_MEM_OFF 0 +#define CONFIG_RW_SIZE 0x40000 /* 256KB */ +#define CONFIG_EC_WRITABLE_STORAGE_OFF 0 +#define CONFIG_EC_PROTECTED_STORAGE_OFF 0 +#define CONFIG_RO_STORAGE_OFF 0 +#define CONFIG_RW_STORAGE_OFF 0 +#define CONFIG_PROGRAM_MEMORY_BASE 0 +#define CONFIG_MAPPED_STORAGE_BASE 0 + +/* Unsupported features/commands */ +#undef CONFIG_CMD_FLASHINFO +#undef CONFIG_CMD_POWER_AP +#undef CONFIG_FLASH +#undef CONFIG_FLASH_PHYSICAL +#undef CONFIG_FMAP +#undef CONFIG_HIBERNATE +#undef CONFIG_LID_SWITCH + +/* Task stack size */ +#define CONFIG_STACK_SIZE 1024 +#define IDLE_TASK_STACK_SIZE 256 +#define SMALLER_TASK_STACK_SIZE 384 +#define TASK_STACK_SIZE 488 +#define LARGER_TASK_STACK_SIZE 640 +#define VENTI_TASK_STACK_SIZE 768 +#define ULTRA_TASK_STACK_SIZE 1056 +#define TRENTA_TASK_STACK_SIZE 1184 + +/* TODO: need to confirm, placeholder */ +#define GPIO_PIN(num) ((num) / 32), ((num) % 32) +#define GPIO_PIN_MASK(p, m) .port = (p), .mask = (m) +#undef CONFIG_TASK_PROFILING +/* TODO: not yet supported */ +#undef CONFIG_MPU +/* TODO: core/riscv-rv32i pollution */ +#define __ram_code + +#endif /* __CROS_EC_CONFIG_CHIP_H */ diff --git a/chip/npcx/config_chip.h b/chip/npcx/config_chip.h index 45c8a60754..d74a2c0525 100644 --- a/chip/npcx/config_chip.h +++ b/chip/npcx/config_chip.h @@ -42,6 +42,8 @@ #define IDLE_TASK_STACK_SIZE 672 #define LARGER_TASK_STACK_SIZE 800 #define VENTI_TASK_STACK_SIZE 928 +#define ULTRA_TASK_STACK_SIZE 1056 +#define TRENTA_TASK_STACK_SIZE 1184 #define CHARGER_TASK_STACK_SIZE 800 #define HOOKS_TASK_STACK_SIZE 800 diff --git a/chip/stm32/config_chip.h b/chip/stm32/config_chip.h index ef20aa6437..5b43b4a4c6 100644 --- a/chip/stm32/config_chip.h +++ b/chip/stm32/config_chip.h @@ -104,6 +104,8 @@ /* Even bigger */ #define VENTI_TASK_STACK_SIZE 768 +#define ULTRA_TASK_STACK_SIZE 1056 +#define TRENTA_TASK_STACK_SIZE 1184 /* Interval between HOOK_TICK notifications */ #define HOOK_TICK_INTERVAL_MS 500 -- cgit v1.2.1