Skip to content

Commit 4cd9f99

Browse files
Zhiqiang-Hoummahadevan108
authored andcommitted
mcux-sdk: devices: add mimx9131 device support
These files are copied from mcux-sdk. Signed-off-by: Hou Zhiqiang <[email protected]>
1 parent ff37353 commit 4cd9f99

15 files changed

+141614
-0
lines changed

mcux/mcux-sdk/devices/MIMX9131/MIMX9131.h

Lines changed: 138365 additions & 0 deletions
Large diffs are not rendered by default.

mcux/mcux-sdk/devices/MIMX9131/MIMX9131_features.h

Lines changed: 671 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
list(APPEND CMAKE_MODULE_PATH
2+
${CMAKE_CURRENT_LIST_DIR}/.
3+
${CMAKE_CURRENT_LIST_DIR}/../../CMSIS/Core_AArch64/Include
4+
${CMAKE_CURRENT_LIST_DIR}/../../components/i2c
5+
${CMAKE_CURRENT_LIST_DIR}/../../components/lists
6+
${CMAKE_CURRENT_LIST_DIR}/../../components/phy
7+
${CMAKE_CURRENT_LIST_DIR}/../../components/phy/device/phyrtl8211f
8+
${CMAKE_CURRENT_LIST_DIR}/../../components/phy/mdio
9+
${CMAKE_CURRENT_LIST_DIR}/../../components/phy/mdio/enet
10+
${CMAKE_CURRENT_LIST_DIR}/../../components/phy/mdio/enet_qos
11+
${CMAKE_CURRENT_LIST_DIR}/../../components/serial_manager
12+
${CMAKE_CURRENT_LIST_DIR}/../../components/uart
13+
${CMAKE_CURRENT_LIST_DIR}/../../drivers/cache/armv8-a
14+
${CMAKE_CURRENT_LIST_DIR}/../../drivers/common
15+
${CMAKE_CURRENT_LIST_DIR}/../../drivers/enet
16+
${CMAKE_CURRENT_LIST_DIR}/../../drivers/enet_qos
17+
${CMAKE_CURRENT_LIST_DIR}/../../drivers/flexcan
18+
${CMAKE_CURRENT_LIST_DIR}/../../drivers/lptmr
19+
${CMAKE_CURRENT_LIST_DIR}/../../drivers/tpm
20+
${CMAKE_CURRENT_LIST_DIR}/../../drivers/lpi2c
21+
${CMAKE_CURRENT_LIST_DIR}/../../drivers/lpuart
22+
${CMAKE_CURRENT_LIST_DIR}/../../drivers/mu1
23+
${CMAKE_CURRENT_LIST_DIR}/../../drivers/rgpio
24+
${CMAKE_CURRENT_LIST_DIR}/../../drivers/sai
25+
${CMAKE_CURRENT_LIST_DIR}/../../utilities/assert
26+
${CMAKE_CURRENT_LIST_DIR}/../../utilities
27+
${CMAKE_CURRENT_LIST_DIR}/../../utilities/misc_utilities
28+
${CMAKE_CURRENT_LIST_DIR}/drivers
29+
)
30+
31+
32+
# Copy the cmake components into projects
33+
# include(driver_lpi2c)
34+
# include(driver_lpi2c_edma)
35+
# include(driver_lpi2c_freertos)
36+
# include(driver_lpuart_dma)
37+
# include(driver_lpuart_edma)
38+
# include(driver_lpuart_freertos)
39+
# include(component_lpi2c_adapter)
40+
# include(component_lpuart_adapter)
41+
# include(component_lists)
42+
# include(component_serial_manager)
43+
# include(component_serial_manager_uart)
44+
# include(device_startup)
45+
# include(device_system)
46+
# include(driver_cache_armv8a)
47+
# include(driver_common)
48+
# include(driver_enet)
49+
# include(driver_flexcan)
50+
# include(driver_lptmr)
51+
# include(driver_tpm)
52+
# include(driver_rgpio)
53+
# include(driver_lpuart)
54+
# include(driver_mdio-enet)
55+
# include(driver_mu1)
56+
# include(driver_phy-device-rtl8211f)
57+
# include(driver_sai)
58+
# include(middleware_freertos-kernel_aarch64)
59+
# include(middleware_freertos-kernel_extension)
60+
# include(middleware_freertos-kernel_heap_4)
61+
# include(utilities_misc_utilities)
62+
# include(utility_assert)
63+
# include(utility_debug_console)
64+
# include(utility_debug_console_lite)
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#Description: device_CMSIS; user_visible: False
2+
include_guard(GLOBAL)
3+
message("device_CMSIS component is included.")
4+
5+
target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
6+
)
7+
8+
target_include_directories(${MCUX_SDK_PROJECT_NAME} PUBLIC
9+
${CMAKE_CURRENT_LIST_DIR}/.
10+
)
11+
12+
13+
if(${MCUX_DEVICE} STREQUAL "MIMX9131")
14+
include(CMSIS_Include_core_ca OPTIONAL)
15+
endif()
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#Description: device_system; user_visible: False
2+
include_guard(GLOBAL)
3+
message("device_system component is included.")
4+
5+
target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
6+
${CMAKE_CURRENT_LIST_DIR}/system_MIMX9131.c
7+
)
8+
9+
target_include_directories(${MCUX_SDK_PROJECT_NAME} PUBLIC
10+
${CMAKE_CURRENT_LIST_DIR}/.
11+
)
12+
13+
14+
#include(device_CMSIS)
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
include_guard()
2+
message("driver_clock component is included.")
3+
4+
target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
5+
${CMAKE_CURRENT_LIST_DIR}/fsl_clock.c
6+
)
7+
8+
9+
target_include_directories(${MCUX_SDK_PROJECT_NAME} PRIVATE
10+
${CMAKE_CURRENT_LIST_DIR}/.
11+
)
12+
13+
14+
include(driver_common)
15+
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
include_guard()
2+
message("driver_iomuxc component is included.")
3+
4+
5+
target_include_directories(${MCUX_SDK_PROJECT_NAME} PRIVATE
6+
${CMAKE_CURRENT_LIST_DIR}/.
7+
)
8+
9+
include(driver_common)
10+
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
include_guard()
2+
message("driver_memory component is included.")
3+
4+
5+
target_include_directories(${MCUX_SDK_PROJECT_NAME} PRIVATE
6+
${CMAKE_CURRENT_LIST_DIR}/.
7+
)
8+
9+
include(driver_common)
10+
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#Description: Reset Driver; user_visible: False
2+
include_guard(GLOBAL)
3+
message("driver_reset component is included.")
4+
5+
target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
6+
)
7+
8+
target_include_directories(${MCUX_SDK_PROJECT_NAME} PUBLIC
9+
${CMAKE_CURRENT_LIST_DIR}/.
10+
)
Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
/*
2+
* Copyright 2025 NXP
3+
*
4+
* SPDX-License-Identifier: BSD-3-Clause
5+
*/
6+
#include "fsl_clock.h"
7+
8+
/*******************************************************************************
9+
* Definitions
10+
******************************************************************************/
11+
/* Component ID definition, used by tools. */
12+
#ifndef FSL_COMPONENT_ID
13+
#define FSL_COMPONENT_ID "platform.drivers.clock"
14+
#endif
15+
16+
/* ROM initializes PLLs with default frequencies except audio/video/ext */
17+
volatile uint32_t g_clockSourceFreq[kCLOCK_Ext + 1] = {
18+
24000000U, /* kCLOCK_Osc24M */
19+
2000000000U, /* kCLOCK_ArmPll */
20+
2000000000U, /* kCLOCK_ArmPllOut */
21+
1000000000U, /* kCLOCK_DramPll */
22+
1000000000U, /* kCLOCK_DramPllOut */
23+
4000000000U, /* kCLOCK_SysPll1 */
24+
1000000000U, /* kCLOCK_SysPll1Pfd0 */
25+
500000000U, /* kCLOCK_SysPll1Pfd0Div2 */
26+
800000000U, /* kCLOCK_SysPll1Pfd1 */
27+
400000000U, /* kCLOCK_SysPll1Pfd1Div2 */
28+
625000000U, /* kCLOCK_SysPll1Pfd2 */
29+
312500000U, /* kCLOCK_SysPll1Pfd2Div2 */
30+
0U, /* kCLOCK_AudioPll1 */
31+
0U, /* kCLOCK_AudioPll1Out */
32+
0U, /* kCLOCK_VideoPll1 */
33+
0U, /* kCLOCK_VideoPll1Out */
34+
0U /* kCLOCK_Ext */
35+
};
36+
37+
const clock_name_t s_clockSourceName[][4] = {
38+
/*SRC0, SRC1, SRC2, SRC3, */
39+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_SysPll1Pfd2}, /* Arm A55 Periph */
40+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Arm A55 MTR BUS */
41+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_SysPll1Pfd2}, /* Arm A55 */
42+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* M33 */
43+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Sentinel */
44+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Bus Wakeup */
45+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Bus Aon */
46+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_SysPll1Pfd2}, /* Wakeup Axi */
47+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Swo Trace */
48+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* M33 Systick */
49+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Flexio1 */
50+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Flexio2 */
51+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpit1 */
52+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpit2 */
53+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lptmr1 */
54+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lptmr2 */
55+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_AudioPll1Out, kCLOCK_Ext}, /* Tpm1 */
56+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_AudioPll1Out, kCLOCK_Ext}, /* Tpm2 */
57+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_AudioPll1Out, kCLOCK_Ext}, /* Tpm3 */
58+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_AudioPll1Out, kCLOCK_Ext}, /* Tpm4 */
59+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_AudioPll1Out, kCLOCK_Ext}, /* Tpm5 */
60+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_AudioPll1Out, kCLOCK_Ext}, /* Tpm6 */
61+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_SysPll1Pfd2}, /* Flexspi1 */
62+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Can1 */
63+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Can2 */
64+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpuart1 */
65+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpuart2 */
66+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpuart3 */
67+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpuart4 */
68+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpuart5 */
69+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpuart6 */
70+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpuart7 */
71+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpuart8 */
72+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpi2c1 */
73+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpi2c2 */
74+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpi2c3 */
75+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpi2c4 */
76+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpi2c5 */
77+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpi2c6 */
78+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpi2c7 */
79+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpi2c8 */
80+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpspi1 */
81+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpspi2 */
82+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpspi3 */
83+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpspi4 */
84+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpspi5 */
85+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpspi6 */
86+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpspi7 */
87+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Lpspi8 */
88+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* I3c1 */
89+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* I3c2 */
90+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_SysPll1Pfd2}, /* Usdhc1 */
91+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_SysPll1Pfd2}, /* Usdhc2 */
92+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_SysPll1Pfd2}, /* Usdhc3 */
93+
{kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_Ext}, /* Sai1 */
94+
{kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_Ext}, /* Sai2 */
95+
{kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_Ext}, /* Sai3 */
96+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_AudioPll1Out}, /* Ccm Cko1 */
97+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_VideoPll1Out}, /* Ccm Cko2 */
98+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_AudioPll1Out}, /* Ccm Cko3 */
99+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_VideoPll1Out}, /* Ccm Cko4 */
100+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Hsio */
101+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Hsio Usb Test 60M */
102+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Hsio Acscan 80M */
103+
{kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_SysPll1Pfd2}, /* Hsio Acscan 480M */
104+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_SysPll1Pfd2}, /* Nic */
105+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Nic Apb */
106+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Ml Apb */
107+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_SysPll1Pfd2}, /* Ml */
108+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_SysPll1Pfd2}, /* Media Axi */
109+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Media Apb */
110+
{kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_SysPll1Pfd0}, /* Media Ldb */
111+
{kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_SysPll1Pfd0}, /* Media Disp Pix */
112+
{kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_SysPll1Pfd0}, /* Cam Pix */
113+
{kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_SysPll1Pfd0}, /* Mipi Test Byte */
114+
{kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_SysPll1Pfd0}, /* Mipi Phy Cfg */
115+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0, kCLOCK_SysPll1Pfd1, kCLOCK_SysPll1Pfd2}, /* Dram Alt */
116+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_SysPll1Pfd2Div2}, /* Dram Apb */
117+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Adc */
118+
{kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_Ext}, /* Pdm */
119+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Tstmr1 */
120+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Tstmr2 */
121+
{kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_Ext}, /* Mqs1 */
122+
{kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_Ext}, /* Mqs2 */
123+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_SysPll1Pfd2Div2}, /* Audio XCVR */
124+
{kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_Ext}, /* Spdif */
125+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_SysPll1Pfd2Div2}, /* Enet */
126+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Enet Timer1 */
127+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Enet Timer2 */
128+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_SysPll1Pfd2Div2}, /* Enet Ref */
129+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Enet Ref Phy */
130+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* I3c1 Slow */
131+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* I3c2 Slow */
132+
{kCLOCK_Osc24M, kCLOCK_SysPll1Pfd0Div2, kCLOCK_SysPll1Pfd1Div2, kCLOCK_VideoPll1Out}, /* Usb Phy Burunin */
133+
{kCLOCK_Osc24M, kCLOCK_AudioPll1Out, kCLOCK_VideoPll1Out, kCLOCK_SysPll1Pfd2} /* Pal Came Scan */
134+
};
135+
136+
uint32_t CLOCK_GetIpFreq(clock_root_t name)
137+
{
138+
clock_name_t clock;
139+
uint32_t mux;
140+
uint32_t div;
141+
142+
mux = CLOCK_GetRootClockMux(name);
143+
div = CLOCK_GetRootClockDiv(name);
144+
145+
clock = CLOCK_GetRootClockSource(name, mux);
146+
assert(clock <= kCLOCK_Ext);
147+
148+
return g_clockSourceFreq[clock] / div;
149+
}

0 commit comments

Comments
 (0)