diff --git a/boards/nxp/frdm_mcxa156/Kconfig b/boards/nxp/frdm_mcxa156/Kconfig index 23271bc179f..f71a70e94ea 100644 --- a/boards/nxp/frdm_mcxa156/Kconfig +++ b/boards/nxp/frdm_mcxa156/Kconfig @@ -1,8 +1,5 @@ -# Copyright 2024 NXP +# Copyright 2024-2025 NXP # SPDX-License-Identifier: Apache-2.0 -config BOARD_INIT_PRIORITY - int "Board initialization priority" - default 1 - help - Board initialization priority. +config BOARD_FRDM_MCXA156 + select BOARD_EARLY_INIT_HOOK diff --git a/boards/nxp/frdm_mcxa156/board.c b/boards/nxp/frdm_mcxa156/board.c index 6c2da318025..eae24a90654 100644 --- a/boards/nxp/frdm_mcxa156/board.c +++ b/boards/nxp/frdm_mcxa156/board.c @@ -15,7 +15,7 @@ /* System clock frequency. */ extern uint32_t SystemCoreClock; -static int frdm_mcxa156_init(void) +void board_early_init_hook(void) { uint32_t coreFreq; spc_active_mode_core_ldo_option_t ldoOption; @@ -238,8 +238,4 @@ static int frdm_mcxa156_init(void) /* Set SystemCoreClock variable. */ SystemCoreClock = CLOCK_INIT_CORE_CLOCK; - - return 0; } - -SYS_INIT(frdm_mcxa156_init, PRE_KERNEL_1, CONFIG_BOARD_INIT_PRIORITY); diff --git a/boards/nxp/frdm_mcxn236/Kconfig b/boards/nxp/frdm_mcxn236/Kconfig index 23271bc179f..db8c981eda9 100644 --- a/boards/nxp/frdm_mcxn236/Kconfig +++ b/boards/nxp/frdm_mcxn236/Kconfig @@ -1,8 +1,5 @@ -# Copyright 2024 NXP +# Copyright 2024-2025 NXP # SPDX-License-Identifier: Apache-2.0 - -config BOARD_INIT_PRIORITY - int "Board initialization priority" - default 1 - help - Board initialization priority. +# +config BOARD_FRDM_MCXN236 + select BOARD_EARLY_INIT_HOOK diff --git a/boards/nxp/frdm_mcxn236/board.c b/boards/nxp/frdm_mcxn236/board.c index d0a09a0fb34..35ce1fbd720 100644 --- a/boards/nxp/frdm_mcxn236/board.c +++ b/boards/nxp/frdm_mcxn236/board.c @@ -57,7 +57,7 @@ void power_mode_od(void) SPC_SetSRAMOperateVoltage(SPC0, &cfg); } -static int frdm_mcxn236_init(void) +void board_early_init_hook(void) { enable_lpcac(); @@ -301,8 +301,4 @@ static int frdm_mcxn236_init(void) /* Set SystemCoreClock variable. */ SystemCoreClock = CLOCK_INIT_CORE_CLOCK; - - return 0; } - -SYS_INIT(frdm_mcxn236_init, PRE_KERNEL_1, CONFIG_BOARD_INIT_PRIORITY); diff --git a/boards/nxp/frdm_mcxn947/Kconfig b/boards/nxp/frdm_mcxn947/Kconfig index 23271bc179f..2e1614f868b 100644 --- a/boards/nxp/frdm_mcxn947/Kconfig +++ b/boards/nxp/frdm_mcxn947/Kconfig @@ -1,8 +1,5 @@ -# Copyright 2024 NXP +# Copyright 2024-2025 NXP # SPDX-License-Identifier: Apache-2.0 -config BOARD_INIT_PRIORITY - int "Board initialization priority" - default 1 - help - Board initialization priority. +config BOARD_FRDM_MCXN947 + select BOARD_EARLY_INIT_HOOK diff --git a/boards/nxp/frdm_mcxn947/board.c b/boards/nxp/frdm_mcxn947/board.c index baa6c7ebb51..96f8f8f38d6 100644 --- a/boards/nxp/frdm_mcxn947/board.c +++ b/boards/nxp/frdm_mcxn947/board.c @@ -84,7 +84,7 @@ __ramfunc static void enable_cache64(void) } #endif -static int frdm_mcxn947_init(void) +void board_early_init_hook(void) { power_mode_od(); @@ -394,8 +394,4 @@ static int frdm_mcxn947_init(void) /* Set SystemCoreClock variable. */ SystemCoreClock = CLOCK_INIT_CORE_CLOCK; - - return 0; } - -SYS_INIT(frdm_mcxn947_init, PRE_KERNEL_1, CONFIG_BOARD_INIT_PRIORITY); diff --git a/boards/nxp/lpcxpresso55s69/Kconfig b/boards/nxp/lpcxpresso55s69/Kconfig new file mode 100644 index 00000000000..160ff5a7121 --- /dev/null +++ b/boards/nxp/lpcxpresso55s69/Kconfig @@ -0,0 +1,5 @@ +# Copyright 2024-2025 NXP +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_LPCXPRESSO55S69 + select BOARD_EARLY_INIT_HOOK diff --git a/boards/nxp/lpcxpresso55s69/board.c b/boards/nxp/lpcxpresso55s69/board.c index 9908b589b98..f3c367e570b 100644 --- a/boards/nxp/lpcxpresso55s69/board.c +++ b/boards/nxp/lpcxpresso55s69/board.c @@ -8,7 +8,7 @@ #include #include -static int lpcxpresso_55s69_board_init(void) +void board_early_init_hook(void) { #if (DT_NODE_HAS_COMPAT_STATUS(DT_NODELABEL(flexcomm6), nxp_lpc_i2s, okay)) && \ @@ -47,8 +47,4 @@ static int lpcxpresso_55s69_board_init(void) #endif #endif - - return 0; } - -SYS_INIT(lpcxpresso_55s69_board_init, PRE_KERNEL_1, 0); diff --git a/boards/nxp/mimxrt1180_evk/Kconfig b/boards/nxp/mimxrt1180_evk/Kconfig new file mode 100644 index 00000000000..af3247b1354 --- /dev/null +++ b/boards/nxp/mimxrt1180_evk/Kconfig @@ -0,0 +1,5 @@ +# Copyright 2025 NXP +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_MIMXRT1180_EVK + select BOARD_EARLY_INIT_HOOK diff --git a/boards/nxp/mimxrt1180_evk/Kconfig.defconfig b/boards/nxp/mimxrt1180_evk/Kconfig.defconfig index 47c1f2f8262..2724201d047 100644 --- a/boards/nxp/mimxrt1180_evk/Kconfig.defconfig +++ b/boards/nxp/mimxrt1180_evk/Kconfig.defconfig @@ -12,9 +12,6 @@ config EXTERNAL_MEM_CONFIG_DATA config NXP_IMX_EXTERNAL_HYPERRAM default y if CPU_CORTEX_M33 -config BOARD_EARLY_INIT_HOOK - default y - if SECOND_CORE_MCUX && BOARD_MIMXRT1180_EVK_MIMXRT1189_CM7 config BUILD_OUTPUT_INFO_HEADER diff --git a/boards/nxp/mimxrt595_evk/Kconfig b/boards/nxp/mimxrt595_evk/Kconfig index c97c859f16d..33b997c2518 100644 --- a/boards/nxp/mimxrt595_evk/Kconfig +++ b/boards/nxp/mimxrt595_evk/Kconfig @@ -1,12 +1,9 @@ -# Copyright 2022, NXP +# Copyright 2022, 2025 NXP # Copyright (c) 2023 Google LLC. # SPDX-License-Identifier: Apache-2.0 -config BOARD_INIT_PRIORITY - int "Board initialization priority" - default 45 - help - Board initialization priority. +config BOARD_MIMXRT595_EVK + select BOARD_EARLY_INIT_HOOK if BOARD_MIMXRT595_EVK_MIMXRT595S_CM33 DT_ADSP_RESET_MEM := $(dt_nodelabel_path,adsp_reset) DT_ADSP_DATA_MEM := $(dt_nodelabel_path,adsp_data) diff --git a/boards/nxp/mimxrt595_evk/board.c b/boards/nxp/mimxrt595_evk/board.c index 3c108a2395c..4c4e7f65cd6 100644 --- a/boards/nxp/mimxrt595_evk/board.c +++ b/boards/nxp/mimxrt595_evk/board.c @@ -263,7 +263,7 @@ __ramfunc int32_t power_manager_set_profile(uint32_t power_profile) #endif /* CONFIG_REGULATOR */ -static int mimxrt595_evk_init(void) +void board_early_init_hook(void) { /* Set the correct voltage range according to the board. */ power_pad_vrange_t vrange = { @@ -385,8 +385,6 @@ static int mimxrt595_evk_init(void) rd_trim_96 = CLKCTL0->FRO_RDTRIM; sc_trim_96 = sc_trim_192; } - - return 0; } @@ -417,5 +415,3 @@ SYS_INIT(board_config_pmic, POST_KERNEL, CONFIG_APPLICATION_INIT_PRIORITY); */ SYS_INIT(init_psram_framebufs, POST_KERNEL, CONFIG_APPLICATION_INIT_PRIORITY); #endif - -SYS_INIT(mimxrt595_evk_init, PRE_KERNEL_1, CONFIG_BOARD_INIT_PRIORITY); diff --git a/boards/nxp/mimxrt685_evk/Kconfig b/boards/nxp/mimxrt685_evk/Kconfig index 593dcf929c6..88f3b34861b 100644 --- a/boards/nxp/mimxrt685_evk/Kconfig +++ b/boards/nxp/mimxrt685_evk/Kconfig @@ -1,8 +1,6 @@ +# Copyright 2025 NXP # Copyright (c) 2022 Nordic Semiconductor ASA # SPDX-License-Identifier: Apache-2.0 -config BOARD_INIT_PRIORITY - int "Board initialization priority" - default 45 - help - Board initialization priority. +config BOARD_MIMXRT685_EVK + select BOARD_EARLY_INIT_HOOK diff --git a/boards/nxp/mimxrt685_evk/init.c b/boards/nxp/mimxrt685_evk/init.c index 8c0cd087881..f2f6755aafa 100644 --- a/boards/nxp/mimxrt685_evk/init.c +++ b/boards/nxp/mimxrt685_evk/init.c @@ -7,7 +7,7 @@ #include #include -static int mimxrt685_evk_init(void) +void board_early_init_hook(void) { /* flexcomm1 and flexcomm3 are configured to loopback the TX signal to RX */ @@ -54,8 +54,4 @@ static int mimxrt685_evk_init(void) */ OCOTP->OTP_SHADOW[97] = 0x314000; #endif /* CONFIG_REBOOT */ - - return 0; } - -SYS_INIT(mimxrt685_evk_init, PRE_KERNEL_1, CONFIG_BOARD_INIT_PRIORITY); diff --git a/boards/nxp/mimxrt700_evk/Kconfig b/boards/nxp/mimxrt700_evk/Kconfig new file mode 100644 index 00000000000..26c13047452 --- /dev/null +++ b/boards/nxp/mimxrt700_evk/Kconfig @@ -0,0 +1,7 @@ +# Copyright 2025 NXP +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_MIMXRT700_EVK + select BOARD_EARLY_INIT_HOOK if \ + BOARD_MIMXRT700_EVK_MIMXRT798S_CM33_CPU0 || \ + BOARD_MIMXRT700_EVK_MIMXRT798S_CM33_CPU1 diff --git a/boards/nxp/mimxrt700_evk/mimxrt700_evk_mimxrt798s_cm33_cpu0_defconfig b/boards/nxp/mimxrt700_evk/mimxrt700_evk_mimxrt798s_cm33_cpu0_defconfig index 9c7cb038062..2e0bfcbd83e 100644 --- a/boards/nxp/mimxrt700_evk/mimxrt700_evk_mimxrt798s_cm33_cpu0_defconfig +++ b/boards/nxp/mimxrt700_evk/mimxrt700_evk_mimxrt798s_cm33_cpu0_defconfig @@ -12,7 +12,6 @@ CONFIG_GPIO=y CONFIG_ARM_MPU=y CONFIG_HW_STACK_PROTECTION=y -CONFIG_BOARD_EARLY_INIT_HOOK=y # Enable TrustZone-M CONFIG_TRUSTED_EXECUTION_SECURE=y diff --git a/boards/nxp/mimxrt700_evk/mimxrt700_evk_mimxrt798s_cm33_cpu1_defconfig b/boards/nxp/mimxrt700_evk/mimxrt700_evk_mimxrt798s_cm33_cpu1_defconfig index a7a0f73244a..29cdb5d3cfd 100644 --- a/boards/nxp/mimxrt700_evk/mimxrt700_evk_mimxrt798s_cm33_cpu1_defconfig +++ b/boards/nxp/mimxrt700_evk/mimxrt700_evk_mimxrt798s_cm33_cpu1_defconfig @@ -12,7 +12,6 @@ CONFIG_GPIO=y CONFIG_ARM_MPU=y CONFIG_HW_STACK_PROTECTION=y -CONFIG_BOARD_EARLY_INIT_HOOK=y # Enable TrustZone-M CONFIG_TRUSTED_EXECUTION_SECURE=y