diff options
-rw-r--r-- | common/hooks.c | 1 | ||||
-rw-r--r-- | core/cortex-m/ec.lds.S | 4 | ||||
-rw-r--r-- | core/cortex-m/link_defs.h | 2 | ||||
-rw-r--r-- | include/hooks.h | 2 |
4 files changed, 9 insertions, 0 deletions
diff --git a/common/hooks.c b/common/hooks.c index 30154a1060..e51503ed31 100644 --- a/common/hooks.c +++ b/common/hooks.c @@ -20,6 +20,7 @@ static const struct hook_ptrs hook_list[] = { {__hooks_init, __hooks_init_end}, {__hooks_freq_change, __hooks_freq_change_end}, {__hooks_sysjump, __hooks_sysjump_end}, + {__hooks_chipset_pre_init, __hooks_chipset_pre_init_end}, {__hooks_chipset_startup, __hooks_chipset_startup_end}, {__hooks_chipset_resume, __hooks_chipset_resume_end}, {__hooks_chipset_suspend, __hooks_chipset_suspend_end}, diff --git a/core/cortex-m/ec.lds.S b/core/cortex-m/ec.lds.S index 393c6c4bc6..be0e20fdd8 100644 --- a/core/cortex-m/ec.lds.S +++ b/core/cortex-m/ec.lds.S @@ -68,6 +68,10 @@ SECTIONS *(.rodata.HOOK_SYSJUMP) __hooks_sysjump_end = .; + __hooks_chipset_pre_init = .; + *(.rodata.HOOK_CHIPSET_PRE_INIT) + __hooks_chipset_pre_init_end = .; + __hooks_chipset_startup = .; *(.rodata.HOOK_CHIPSET_STARTUP) __hooks_chipset_startup_end = .; diff --git a/core/cortex-m/link_defs.h b/core/cortex-m/link_defs.h index 7f029ec667..86c6b0a311 100644 --- a/core/cortex-m/link_defs.h +++ b/core/cortex-m/link_defs.h @@ -24,6 +24,8 @@ extern const struct hook_data __hooks_freq_change[]; extern const struct hook_data __hooks_freq_change_end[]; extern const struct hook_data __hooks_sysjump[]; extern const struct hook_data __hooks_sysjump_end[]; +extern const struct hook_data __hooks_chipset_pre_init[]; +extern const struct hook_data __hooks_chipset_pre_init_end[]; extern const struct hook_data __hooks_chipset_startup[]; extern const struct hook_data __hooks_chipset_startup_end[]; extern const struct hook_data __hooks_chipset_resume[]; diff --git a/include/hooks.h b/include/hooks.h index b8ed296529..a3b35385a3 100644 --- a/include/hooks.h +++ b/include/hooks.h @@ -34,6 +34,8 @@ enum hook_type { * * NOTE: This hook is called with interrupts * disabled! */ + HOOK_CHIPSET_PRE_INIT, /* Initialization for components such as PMU to + * be done before host chipset/AP starts up. */ HOOK_CHIPSET_STARTUP, /* System is starting up. All suspend rails are * now on. */ HOOK_CHIPSET_RESUME, /* System is resuming from suspend, or booting |