summaryrefslogtreecommitdiff
path: root/zephyr/shim/src/ztest_system.c
diff options
context:
space:
mode:
Diffstat (limited to 'zephyr/shim/src/ztest_system.c')
-rw-r--r--zephyr/shim/src/ztest_system.c100
1 files changed, 33 insertions, 67 deletions
diff --git a/zephyr/shim/src/ztest_system.c b/zephyr/shim/src/ztest_system.c
index 7c9d938f53..322876fefe 100644
--- a/zephyr/shim/src/ztest_system.c
+++ b/zephyr/shim/src/ztest_system.c
@@ -7,112 +7,78 @@
#include "cros_version.h"
#include "battery.h"
#include "charge_manager.h"
+#include "sysjump.h"
#define CPRINTS(format, args...) cprints(CC_SYSTEM, format, ## args)
-/* Ongoing actions preventing going into deep-sleep mode. */
-atomic_t sleep_mask;
+static struct jump_data mock_jump_data = {
+};
-void system_common_pre_init(void)
+struct jump_data *get_jump_data(void)
{
+ return &mock_jump_data;
}
-int system_add_jump_tag(uint16_t tag, int version, int size, const void *data)
+__attribute__((weak))
+void system_reset(int flags)
{
- return EC_SUCCESS;
+ __builtin_unreachable();
}
-const uint8_t *system_get_jump_tag(uint16_t tag, int *version, int *size)
-{
- return NULL;
-}
+static uint8_t bbram[SYSTEM_BBRAM_IDX_TRY_SLOT+1];
-#ifdef CONFIG_ZTEST
-struct system_jumped_late_mock system_jumped_late_mock = {
- .ret_val = 0,
- .call_count = 0,
-};
-#endif
-
-int system_jumped_late(void)
+test_mockable int system_get_bbram(enum system_bbram_idx idx, uint8_t *value)
{
-#ifdef CONFIG_ZTEST
- system_jumped_late_mock.call_count++;
-
- return system_jumped_late_mock.ret_val;
-#else
- return 0;
-#endif
+ if (idx <= SYSTEM_BBRAM_IDX_TRY_SLOT) {
+ *value = bbram[idx];
+ return EC_SUCCESS;
+ }
+ return EC_ERROR_INVAL;
}
-enum ec_image system_get_image_copy(void)
+test_mockable int system_set_bbram(enum system_bbram_idx idx, uint8_t value)
{
- return EC_IMAGE_RW;
+ if (idx <= SYSTEM_BBRAM_IDX_TRY_SLOT) {
+ bbram[idx] = value;
+ return EC_SUCCESS;
+ }
+ return EC_ERROR_INVAL;
}
-int system_is_locked(void)
+uint32_t flash_get_rw_offset(enum ec_image copy)
{
return 0;
}
-int system_is_in_rw(void)
+int crec_flash_read(int offset, int size, char *data)
{
- return 1;
+ return EC_ERROR_INVAL;
}
-uint32_t system_get_reset_flags(void)
+test_mockable const char *system_get_chip_vendor(void)
{
- /* Don't power up the AP automatically, let the tests do it if they
- * need to.
- */
- return EC_RESET_FLAG_AP_OFF;
+ return "Testing";
}
-void system_print_banner(void)
+test_mockable const char *system_get_chip_name(void)
{
- printk("Image: %s\n", build_info);
+ return "emu";
}
-void system_set_reset_flags(uint32_t flags)
+test_mockable const char *system_get_chip_revision(void)
{
+ return "";
}
-struct jump_data *get_jump_data(void)
+void board_reset_pd_mcu(void)
{
- return NULL;
}
-__attribute__((weak))
-void system_reset(int flags)
+test_mockable void system_hibernate(uint32_t seconds, uint32_t microseconds)
{
- __builtin_unreachable();
}
-int system_can_boot_ap(void)
+uint32_t crec_flash_get_protect(void)
{
- int soc = -1;
- int pow = -1;
-
-#if defined(CONFIG_BATTERY) && \
- defined(CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON)
- /* Require a minimum battery level to power on. If battery isn't
- * present, battery_state_of_charge_abs returns false.
- */
- if (battery_state_of_charge_abs(&soc) == EC_SUCCESS &&
- soc >= CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON)
- return 1;
-#endif
-
-#if defined(CONFIG_CHARGE_MANAGER) && \
- defined(CONFIG_CHARGER_MIN_POWER_MW_FOR_POWER_ON)
- pow = charge_manager_get_power_limit_uw() / 1000;
- if (pow >= CONFIG_CHARGER_MIN_POWER_MW_FOR_POWER_ON)
- return 1;
-#else
- /* For fixed AC system */
- return 1;
-#endif
-
- CPRINTS("Not enough power to boot (%d %%, %d mW)", soc, pow);
return 0;
}