Skip to content

Commit 8b051b5

Browse files
committed
boards: nxp: mcxa series: Enable FRO16k for LPTMR
Enabled FRO16k for LPTMR when LPTMR clock source is set to 0x1. Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
1 parent 3ef23db commit 8b051b5

File tree

4 files changed

+25
-1
lines changed

4 files changed

+25
-1
lines changed

boards/nxp/frdm_mcxa153/board.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
#include <zephyr/dt-bindings/clock/mcux_lpc_syscon_clock.h>
88
#include <fsl_clock.h>
99
#include <fsl_spc.h>
10+
#if defined(CONFIG_PM) || defined(CONFIG_POWEROFF)
11+
#include <fsl_vbat.h>
12+
#endif
1013
#include <soc.h>
1114

1215
/* Core clock frequency: 96MHz */
@@ -151,6 +154,9 @@ void board_early_init_hook(void)
151154
*/
152155
#if DT_PROP(DT_NODELABEL(lptmr0), clk_source) == 0x1
153156
CLOCK_SetupFRO16KClocking(kCLKE_16K_SYSTEM | kCLKE_16K_COREMAIN);
157+
#if defined(CONFIG_PM) || defined(CONFIG_POWEROFF)
158+
VBAT_EnableFRO16k(VBAT0, false);
159+
#endif
154160
#elif DT_PROP(DT_NODELABEL(lptmr0), clk_source) == 0x3
155161
CLOCK_SetClockDiv(kCLOCK_DivLPTMR0, 1u);
156162
CLOCK_AttachClk(kFRO12M_to_LPTMR0);

boards/nxp/frdm_mcxa156/board.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
/*
2-
* Copyright 2024 NXP
2+
* Copyright 2024-2025 NXP
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55
#include <zephyr/init.h>
66
#include <zephyr/device.h>
77
#include <zephyr/dt-bindings/clock/mcux_lpc_syscon_clock.h>
88
#include <fsl_clock.h>
99
#include <fsl_spc.h>
10+
#if defined(CONFIG_PM) || defined(CONFIG_POWEROFF)
11+
#include <fsl_vbat.h>
12+
#endif
1013
#include <soc.h>
1114

1215
/* Core clock frequency: 96MHz */
@@ -227,6 +230,9 @@ void board_early_init_hook(void)
227230
* 3 <- Combination of clocks configured in MRCC_LPTMR0_CLKSEL[MUX] field
228231
*/
229232
#if DT_PROP(DT_NODELABEL(lptmr0), clk_source) == 0x1
233+
#if defined(CONFIG_PM) || defined(CONFIG_POWEROFF)
234+
VBAT_EnableFRO16k(VBAT0, false);
235+
#endif
230236
CLOCK_SetupFRO16KClocking(kCLKE_16K_SYSTEM | kCLKE_16K_COREMAIN);
231237
#elif DT_PROP(DT_NODELABEL(lptmr0), clk_source) == 0x3
232238
CLOCK_SetClockDiv(kCLOCK_DivLPTMR0, 1u);

boards/nxp/frdm_mcxa166/board.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
#include <zephyr/dt-bindings/clock/mcux_lpc_syscon_clock.h>
88
#include <fsl_clock.h>
99
#include <fsl_spc.h>
10+
#if defined(CONFIG_PM) || defined(CONFIG_POWEROFF)
11+
#include <fsl_vbat.h>
12+
#endif
1013
#include <soc.h>
1114

1215
/* Core clock frequency: 180MHz */
@@ -250,6 +253,9 @@ void board_early_init_hook(void)
250253
*/
251254
#if DT_PROP(DT_NODELABEL(lptmr0), clk_source) == 0x1
252255
CLOCK_SetupFRO16KClocking(kCLKE_16K_SYSTEM | kCLKE_16K_COREMAIN);
256+
#if defined(CONFIG_PM) || defined(CONFIG_POWEROFF)
257+
VBAT_EnableFRO16k(VBAT0, false);
258+
#endif
253259
#elif DT_PROP(DT_NODELABEL(lptmr0), clk_source) == 0x3
254260
CLOCK_AttachClk(kFRO_LF_DIV_to_LPTMR0);
255261
CLOCK_SetClockDiv(kCLOCK_DivLPTMR0, 1u);

boards/nxp/frdm_mcxa276/board.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
#include <zephyr/dt-bindings/clock/mcux_lpc_syscon_clock.h>
88
#include <fsl_clock.h>
99
#include <fsl_spc.h>
10+
#if defined(CONFIG_PM) || defined(CONFIG_POWEROFF)
11+
#include <fsl_vbat.h>
12+
#endif
1013
#include <soc.h>
1114

1215
/* Core clock frequency: 180MHz */
@@ -255,6 +258,9 @@ void board_early_init_hook(void)
255258
*/
256259
#if DT_PROP(DT_NODELABEL(lptmr0), clk_source) == 0x1
257260
CLOCK_SetupFRO16KClocking(kCLKE_16K_SYSTEM | kCLKE_16K_COREMAIN);
261+
#if defined(CONFIG_PM) || defined(CONFIG_POWEROFF)
262+
VBAT_EnableFRO16k(VBAT0, false);
263+
#endif
258264
#elif DT_PROP(DT_NODELABEL(lptmr0), clk_source) == 0x3
259265
CLOCK_AttachClk(kFRO_LF_DIV_to_LPTMR0);
260266
CLOCK_SetClockDiv(kCLOCK_DivLPTMR0, 1u);

0 commit comments

Comments
 (0)