Skip to content

Commit 578c4e2

Browse files
yangbolu1991mmahadevan108
authored andcommitted
mcux-sdk: devices: add i.MX95 MIMX9596 support
Added i.MX95 MIMX9596 support. Files copied from NXP mcux-sdk commit, b4dca3063 fix #200: FSL_FEATURE_FLEXSPI_HAS_RESET never defined. Since fsl_clock driver is a dependency for SDK code, we have to keep a empty driver files. (The i.MX95 uses zephyr ARM SCMI driver for clock.) Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
1 parent a2152e4 commit 578c4e2

13 files changed

+885142
-0
lines changed

mcux/mcux-sdk/devices/MIMX9596/MIMX9596_ca55.h

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

mcux/mcux-sdk/devices/MIMX9596/MIMX9596_ca55_features.h

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

mcux/mcux-sdk/devices/MIMX9596/MIMX9596_cm7.h

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

mcux/mcux-sdk/devices/MIMX9596/MIMX9596_cm7_features.h

Lines changed: 791 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
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+
)
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#Description: Reset Driver; user_visible: False
2+
include_guard(GLOBAL)
3+
4+
message("driver_reset component is included.")
5+
6+
target_sources(${MCUX_SDK_PROJECT_NAME} PRIVATE
7+
)
8+
9+
target_include_directories(${MCUX_SDK_PROJECT_NAME} PUBLIC
10+
${CMAKE_CURRENT_LIST_DIR}/.
11+
)
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/*
2+
* Copyright 2024 NXP
3+
*
4+
* SPDX-License-Identifier: BSD-3-Clause
5+
*/
6+
#include "fsl_clock.h"
7+
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/*
2+
* Copyright 2024 NXP
3+
*
4+
* SPDX-License-Identifier: BSD-3-Clause
5+
*/
6+
7+
#ifndef _FSL_CLOCK_H_
8+
#define _FSL_CLOCK_H_
9+
10+
/* Definition for delay API in clock driver, users can redefine it to the real application. */
11+
#ifndef SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY
12+
#define SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY \
13+
(800000000UL) /* When using Overdrive Voltage, the maximum frequency of cm7 is 800 MHz */
14+
#endif
15+
16+
#endif
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
/*
2+
* Copyright 2014-2016 Freescale Semiconductor, Inc.
3+
* Copyright 2016-2024 NXP
4+
* SPDX-License-Identifier: BSD-3-Clause
5+
*
6+
*/
7+
8+
#ifndef __FSL_DEVICE_REGISTERS_H__
9+
#define __FSL_DEVICE_REGISTERS_H__
10+
11+
/*
12+
* Include the cpu specific register header files.
13+
*
14+
* The CPU macro should be declared in the project or makefile.
15+
*/
16+
#if (defined(CPU_MIMX9596AVTXN_ca55) || defined(CPU_MIMX9596AVZXN_ca55) || defined(CPU_MIMX9596DVTXQ_ca55) || \
17+
defined(CPU_MIMX9596DVYXQ_ca55) || defined(CPU_MIMX9596DVZXQ_ca55) || defined(CPU_MIMX9596XVTXL_ca55))
18+
19+
#define MIMX9596_ca55_SERIES
20+
21+
/* CMSIS-style register definitions */
22+
#include "MIMX9596_ca55.h"
23+
/* CPU specific feature definitions */
24+
#include "MIMX9596_ca55_features.h"
25+
26+
#elif (defined(CPU_MIMX9596AVTXN_cm7) || defined(CPU_MIMX9596AVZXN_cm7) || defined(CPU_MIMX9596DVTXQ_cm7) || \
27+
defined(CPU_MIMX9596DVYXQ_cm7) || defined(CPU_MIMX9596DVZXQ_cm7) || defined(CPU_MIMX9596XVTXL_cm7))
28+
29+
#define MIMX9596_cm7_SERIES
30+
31+
/* CMSIS-style register definitions */
32+
#include "MIMX9596_cm7.h"
33+
/* CPU specific feature definitions */
34+
#include "MIMX9596_cm7_features.h"
35+
36+
#else
37+
#error "No valid CPU defined!"
38+
#endif
39+
40+
#endif /* __FSL_DEVICE_REGISTERS_H__ */
41+
42+
/*******************************************************************************
43+
* EOF
44+
******************************************************************************/
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
/*
2+
** ###################################################################
3+
** Processors: MIMX9596AVTXN_ca55
4+
** MIMX9596AVZXN_ca55
5+
** MIMX9596DVTXQ_ca55
6+
** MIMX9596DVYXQ_ca55
7+
** MIMX9596DVZXQ_ca55
8+
** MIMX9596XVTXL_ca55
9+
**
10+
** Compilers: GNU C Compiler
11+
** IAR ANSI C/C++ Compiler for ARM
12+
** Keil ARM C/C++ Compiler
13+
**
14+
** Reference manual: iMX95RM rev1 draftM
15+
** Version: rev. 1.0, 2023-01-10
16+
** Build: b240402
17+
**
18+
** Abstract:
19+
** Provides a system configuration function and a global variable that
20+
** contains the system frequency. It configures the device and initializes
21+
** the oscillator (PLL) that is part of the microcontroller device.
22+
**
23+
** Copyright 2016 Freescale Semiconductor, Inc.
24+
** Copyright 2016-2024 NXP
25+
** SPDX-License-Identifier: BSD-3-Clause
26+
**
27+
** http: www.nxp.com
28+
** mail: support@nxp.com
29+
**
30+
** Revisions:
31+
** - rev. 1.0 (2023-01-10)
32+
** Initial version.
33+
**
34+
** ###################################################################
35+
*/
36+
37+
/*!
38+
* @file MIMX9596_ca55
39+
* @version 1.0
40+
* @date 2023-01-10
41+
* @brief Device specific configuration file for MIMX9596_ca55 (implementation
42+
* file)
43+
*
44+
* Provides a system configuration function and a global variable that contains
45+
* the system frequency. It configures the device and initializes the oscillator
46+
* (PLL) that is part of the microcontroller device.
47+
*/
48+
49+
#include <stdint.h>
50+
#include "fsl_device_registers.h"
51+
52+
53+
54+
55+
56+
/* ----------------------------------------------------------------------------
57+
-- Core clock
58+
---------------------------------------------------------------------------- */
59+
60+
uint32_t SystemCoreClock = DEFAULT_SYSTEM_CLOCK;
61+
62+
/* ----------------------------------------------------------------------------
63+
-- SystemInit()
64+
---------------------------------------------------------------------------- */
65+
66+
void SystemInit (void) {
67+
#if ((__FPU_PRESENT == 1) && (__FPU_USED == 1))
68+
__ASM volatile("mov x0, #(3 << 20) \n\t"
69+
"msr cpacr_el1, x0");
70+
#endif /* ((__FPU_PRESENT == 1) && (__FPU_USED == 1)) */
71+
72+
73+
SystemInitHook();
74+
75+
ARM_TIMER_GetFreq(&SystemCoreClock);
76+
}
77+
78+
/* ----------------------------------------------------------------------------
79+
-- SystemCoreClockUpdate()
80+
---------------------------------------------------------------------------- */
81+
82+
void SystemCoreClockUpdate (void) {
83+
84+
85+
}
86+
87+
/* ----------------------------------------------------------------------------
88+
-- SystemInitHook()
89+
---------------------------------------------------------------------------- */
90+
91+
__attribute__ ((weak)) void SystemInitHook (void) {
92+
/* Void implementation of the weak function. */
93+
}

0 commit comments

Comments
 (0)