Skip to content

Commit 376fda5

Browse files
authored
Merge pull request #14505 from s-bruce13/master
Adding NXP TARGET- MIMXRT1170_EVK
2 parents 6330299 + f4045f9 commit 376fda5

Some content is hidden

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

81 files changed

+130620
-9
lines changed

targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ add_subdirectory(TARGET_LPC EXCLUDE_FROM_ALL)
66
add_subdirectory(TARGET_LPC54114 EXCLUDE_FROM_ALL)
77
add_subdirectory(TARGET_MCU_LPC546XX EXCLUDE_FROM_ALL)
88
add_subdirectory(TARGET_MIMXRT1050 EXCLUDE_FROM_ALL)
9+
add_subdirectory(TARGET_MIMXRT1170 EXCLUDE_FROM_ALL)
910
add_subdirectory(middleware/TARGET_USB EXCLUDE_FROM_ALL)
1011

1112
add_library(mbed-mcuxpresso-mcus INTERFACE)

targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/CMakeLists.txt

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,13 @@ target_include_directories(mbed-imx
1010

1111
target_sources(mbed-imx
1212
INTERFACE
13-
analogin_api.c
14-
flash_api.c
1513
gpio_api.c
1614
gpio_irq_api.c
1715
i2c_api.c
1816
lp_ticker.c
19-
pinmap.c
2017
port_api.c
2118
pwmout_api.c
2219
rtc_api.c
23-
serial_api.c
24-
sleep.c
2520
spi_api.c
26-
trng_api.c
27-
us_ticker.c
2821
watchdog_api.c
2922
)

targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/gpio_object.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
#ifdef __cplusplus
2121
extern "C" {
2222
#endif
23-
23+
#include "PinNames.h"
2424
typedef struct {
2525
PinName pin;
2626
} gpio_t;

targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_MIMXRT1050/TARGET_EVK/CMakeLists.txt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,19 @@ target_include_directories(mbed-evk
1111

1212
target_sources(mbed-evk
1313
INTERFACE
14-
PeripheralPins.c
14+
analogin_api.c
15+
flash_api.c
1516
fsl_clock_config.c
1617
fsl_phy.c
1718
lpm.c
1819
mbed_overrides.c
20+
PeripheralPins.c
21+
pinmap.c
22+
serial_api.c
23+
sleep.c
1924
specific.c
25+
trng_api.c
26+
us_ticker.c
2027

2128
xip/evkbimxrt1050_flexspi_nor_config.c
2229
xip/evkbimxrt1050_sdram_ini_dcd.c
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Copyright (c) 2020-2021 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
add_subdirectory(TARGET_EVK EXCLUDE_FROM_ALL)
5+
6+
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
7+
set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_MIMXRT1176_cm7.S)
8+
set(LINKER_FILE device/TOOLCHAIN_ARM_STD/MIMXRT1176xxxxx.sct)
9+
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
10+
set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_MIMXRT1176_cm7.S)
11+
set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/MIMXRT1170xxxxx.ld)
12+
endif()
13+
14+
add_library(mbed-mimxrt1170-evk INTERFACE)
15+
16+
target_include_directories(mbed-mimxrt1170-evk
17+
INTERFACE
18+
.
19+
device
20+
drivers
21+
)
22+
23+
target_sources(mbed-mimxrt1170-evk
24+
INTERFACE
25+
26+
device/system_MIMXRT1176_cm7.c
27+
28+
drivers/fsl_anatop_ai.c
29+
drivers/fsl_anatop.c
30+
drivers/fsl_cache.c
31+
drivers/fsl_clock.c
32+
drivers/fsl_common.c
33+
drivers/fsl_dcdc.c
34+
drivers/fsl_flexspi_nor_boot.c
35+
drivers/fsl_flexspi.c
36+
drivers/fsl_gpio.c
37+
drivers/fsl_gpt.c
38+
drivers/fsl_lpadc.c
39+
drivers/fsl_lpi2c.c
40+
drivers/fsl_lpspi.c
41+
drivers/fsl_lpuart.c
42+
drivers/fsl_pit.c
43+
drivers/fsl_pmu.c
44+
drivers/fsl_pwm.c
45+
drivers/fsl_xbara.c
46+
47+
${STARTUP_FILE}
48+
)
49+
50+
target_link_libraries(mbed-mimxrt1170-evk
51+
INTERFACE
52+
mbed-mcuxpresso-mcus
53+
mbed-rt1170-evk
54+
mbed-imx
55+
)
56+
57+
mbed_set_linker_script(mbed-mimxrt1170-evk ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Copyright (c) 2021 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
add_library(mbed-rt1170-evk INTERFACE)
5+
6+
target_include_directories(mbed-rt1170-evk
7+
INTERFACE
8+
.
9+
xip
10+
)
11+
12+
target_sources(mbed-rt1170-evk
13+
INTERFACE
14+
analogin_api.c
15+
flash_api.c
16+
clock_config.c
17+
mbed_overrides.c
18+
PeripheralPins.c
19+
pinmap.c
20+
serial_api.c
21+
us_ticker.c
22+
23+
24+
xip/evkmimxrt1170_flexspi_nor_config.c
25+
xip/dcd.c
26+
)
Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
/* mbed Microcontroller Library
2+
* Copyright (c) 2006-2013 ARM Limited
3+
* SPDX-License-Identifier: Apache-2.0
4+
*
5+
* Licensed under the Apache License, Version 2.0 (the "License");
6+
* you may not use this file except in compliance with the License.
7+
* You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
#ifndef MBED_PERIPHERALNAMES_H
18+
#define MBED_PERIPHERALNAMES_H
19+
20+
#include "cmsis.h"
21+
22+
#ifdef __cplusplus
23+
extern "C" {
24+
#endif
25+
26+
typedef enum {
27+
OSC32KCLK = 0,
28+
} RTCName;
29+
30+
typedef enum {
31+
UART_1 = 1,
32+
UART_2 = 2,
33+
UART_3 = 3,
34+
UART_4 = 4,
35+
} UARTName;
36+
37+
#define STDIO_UART_TX USBTX
38+
#define STDIO_UART_RX USBRX
39+
#define STDIO_UART UART_1
40+
41+
#define SION_BIT_SHIFT (3)
42+
#define DAISY_REG_SHIFT (4)
43+
#define DAISY_REG_VALUE_SHIFT (16)
44+
45+
typedef enum {
46+
I2C_1 = 1,
47+
I2C_2 = 2,
48+
I2C_3 = 3,
49+
I2C_4 = 4,
50+
I2C_5 = 5,
51+
} I2CName;
52+
53+
#define PWM_MODULE_SHIFT 2
54+
#define PWM_SHIFT 8
55+
56+
typedef enum {
57+
PWM_1 = (1 << PWM_SHIFT) | (0 << PWM_MODULE_SHIFT) | (0), // PWM1 Submodule 0 PWMA
58+
PWM_2 = (1 << PWM_SHIFT) | (0 << PWM_MODULE_SHIFT) | (1), // PWM1 Submodule 0 PWMB
59+
PWM_3 = (1 << PWM_SHIFT) | (1 << PWM_MODULE_SHIFT) | (0), // PWM1 Submodule 1 PWMA
60+
PWM_4 = (1 << PWM_SHIFT) | (1 << PWM_MODULE_SHIFT) | (1), // PWM1 Submodule 1 PWMB
61+
PWM_5 = (1 << PWM_SHIFT) | (2 << PWM_MODULE_SHIFT) | (0), // PWM1 Submodule 2 PWMA
62+
PWM_6 = (1 << PWM_SHIFT) | (2 << PWM_MODULE_SHIFT) | (1), // PWM1 Submodule 2 PWMB
63+
PWM_7 = (1 << PWM_SHIFT) | (3 << PWM_MODULE_SHIFT) | (0), // PWM1 Submodule 3 PWMA
64+
PWM_8 = (1 << PWM_SHIFT) | (3 << PWM_MODULE_SHIFT) | (1), // PWM1 Submodule 3 PWMB
65+
PWM_9 = (2 << PWM_SHIFT) | (0 << PWM_MODULE_SHIFT) | (0), // PWM2 Submodule 0 PWMA
66+
PWM_10 = (2 << PWM_SHIFT) | (0 << PWM_MODULE_SHIFT) | (1), // PWM2 Submodule 0 PWMB
67+
PWM_11 = (2 << PWM_SHIFT) | (1 << PWM_MODULE_SHIFT) | (0), // PWM2 Submodule 1 PWMA
68+
PWM_12 = (2 << PWM_SHIFT) | (1 << PWM_MODULE_SHIFT) | (1), // PWM2 Submodule 1 PWMB
69+
PWM_13 = (2 << PWM_SHIFT) | (2 << PWM_MODULE_SHIFT) | (0), // PWM2 Submodule 2 PWMA
70+
PWM_14 = (2 << PWM_SHIFT) | (2 << PWM_MODULE_SHIFT) | (1), // PWM2 Submodule 2 PWMB
71+
PWM_15 = (2 << PWM_SHIFT) | (3 << PWM_MODULE_SHIFT) | (0), // PWM2 Submodule 3 PWMA
72+
PWM_16 = (2 << PWM_SHIFT) | (3 << PWM_MODULE_SHIFT) | (1), // PWM2 Submodule 3 PWMB
73+
PWM_17 = (3 << PWM_SHIFT) | (0 << PWM_MODULE_SHIFT) | (0), // PWM3 Submodule 0 PWMA
74+
PWM_18 = (3 << PWM_SHIFT) | (0 << PWM_MODULE_SHIFT) | (1), // PWM3 Submodule 0 PWMB
75+
PWM_19 = (3 << PWM_SHIFT) | (1 << PWM_MODULE_SHIFT) | (0), // PWM3 Submodule 1 PWMA
76+
PWM_20 = (3 << PWM_SHIFT) | (1 << PWM_MODULE_SHIFT) | (1), // PWM3 Submodule 1 PWMB
77+
PWM_21 = (3 << PWM_SHIFT) | (2 << PWM_MODULE_SHIFT) | (0), // PWM3 Submodule 2 PWMA
78+
PWM_22 = (3 << PWM_SHIFT) | (2 << PWM_MODULE_SHIFT) | (1), // PWM3 Submodule 2 PWMB
79+
PWM_23 = (3 << PWM_SHIFT) | (3 << PWM_MODULE_SHIFT) | (0), // PWM3 Submodule 3 PWMA
80+
PWM_24 = (3 << PWM_SHIFT) | (3 << PWM_MODULE_SHIFT) | (1), // PWM3 Submodule 3 PWMB
81+
PWM_25 = (4 << PWM_SHIFT) | (0 << PWM_MODULE_SHIFT) | (0), // PWM4 Submodule 0 PWMA
82+
PWM_26 = (4 << PWM_SHIFT) | (0 << PWM_MODULE_SHIFT) | (1), // PWM4 Submodule 0 PWMB
83+
PWM_27 = (4 << PWM_SHIFT) | (1 << PWM_MODULE_SHIFT) | (0), // PWM4 Submodule 1 PWMA
84+
PWM_28 = (4 << PWM_SHIFT) | (1 << PWM_MODULE_SHIFT) | (1), // PWM4 Submodule 1 PWMB
85+
PWM_29 = (4 << PWM_SHIFT) | (2 << PWM_MODULE_SHIFT) | (0), // PWM4 Submodule 2 PWMA
86+
PWM_30 = (4 << PWM_SHIFT) | (2 << PWM_MODULE_SHIFT) | (1), // PWM4 Submodule 2 PWMB
87+
PWM_31 = (4 << PWM_SHIFT) | (3 << PWM_MODULE_SHIFT) | (0), // PWM4 Submodule 3 PWMA
88+
PWM_32 = (4 << PWM_SHIFT) | (3 << PWM_MODULE_SHIFT) | (1) // PWM4 Submodule 3 PWMB
89+
} PWMName;
90+
91+
#define ADC_INSTANCE_SHIFT 8
92+
typedef enum {
93+
ADC1_0 = (1 << ADC_INSTANCE_SHIFT | 0),
94+
ADC1_1 = (1 << ADC_INSTANCE_SHIFT | 1),
95+
ADC1_2 = (1 << ADC_INSTANCE_SHIFT | 2),
96+
ADC1_3 = (1 << ADC_INSTANCE_SHIFT | 3),
97+
ADC1_4 = (1 << ADC_INSTANCE_SHIFT | 4),
98+
ADC1_5 = (1 << ADC_INSTANCE_SHIFT | 5),
99+
ADC1_6 = (1 << ADC_INSTANCE_SHIFT | 6),
100+
ADC1_7 = (1 << ADC_INSTANCE_SHIFT | 7),
101+
ADC1_8 = (1 << ADC_INSTANCE_SHIFT | 8),
102+
ADC1_9 = (1 << ADC_INSTANCE_SHIFT | 9),
103+
ADC1_10 = (1 << ADC_INSTANCE_SHIFT | 10),
104+
ADC1_11 = (1 << ADC_INSTANCE_SHIFT | 11),
105+
ADC1_12 = (1 << ADC_INSTANCE_SHIFT | 12),
106+
ADC1_13 = (1 << ADC_INSTANCE_SHIFT | 13),
107+
ADC1_14 = (1 << ADC_INSTANCE_SHIFT | 14),
108+
ADC1_15 = (1 << ADC_INSTANCE_SHIFT | 15),
109+
ADC2_0 = (2 << ADC_INSTANCE_SHIFT | 0),
110+
ADC2_1 = (2 << ADC_INSTANCE_SHIFT | 1),
111+
ADC2_2 = (2 << ADC_INSTANCE_SHIFT | 2),
112+
ADC2_3 = (2 << ADC_INSTANCE_SHIFT | 3),
113+
ADC2_4 = (2 << ADC_INSTANCE_SHIFT | 4),
114+
ADC2_5 = (2 << ADC_INSTANCE_SHIFT | 5),
115+
ADC2_6 = (2 << ADC_INSTANCE_SHIFT | 6),
116+
ADC2_7 = (2 << ADC_INSTANCE_SHIFT | 7),
117+
ADC2_8 = (2 << ADC_INSTANCE_SHIFT | 8),
118+
ADC2_9 = (2 << ADC_INSTANCE_SHIFT | 9),
119+
ADC2_10 = (2 << ADC_INSTANCE_SHIFT | 10),
120+
ADC2_11 = (2 << ADC_INSTANCE_SHIFT | 11),
121+
ADC2_12 = (2 << ADC_INSTANCE_SHIFT | 12),
122+
ADC2_13 = (2 << ADC_INSTANCE_SHIFT | 13),
123+
ADC2_14 = (2 << ADC_INSTANCE_SHIFT | 14),
124+
ADC2_15 = (2 << ADC_INSTANCE_SHIFT | 15),
125+
} ADCName;
126+
127+
typedef enum {
128+
DAC_0 = 0
129+
} DACName;
130+
131+
132+
typedef enum {
133+
SPI_1 = 1,
134+
SPI_2 = 2,
135+
SPI_3 = 3,
136+
} SPIName;
137+
138+
#ifdef __cplusplus
139+
}
140+
#endif
141+
142+
#endif
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
/* mbed Microcontroller Library
2+
* Copyright (c) 2006-2013 ARM Limited
3+
* SPDX-License-Identifier: Apache-2.0
4+
*
5+
* Licensed under the Apache License, Version 2.0 (the "License");
6+
* you may not use this file except in compliance with the License.
7+
* You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
18+
#include "PeripheralPins.h"
19+
20+
/************RTC***************/
21+
const PinMap PinMap_RTC[] = {
22+
{NC, OSC32KCLK, 0},
23+
};
24+
25+
/************ADC***************/
26+
const PinMap PinMap_ADC[] = {
27+
{GPIO_AD_10, ADC1_0, NC},
28+
{GPIO_AD_11, ADC1_1, NC},
29+
{GPIO_AD_12, ADC1_2, NC},
30+
{GPIO_AD_13, ADC1_3, NC},
31+
{GPIO_AD_09, ADC1_4, NC},
32+
{GPIO_AD_08, ADC1_5, NC},
33+
{NC , NC , 0}
34+
};
35+
36+
/************DAC***************/
37+
const PinMap PinMap_DAC[] = {
38+
{NC , NC , 0}
39+
};
40+
41+
/************I2C***************/
42+
const PinMap PinMap_I2C_SDA[] = {
43+
{GPIO_LPSR_04 , I2C_5 , 0},
44+
{NC , NC , 0}
45+
};
46+
47+
const PinMap PinMap_I2C_SCL[] = {
48+
{GPIO_LPSR_05 , I2C_5 , 0},
49+
{NC , NC , 0}
50+
};
51+
52+
/************UART***************/
53+
const PinMap PinMap_UART_TX[] = {
54+
{GPIO_AD_24, UART_1, 0},
55+
{GPIO_DISP_B2_10, UART_2, 2},
56+
{NC , NC , 0}
57+
};
58+
59+
const PinMap PinMap_UART_RX[] = {
60+
{GPIO_AD_25, UART_1, 0},
61+
{GPIO_DISP_B2_11, UART_2, 2},
62+
{NC , NC , 0}
63+
};
64+
65+
/************SPI***************/
66+
const PinMap PinMap_SPI_SCLK[] = {
67+
{GPIO_AD_28 , SPI_1 , 0},
68+
{NC , NC , 0}
69+
};
70+
71+
const PinMap PinMap_SPI_MOSI[] = {
72+
{GPIO_AD_30 , SPI_1 , 0},
73+
{NC , NC , 0}
74+
};
75+
76+
const PinMap PinMap_SPI_MISO[] = {
77+
{GPIO_AD_31 , SPI_1 , 0},
78+
{NC , NC , 0}
79+
};
80+
81+
const PinMap PinMap_SPI_SSEL[] = {
82+
{GPIO_AD_29 , SPI_1 , 0},
83+
{NC , NC , 0}
84+
};
85+
86+
/************PWM***************/
87+
const PinMap PinMap_PWM[] = {
88+
{NC , NC , 0}
89+
};
90+

0 commit comments

Comments
 (0)