diff options
Diffstat (limited to 'zephyr/shim/src/ztest_system.c')
-rw-r--r-- | zephyr/shim/src/ztest_system.c | 100 |
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; } |