1 /*
2  * Copyright 2024 NXP
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef _CLOCK_CONFIG_H_
8 #define _CLOCK_CONFIG_H_
9 
10 #include "fsl_common.h"
11 
12 /*******************************************************************************
13  * Definitions
14  ******************************************************************************/
15 
16 /*******************************************************************************
17  ************************ BOARD_InitBootClocks function ************************
18  ******************************************************************************/
19 
20 #if defined(__cplusplus)
21 extern "C" {
22 #endif /* __cplusplus*/
23 
24 /*!
25  * @brief This function executes default configuration of clocks.
26  *
27  */
28 void BOARD_InitBootClocks(void);
29 
30 #if defined(__cplusplus)
31 }
32 #endif /* __cplusplus*/
33 
34 /*******************************************************************************
35  ********************** Configuration BOARD_BootClockRUN ***********************
36  ******************************************************************************/
37 /*******************************************************************************
38  * Definitions for BOARD_BootClockRUN configuration
39  ******************************************************************************/
40 
41 /* Clock outputs (values are in Hz): */
42 #define BOARD_BOOTCLOCKRUN_AUDIO_PLL_CLK              12287999UL     /* Clock consumers of audio_pll_clk output : N/A */
43 #define BOARD_BOOTCLOCKRUN_AUX0_PLL_CLK               260000000UL    /* Clock consumers of aux0_pll_clk output : N/A */
44 #define BOARD_BOOTCLOCKRUN_AUX1_PLL_CLK               0UL            /* Clock consumers of aux1_pll_clk output : N/A */
45 #define BOARD_BOOTCLOCKRUN_AVPLL_CH1_CLKOUT           12287999UL     /* Clock consumers of avpll_ch1_clkout output : N/A */
46 #define BOARD_BOOTCLOCKRUN_AVPLL_CH2_CLKOUT           63999997UL     /* Clock consumers of avpll_ch2_clkout output : N/A */
47 #define BOARD_BOOTCLOCKRUN_CAU_SLP_CLK                4000000UL      /* Clock consumers of cau_slp_clk output : N/A */
48 #define BOARD_BOOTCLOCKRUN_CLK_32K                    32000UL        /* Clock consumers of clk_32k output : RTC */
49 #define BOARD_BOOTCLOCKRUN_CLK_OUT                    0UL            /* Clock consumers of clk_out output : N/A */
50 #define BOARD_BOOTCLOCKRUN_CLK_PMU_SYS                52000000UL     /* Clock consumers of clk_pmu_sys output : PMU */
51 #define BOARD_BOOTCLOCKRUN_CTIMER0_FCLK               0UL            /* Clock consumers of ctimer0_fclk output : CTIMER0 */
52 #define BOARD_BOOTCLOCKRUN_CTIMER1_FCLK               0UL            /* Clock consumers of ctimer1_fclk output : CTIMER1 */
53 #define BOARD_BOOTCLOCKRUN_CTIMER2_FCLK               0UL            /* Clock consumers of ctimer2_fclk output : CTIMER2 */
54 #define BOARD_BOOTCLOCKRUN_CTIMER3_FCLK               0UL            /* Clock consumers of ctimer3_fclk output : CTIMER3 */
55 #define BOARD_BOOTCLOCKRUN_DMIC_FCLK                  0UL            /* Clock consumers of dmic_fclk output : DMIC0 */
56 #define BOARD_BOOTCLOCKRUN_ELS_128M_CLK               128000000UL    /* Clock consumers of els_128m_clk output : ELS */
57 #define BOARD_BOOTCLOCKRUN_ELS_256M_CLK               256000000UL    /* Clock consumers of els_256m_clk output : N/A */
58 #define BOARD_BOOTCLOCKRUN_ELS_64M_CLK                64000000UL     /* Clock consumers of els_64m_clk output : N/A */
59 #define BOARD_BOOTCLOCKRUN_ELS_FCLK                   0UL            /* Clock consumers of els_fclk output : ELS */
60 #define BOARD_BOOTCLOCKRUN_FFRO_CLK_DIV4              12075471UL     /* Clock consumers of ffro_clk_div4 output : N/A */
61 #define BOARD_BOOTCLOCKRUN_FLEXCOMM0_FCLK             0UL            /* Clock consumers of flexcomm0_fclk output : FLEXCOMM0 */
62 #define BOARD_BOOTCLOCKRUN_FLEXCOMM14_FCLK            0UL            /* Clock consumers of flexcomm14_fclk output : FLEXCOMM14 */
63 #define BOARD_BOOTCLOCKRUN_FLEXCOMM1_FCLK             0UL            /* Clock consumers of flexcomm1_fclk output : FLEXCOMM1 */
64 #define BOARD_BOOTCLOCKRUN_FLEXCOMM2_FCLK             0UL            /* Clock consumers of flexcomm2_fclk output : FLEXCOMM2 */
65 #define BOARD_BOOTCLOCKRUN_FLEXCOMM3_FCLK             0UL            /* Clock consumers of flexcomm3_fclk output : FLEXCOMM3 */
66 #define BOARD_BOOTCLOCKRUN_FLEXSPI_FCLK               0UL            /* Clock consumers of flexspi_fclk output : FLEXSPI */
67 #define BOARD_BOOTCLOCKRUN_GAU_FCLK                   0UL            /* Clock consumers of gau_fclk output : GAU_ACOMP, GAU_BG, GAU_DAC0, GAU_GPADC0, GAU_GPADC1 */
68 #define BOARD_BOOTCLOCKRUN_HCLK                       260000000UL    /* Clock consumers of hclk output : AHB_SECURE_CTRL, APU0, APU1, BLEAPU, BLECTRL, BUCK11, BUCK18, CACHE64_CTRL0, CACHE64_CTRL1, CACHE64_POLSEL0, CACHE64_POLSEL1, CAU, CDOG, CLKCTL0, CLKCTL1, CRC, CTIMER0, CTIMER1, CTIMER2, CTIMER3, DMA0, DMA1, DMIC0, ELS, ENET, FLEXCOMM0, FLEXCOMM1, FLEXCOMM14, FLEXCOMM2, FLEXCOMM3, FLEXSPI, FREQME, GAU_ACOMP, GAU_BG, GAU_DAC0, GAU_GPADC0, GAU_GPADC1, GDMA, GPIO, INPUTMUX, ITRC, LCDIC, MCI_IO_MUX, MRT0, MRT1, OCOTP, OSTIMER, PINT, PKC, PMU, POWERQUAD, PUF, ROMCP, RSTCTL0, RSTCTL1, RTC, SCT0, SDU_FBR_CARD, SDU_FN0_CARD, SDU_FN_CARD, SECGPIO, SENSOR_CTRL, SOCCTRL, SOC_OTP_CTRL, SYSCTL0, SYSCTL1, SYSCTL2, SysTick, TRNG, USBOTG, USIM, UTICK, WLAPU, WLCTRL, WWDT0 */
69 #define BOARD_BOOTCLOCKRUN_LCD_FCLK                   0UL            /* Clock consumers of lcd_fclk output : LCDIC */
70 #define BOARD_BOOTCLOCKRUN_LPOSC_CLK_I                1000000UL      /* Clock consumers of lposc_clk_i output : N/A */
71 #define BOARD_BOOTCLOCKRUN_MAIN_CLK                   260000000UL    /* Clock consumers of main_clk output : N/A */
72 #define BOARD_BOOTCLOCKRUN_MAIN_PLL_CLK               260000000UL    /* Clock consumers of main_pll_clk output : N/A */
73 #define BOARD_BOOTCLOCKRUN_MCLK_OUT                   0UL            /* Clock consumers of mclk_out output : N/A */
74 #define BOARD_BOOTCLOCKRUN_OSEVENT_FCLK               0UL            /* Clock consumers of osevent_fclk output : OSTIMER */
75 #define BOARD_BOOTCLOCKRUN_OTP_FUSE_32M_CLK           32000000UL     /* Clock consumers of otp_fuse_32m_clk output : OCOTP */
76 #define BOARD_BOOTCLOCKRUN_REFCLK_PHY                 40000000UL     /* Clock consumers of refclk_phy output : USBOTG */
77 #define BOARD_BOOTCLOCKRUN_REFCLK_SYS                 0UL            /* Clock consumers of refclk_sys output : N/A */
78 #define BOARD_BOOTCLOCKRUN_SCT_FCLK                   0UL            /* Clock consumers of sct_fclk output : SCT0 */
79 #define BOARD_BOOTCLOCKRUN_SFRO_CLK_I                 16000000UL     /* Clock consumers of sfro_clk_i output : N/A */
80 #define BOARD_BOOTCLOCKRUN_SYSOSC_CLK_I               0UL            /* Clock consumers of sysosc_clk_i output : N/A */
81 #define BOARD_BOOTCLOCKRUN_SYSTICK_FCLK               260000000UL    /* Clock consumers of systick_fclk output : SysTick */
82 #define BOARD_BOOTCLOCKRUN_T3PLL_MCI_213P3M           0UL            /* Clock consumers of t3pll_mci_213p3m output : N/A */
83 #define BOARD_BOOTCLOCKRUN_T3PLL_MCI_256M             256000000UL    /* Clock consumers of t3pll_mci_256m output : N/A */
84 #define BOARD_BOOTCLOCKRUN_T3PLL_MCI_48_60M_IRC       48301886UL     /* Clock consumers of t3pll_mci_48_60m_irc output : N/A */
85 #define BOARD_BOOTCLOCKRUN_T3PLL_MCI_FLEXSPI_CLK      0UL            /* Clock consumers of t3pll_mci_flexspi_clk output : N/A */
86 #define BOARD_BOOTCLOCKRUN_TCPU_MCI_CLK               260000000UL    /* Clock consumers of tcpu_mci_clk output : N/A */
87 #define BOARD_BOOTCLOCKRUN_TCPU_MCI_FLEXSPI_CLK       0UL            /* Clock consumers of tcpu_mci_flexspi_clk output : N/A */
88 #define BOARD_BOOTCLOCKRUN_TDDR_MCI_ENET_CLK          0UL            /* Clock consumers of tddr_mci_enet_clk output : ENET */
89 #define BOARD_BOOTCLOCKRUN_TDDR_MCI_FLEXSPI_CLK       320000000UL    /* Clock consumers of tddr_mci_flexspi_clk output : N/A */
90 #define BOARD_BOOTCLOCKRUN_USIM_FCLK                  0UL            /* Clock consumers of usim_fclk output : USIM */
91 #define BOARD_BOOTCLOCKRUN_UTICK_FCLK                 0UL            /* Clock consumers of utick_fclk output : UTICK */
92 #define BOARD_BOOTCLOCKRUN_WDT0_FCLK                  0UL            /* Clock consumers of wdt0_fclk output : WWDT0 */
93 
94 /*! @brief AVPLL set for BOARD_BootClockRUN configuration.
95  */
96 extern const clock_avpll_config_t avpllConfig_BOARD_BootClockRUN;
97 /*! @brief Clock pre-initialization function.
98  */
99 extern void BOARD_ClockPreConfig(void);
100 /*! @brief Clock post-initialization function.
101  */
102 extern void BOARD_ClockPostConfig(void);
103 /*******************************************************************************
104  * API for BOARD_BootClockRUN configuration
105  ******************************************************************************/
106 #if defined(__cplusplus)
107 extern "C" {
108 #endif /* __cplusplus*/
109 
110 /*!
111  * @brief This function executes configuration of clocks.
112  *
113  */
114 void BOARD_BootClockRUN(void);
115 
116 #if defined(__cplusplus)
117 }
118 #endif /* __cplusplus*/
119 
120 /*******************************************************************************
121  ********************** Configuration BOARD_BootClockLPR ***********************
122  ******************************************************************************/
123 /*******************************************************************************
124  * Definitions for BOARD_BootClockLPR configuration
125  ******************************************************************************/
126 
127 /* Clock outputs (values are in Hz): */
128 #define BOARD_BOOTCLOCKLPR_AUDIO_PLL_CLK              0UL            /* Clock consumers of audio_pll_clk output : N/A */
129 #define BOARD_BOOTCLOCKLPR_AUX0_PLL_CLK               260000000UL    /* Clock consumers of aux0_pll_clk output : N/A */
130 #define BOARD_BOOTCLOCKLPR_AUX1_PLL_CLK               0UL            /* Clock consumers of aux1_pll_clk output : N/A */
131 #define BOARD_BOOTCLOCKLPR_AVPLL_CH1_CLKOUT           0UL            /* Clock consumers of avpll_ch1_clkout output : N/A */
132 #define BOARD_BOOTCLOCKLPR_AVPLL_CH2_CLKOUT           0UL            /* Clock consumers of avpll_ch2_clkout output : N/A */
133 #define BOARD_BOOTCLOCKLPR_CAU_SLP_CLK                0UL            /* Clock consumers of cau_slp_clk output : N/A */
134 #define BOARD_BOOTCLOCKLPR_CLK_32K                    32000UL        /* Clock consumers of clk_32k output : RTC */
135 #define BOARD_BOOTCLOCKLPR_CLK_OUT                    0UL            /* Clock consumers of clk_out output : N/A */
136 #define BOARD_BOOTCLOCKLPR_CLK_PMU_SYS                52000000UL     /* Clock consumers of clk_pmu_sys output : PMU */
137 #define BOARD_BOOTCLOCKLPR_CTIMER0_FCLK               0UL            /* Clock consumers of ctimer0_fclk output : CTIMER0 */
138 #define BOARD_BOOTCLOCKLPR_CTIMER1_FCLK               0UL            /* Clock consumers of ctimer1_fclk output : CTIMER1 */
139 #define BOARD_BOOTCLOCKLPR_CTIMER2_FCLK               0UL            /* Clock consumers of ctimer2_fclk output : CTIMER2 */
140 #define BOARD_BOOTCLOCKLPR_CTIMER3_FCLK               0UL            /* Clock consumers of ctimer3_fclk output : CTIMER3 */
141 #define BOARD_BOOTCLOCKLPR_DMIC_FCLK                  0UL            /* Clock consumers of dmic_fclk output : DMIC0 */
142 #define BOARD_BOOTCLOCKLPR_ELS_128M_CLK               128000000UL    /* Clock consumers of els_128m_clk output : ELS */
143 #define BOARD_BOOTCLOCKLPR_ELS_256M_CLK               256000000UL    /* Clock consumers of els_256m_clk output : N/A */
144 #define BOARD_BOOTCLOCKLPR_ELS_64M_CLK                64000000UL     /* Clock consumers of els_64m_clk output : N/A */
145 #define BOARD_BOOTCLOCKLPR_ELS_FCLK                   0UL            /* Clock consumers of els_fclk output : ELS */
146 #define BOARD_BOOTCLOCKLPR_FFRO_CLK_DIV4              0UL            /* Clock consumers of ffro_clk_div4 output : N/A */
147 #define BOARD_BOOTCLOCKLPR_FLEXCOMM0_FCLK             0UL            /* Clock consumers of flexcomm0_fclk output : FLEXCOMM0 */
148 #define BOARD_BOOTCLOCKLPR_FLEXCOMM14_FCLK            0UL            /* Clock consumers of flexcomm14_fclk output : FLEXCOMM14 */
149 #define BOARD_BOOTCLOCKLPR_FLEXCOMM1_FCLK             0UL            /* Clock consumers of flexcomm1_fclk output : FLEXCOMM1 */
150 #define BOARD_BOOTCLOCKLPR_FLEXCOMM2_FCLK             0UL            /* Clock consumers of flexcomm2_fclk output : FLEXCOMM2 */
151 #define BOARD_BOOTCLOCKLPR_FLEXCOMM3_FCLK             0UL            /* Clock consumers of flexcomm3_fclk output : FLEXCOMM3 */
152 #define BOARD_BOOTCLOCKLPR_FLEXSPI_FCLK               0UL            /* Clock consumers of flexspi_fclk output : FLEXSPI */
153 #define BOARD_BOOTCLOCKLPR_GAU_FCLK                   0UL            /* Clock consumers of gau_fclk output : GAU_ACOMP, GAU_BG, GAU_DAC0, GAU_GPADC0, GAU_GPADC1 */
154 #define BOARD_BOOTCLOCKLPR_HCLK                       260000000UL    /* Clock consumers of hclk output : AHB_SECURE_CTRL, APU0, APU1, BLEAPU, BLECTRL, BUCK11, BUCK18, CACHE64_CTRL0, CACHE64_CTRL1, CACHE64_POLSEL0, CACHE64_POLSEL1, CAU, CDOG, CLKCTL0, CLKCTL1, CRC, CTIMER0, CTIMER1, CTIMER2, CTIMER3, DMA0, DMA1, DMIC0, ELS, ENET, FLEXCOMM0, FLEXCOMM1, FLEXCOMM14, FLEXCOMM2, FLEXCOMM3, FLEXSPI, FREQME, GAU_ACOMP, GAU_BG, GAU_DAC0, GAU_GPADC0, GAU_GPADC1, GDMA, GPIO, INPUTMUX, ITRC, LCDIC, MCI_IO_MUX, MRT0, MRT1, OCOTP, OSTIMER, PINT, PKC, PMU, POWERQUAD, PUF, ROMCP, RSTCTL0, RSTCTL1, RTC, SCT0, SDU_FBR_CARD, SDU_FN0_CARD, SDU_FN_CARD, SECGPIO, SENSOR_CTRL, SOCCTRL, SOC_OTP_CTRL, SYSCTL0, SYSCTL1, SYSCTL2, SysTick, TRNG, USBOTG, USIM, UTICK, WLAPU, WLCTRL, WWDT0 */
155 #define BOARD_BOOTCLOCKLPR_LCD_FCLK                   0UL            /* Clock consumers of lcd_fclk output : LCDIC */
156 #define BOARD_BOOTCLOCKLPR_LPOSC_CLK_I                0UL            /* Clock consumers of lposc_clk_i output : N/A */
157 #define BOARD_BOOTCLOCKLPR_MAIN_CLK                   260000000UL    /* Clock consumers of main_clk output : N/A */
158 #define BOARD_BOOTCLOCKLPR_MAIN_PLL_CLK               260000000UL    /* Clock consumers of main_pll_clk output : N/A */
159 #define BOARD_BOOTCLOCKLPR_MCLK_OUT                   0UL            /* Clock consumers of mclk_out output : N/A */
160 #define BOARD_BOOTCLOCKLPR_OSEVENT_FCLK               0UL            /* Clock consumers of osevent_fclk output : OSTIMER */
161 #define BOARD_BOOTCLOCKLPR_OTP_FUSE_32M_CLK           32000000UL     /* Clock consumers of otp_fuse_32m_clk output : OCOTP */
162 #define BOARD_BOOTCLOCKLPR_REFCLK_PHY                 40000000UL     /* Clock consumers of refclk_phy output : USBOTG */
163 #define BOARD_BOOTCLOCKLPR_REFCLK_SYS                 40000000UL     /* Clock consumers of refclk_sys output : N/A */
164 #define BOARD_BOOTCLOCKLPR_SCT_FCLK                   0UL            /* Clock consumers of sct_fclk output : SCT0 */
165 #define BOARD_BOOTCLOCKLPR_SFRO_CLK_I                 16000000UL     /* Clock consumers of sfro_clk_i output : N/A */
166 #define BOARD_BOOTCLOCKLPR_SYSOSC_CLK_I               0UL            /* Clock consumers of sysosc_clk_i output : N/A */
167 #define BOARD_BOOTCLOCKLPR_SYSTICK_FCLK               260000000UL    /* Clock consumers of systick_fclk output : SysTick */
168 #define BOARD_BOOTCLOCKLPR_T3PLL_MCI_213P3M           0UL            /* Clock consumers of t3pll_mci_213p3m output : N/A */
169 #define BOARD_BOOTCLOCKLPR_T3PLL_MCI_256M             256000000UL    /* Clock consumers of t3pll_mci_256m output : N/A */
170 #define BOARD_BOOTCLOCKLPR_T3PLL_MCI_48_60M_IRC       0UL            /* Clock consumers of t3pll_mci_48_60m_irc output : N/A */
171 #define BOARD_BOOTCLOCKLPR_T3PLL_MCI_FLEXSPI_CLK      0UL            /* Clock consumers of t3pll_mci_flexspi_clk output : N/A */
172 #define BOARD_BOOTCLOCKLPR_TCPU_MCI_CLK               260000000UL    /* Clock consumers of tcpu_mci_clk output : N/A */
173 #define BOARD_BOOTCLOCKLPR_TCPU_MCI_FLEXSPI_CLK       0UL            /* Clock consumers of tcpu_mci_flexspi_clk output : N/A */
174 #define BOARD_BOOTCLOCKLPR_TDDR_MCI_ENET_CLK          0UL            /* Clock consumers of tddr_mci_enet_clk output : ENET */
175 #define BOARD_BOOTCLOCKLPR_TDDR_MCI_FLEXSPI_CLK       0UL            /* Clock consumers of tddr_mci_flexspi_clk output : N/A */
176 #define BOARD_BOOTCLOCKLPR_USIM_FCLK                  0UL            /* Clock consumers of usim_fclk output : USIM */
177 #define BOARD_BOOTCLOCKLPR_UTICK_FCLK                 0UL            /* Clock consumers of utick_fclk output : UTICK */
178 #define BOARD_BOOTCLOCKLPR_WDT0_FCLK                  0UL            /* Clock consumers of wdt0_fclk output : WWDT0 */
179 
180 /*******************************************************************************
181  * API for BOARD_BootClockLPR configuration
182  ******************************************************************************/
183 #if defined(__cplusplus)
184 extern "C" {
185 #endif /* __cplusplus*/
186 
187 /*!
188  * @brief This function executes configuration of clocks.
189  *
190  */
191 void BOARD_BootClockLPR(void);
192 
193 #if defined(__cplusplus)
194 }
195 #endif /* __cplusplus*/
196 
197 #endif /* _CLOCK_CONFIG_H_ */
198 
199