Skip to content

Commit 382b13b

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 <[email protected]>
1 parent 2b9420a commit 382b13b

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, true);
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, true);
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_mcxa266/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 */
@@ -273,6 +276,9 @@ void board_early_init_hook(void)
273276
*/
274277
#if DT_PROP(DT_NODELABEL(lptmr0), clk_source) == 0x1
275278
CLOCK_SetupFRO16KClocking(kCLKE_16K_SYSTEM | kCLKE_16K_COREMAIN);
279+
#if defined(CONFIG_PM) || defined(CONFIG_POWEROFF)
280+
VBAT_EnableFRO16k(VBAT0, true);
281+
#endif
276282
#elif DT_PROP(DT_NODELABEL(lptmr0), clk_source) == 0x3
277283
CLOCK_AttachClk(kFRO_LF_DIV_to_LPTMR0);
278284
CLOCK_SetClockDiv(kCLOCK_DivLPTMR0, 1u);

boards/nxp/frdm_mcxa346/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 */
@@ -268,6 +271,9 @@ void board_early_init_hook(void)
268271
*/
269272
#if DT_PROP(DT_NODELABEL(lptmr0), clk_source) == 0x1
270273
CLOCK_SetupFRO16KClocking(kCLKE_16K_SYSTEM | kCLKE_16K_COREMAIN);
274+
#if defined(CONFIG_PM) || defined(CONFIG_POWEROFF)
275+
VBAT_EnableFRO16k(VBAT0, true);
276+
#endif
271277
#elif DT_PROP(DT_NODELABEL(lptmr0), clk_source) == 0x3
272278
CLOCK_AttachClk(kFRO_LF_DIV_to_LPTMR0);
273279
CLOCK_SetClockDiv(kCLOCK_DivLPTMR0, 1u);

0 commit comments

Comments
 (0)