Skip to content

Commit 78a855b

Browse files
committed
boards: nxp: Move board specific files from hal to zephyr
Move board specific files (dcd, flash_config, etc.) from nxp hal repo to zephyr repo. Signed-off-by: Zhaoxiang Jin <[email protected]>
1 parent bfad9a0 commit 78a855b

File tree

78 files changed

+16725
-154
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+16725
-154
lines changed

boards/nxp/frdm_mcxn947/CMakeLists.txt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ zephyr_library_sources(board.c)
1010
if(CONFIG_FLEXSPI_CONFIG_BLOCK_OFFSET)
1111
# Include flash configuration block
1212
zephyr_compile_definitions(XIP_BOOT_HEADER_ENABLE=1)
13-
set(BOARD_DIR "${ZEPHYR_HAL_NXP_MODULE_DIR}/mcux/mcux-sdk-ng/boards/frdmmcxn947")
14-
zephyr_library_sources(${BOARD_DIR}/xip/mcxn_flexspi_nor_config.c)
15-
zephyr_library_include_directories(${BOARD_DIR}/xip)
13+
zephyr_library_sources(xip/mcxn_flexspi_nor_config.c)
14+
zephyr_library_include_directories(xip)
1615
endif()
Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
/*
2+
* Copyright 2018-2022 NXP
3+
* All rights reserved.
4+
*
5+
* SPDX-License-Identifier: Apache-2.0
6+
*/
7+
8+
#include "mcxn_flexspi_nor_config.h"
9+
10+
/* Component ID definition, used by tools. */
11+
#ifndef FSL_COMPONENT_ID
12+
#define FSL_COMPONENT_ID "platform.drivers.xip_board"
13+
#endif
14+
15+
#if defined(__CC_ARM) || defined(__ARMCC_VERSION) || defined(__GNUC__)
16+
__attribute__((section(".flexspi_fcb"), used))
17+
#elif defined(__ICCARM__)
18+
#pragma location = ".flexspi_fcb"
19+
#endif
20+
21+
#ifndef FLEXSPI_USE_CUSTOM_FCB
22+
#define FLEXSPI_USE_CUSTOM_FCB (0)
23+
#endif
24+
25+
#if FLEXSPI_USE_CUSTOM_FCB
26+
/* FCB for W25Q64 */
27+
const uint8_t CUSTOM_FCB[] = {
28+
0x46, 0x43, 0x46, 0x42, 0x00, 0x04, 0x01, 0x56, 0x00, 0x00, 0x00,
29+
0x00, 0x01, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
30+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
31+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
32+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
33+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00,
34+
0x00, 0x00, 0x01, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
35+
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
36+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
37+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
38+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
39+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xeb, 0x04, 0x18, 0x0a,
40+
0x06, 0x32, 0x04, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
41+
0x00, 0x05, 0x04, 0x04, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
42+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
43+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
44+
0x06, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
45+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
46+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
47+
0x04, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
48+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
49+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
50+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
51+
0x00, 0x00, 0x00, 0xd8, 0x04, 0x18, 0x08, 0x00, 0x00, 0x00, 0x00,
52+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0x18,
53+
0x08, 0x04, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
54+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
55+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x04, 0x00, 0x00,
56+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
57+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
58+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
59+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
60+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
61+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
62+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
63+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
64+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
65+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
66+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
67+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
68+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
69+
0x00, 0x00, 0x10, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
70+
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
71+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
72+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
73+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
74+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00
75+
};
76+
#else
77+
78+
/* FCB for W25Q64 */
79+
const flexspi_nor_image_config image_config = {
80+
.image_version = 0xFFFE0001u,
81+
.fcb_config = {
82+
.memConfig = {
83+
.tag = FLEXSPI_CFG_BLK_TAG,
84+
.version = FLEXSPI_CFG_BLK_VERSION,
85+
.readSampleClkSrc =
86+
kFlexSPIReadSampleClk_LoopbackFromDqsPad,
87+
.csHoldTime = 3u,
88+
.csSetupTime = 3u,
89+
/* Enable DDR mode, Wordaddassable, Safe */
90+
/* configuration, Differential clock */
91+
.controllerMiscOption =
92+
(1u << kFlexSpiMiscOffset_SafeConfigFreqEnable),
93+
.deviceType = kFlexSpiDeviceType_SerialNOR,
94+
.sflashPadType = kSerialFlash_4Pads,
95+
.serialClkFreq = kFlexSpiSerialClk_75MHz,
96+
.sflashA1Size = 8u * 1024u * 1024u,
97+
.lookupTable = {
98+
/* Read LUTs */
99+
[0] = FLEXSPI_LUT_SEQ(CMD_SDR,
100+
FLEXSPI_1PAD, 0xEB,
101+
RADDR_SDR, FLEXSPI_4PAD,
102+
0x18),
103+
[1] = FLEXSPI_LUT_SEQ(DUMMY_SDR,
104+
FLEXSPI_4PAD, 0x06,
105+
READ_SDR, FLEXSPI_4PAD,
106+
0x04),
107+
108+
/* Read Status LUTs */
109+
[4 * 1 + 0] = FLEXSPI_LUT_SEQ(CMD_SDR,
110+
FLEXSPI_1PAD, 0x05, READ_SDR,
111+
FLEXSPI_1PAD, 0x04),
112+
113+
/* Write Enable LUTs */
114+
[4 * 3 + 0] = FLEXSPI_LUT_SEQ(CMD_SDR,
115+
FLEXSPI_1PAD, 0x06, STOP,
116+
FLEXSPI_1PAD, 0x0),
117+
118+
/* Erase Sector LUTs */
119+
[4 * 5 + 0] = FLEXSPI_LUT_SEQ(CMD_SDR,
120+
FLEXSPI_1PAD, 0x20, RADDR_SDR,
121+
FLEXSPI_1PAD, 0x18),
122+
123+
/* Erase Block LUTs */
124+
[4 * 8 + 0] = FLEXSPI_LUT_SEQ(CMD_SDR,
125+
FLEXSPI_1PAD, 0xD8, RADDR_SDR,
126+
FLEXSPI_1PAD, 0x18),
127+
128+
/* Pape Program LUTs */
129+
[4 * 9 + 0] = FLEXSPI_LUT_SEQ(CMD_SDR,
130+
FLEXSPI_1PAD, 0x02, RADDR_SDR,
131+
FLEXSPI_1PAD, 0x18),
132+
[4 * 9 + 1] = FLEXSPI_LUT_SEQ(WRITE_SDR,
133+
FLEXSPI_1PAD, 0x04, STOP,
134+
FLEXSPI_1PAD, 0x0),
135+
136+
/* Erase Chip LUTs */
137+
[4 * 11 + 0] = FLEXSPI_LUT_SEQ(CMD_SDR,
138+
FLEXSPI_1PAD, 0x60, STOP,
139+
FLEXSPI_1PAD, 0x0),
140+
},
141+
},
142+
.pageSize = 256u,
143+
.sectorSize = 4u * 1024u,
144+
.ipcmdSerialClkFreq = 1u,
145+
.blockSize = 64u * 1024u,
146+
.isUniformBlockSize = false,
147+
}
148+
};
149+
150+
#endif

0 commit comments

Comments
 (0)