Skip to content

Commit 7fd637b

Browse files
authored
Merge pull request #12095 from NXPmicro/Update_MXRT_SDK6
Update MXRT1050 to SDK 6.0
2 parents 8310117 + a947c52 commit 7fd637b

File tree

165 files changed

+39643
-11812
lines changed

Some content is hidden

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

165 files changed

+39643
-11812
lines changed

features/netsocket/emac-drivers/TARGET_NXP_EMAC/TARGET_IMX/TARGET_MIMXRT1050_EVK/hardware_init.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ void kinetis_init_eth_hardware(void)
215215
/* pull up the ENET_INT before RESET. */
216216
GPIO_WritePinOutput(GPIO1, 10, 1);
217217
GPIO_WritePinOutput(GPIO1, 9, 0);
218-
wait_ms(1);
218+
wait_us(1 * 1000);
219219
GPIO_WritePinOutput(GPIO1, 9, 1);
220220
}
221221

targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/gpio_irq_api.c

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ static gpio_irq_handler irq_handler;
3838
static GPIO_Type * const gpio_addrs[] = GPIO_BASE_PTRS;
3939

4040
/* Array of PORT IRQ number. */
41-
static const IRQn_Type gpio_irqs[] = GPIO_COMBINED_IRQS;
41+
static const IRQn_Type gpio_low_irqs[] = GPIO_COMBINED_LOW_IRQS;
42+
static const IRQn_Type gpio_high_irqs[] = GPIO_COMBINED_HIGH_IRQS;
4243

4344
static void handle_interrupt_in(PortName port, int ch_base)
4445
{
@@ -117,8 +118,6 @@ void gpio5_irq(void)
117118

118119
int gpio_irq_init(gpio_irq_t *obj, PinName pin, gpio_irq_handler handler, uint32_t id)
119120
{
120-
uint32_t int_index;
121-
122121
if (pin == NC) {
123122
return -1;
124123
}
@@ -156,14 +155,14 @@ int gpio_irq_init(gpio_irq_t *obj, PinName pin, gpio_irq_handler handler, uint32
156155
break;
157156
}
158157

159-
int_index = 2 * obj->port;
160158
if (obj->pin > 15) {
161-
int_index -= 1;
159+
NVIC_SetVector(gpio_high_irqs[obj->port], vector);
160+
NVIC_EnableIRQ(gpio_high_irqs[obj->port]);
161+
} else {
162+
NVIC_SetVector(gpio_low_irqs[obj->port], vector);
163+
NVIC_EnableIRQ(gpio_low_irqs[obj->port]);
162164
}
163165

164-
NVIC_SetVector(gpio_irqs[int_index], vector);
165-
NVIC_EnableIRQ(gpio_irqs[int_index]);
166-
167166
obj->ch = ch_base + obj->pin;
168167
channel_ids[obj->ch] = id;
169168

@@ -243,12 +242,20 @@ void gpio_irq_set(gpio_irq_t *obj, gpio_irq_event event, uint32_t enable)
243242

244243
void gpio_irq_enable(gpio_irq_t *obj)
245244
{
246-
NVIC_EnableIRQ(gpio_irqs[obj->port]);
245+
if (obj->pin > 15) {
246+
NVIC_EnableIRQ(gpio_high_irqs[obj->port]);
247+
} else {
248+
NVIC_EnableIRQ(gpio_low_irqs[obj->port]);
249+
}
247250
}
248251

249252
void gpio_irq_disable(gpio_irq_t *obj)
250253
{
251-
NVIC_DisableIRQ(gpio_irqs[obj->port]);
254+
if (obj->pin > 15) {
255+
NVIC_DisableIRQ(gpio_high_irqs[obj->port]);
256+
} else {
257+
NVIC_DisableIRQ(gpio_low_irqs[obj->port]);
258+
}
252259
}
253260

254261
#endif

targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/lp_ticker.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ void lp_ticker_init(void)
5252
gptConfig.clockSource = kGPT_ClockSource_LowFreq;
5353
gptConfig.enableFreeRun = true;
5454
gptConfig.enableMode = false;
55+
gptConfig.enableRunInDoze = true;
5556

5657
GPT_Init(GPT2, &gptConfig);
5758
GPT_EnableInterrupts(GPT2, kGPT_OutputCompare1InterruptEnable);
@@ -114,7 +115,8 @@ void lp_ticker_clear_interrupt(void)
114115

115116
void lp_ticker_free(void)
116117
{
117-
118+
GPT_DisableInterrupts(GPT2, kGPT_OutputCompare1InterruptEnable);
119+
NVIC_DisableIRQ(GPT2_IRQn);
118120
}
119121

120122
#endif /* DEVICE_LPTICKER */

targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/serial_api.c

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@
2929
#include "PeripheralPins.h"
3030
#include "fsl_clock_config.h"
3131

32-
static uint32_t serial_irq_ids[FSL_FEATURE_SOC_LPUART_COUNT] = {0};
32+
/* LPUART starts from index 1 */
33+
static uint32_t serial_irq_ids[FSL_FEATURE_SOC_LPUART_COUNT + 1] = {0};
3334
static uart_irq_handler irq_handler;
3435
/* Array of UART peripheral base address. */
3536
static LPUART_Type *const uart_addrs[] = LPUART_BASE_PTRS;
@@ -320,28 +321,28 @@ static int serial_is_enabled(uint32_t uart_index)
320321
{
321322
int clock_enabled = 0;
322323
switch (uart_index) {
323-
case 0:
324+
case 1:
324325
clock_enabled = (CCM->CCGR5 & CCM_CCGR5_CG12_MASK) >> CCM_CCGR5_CG12_SHIFT;
325326
break;
326-
case 1:
327+
case 2:
327328
clock_enabled = (CCM->CCGR0 & CCM_CCGR0_CG14_MASK) >> CCM_CCGR0_CG14_SHIFT;
328329
break;
329-
case 2:
330+
case 3:
330331
clock_enabled = (CCM->CCGR0 & CCM_CCGR0_CG6_MASK) >> CCM_CCGR0_CG6_SHIFT;
331332
break;
332-
case 3:
333+
case 4:
333334
clock_enabled = (CCM->CCGR1 & CCM_CCGR1_CG12_MASK) >> CCM_CCGR1_CG12_SHIFT;
334335
break;
335-
case 4:
336+
case 5:
336337
clock_enabled = (CCM->CCGR3 & CCM_CCGR3_CG1_MASK) >> CCM_CCGR3_CG1_SHIFT;
337338
break;
338-
case 5:
339+
case 6:
339340
clock_enabled = (CCM->CCGR3 & CCM_CCGR3_CG3_MASK) >> CCM_CCGR3_CG3_SHIFT;
340341
break;
341-
case 6:
342+
case 7:
342343
clock_enabled = (CCM->CCGR5 & CCM_CCGR5_CG13_MASK) >> CCM_CCGR5_CG13_SHIFT;
343344
break;
344-
case 7:
345+
case 8:
345346
clock_enabled = (CCM->CCGR6 & CCM_CCGR6_CG7_MASK) >> CCM_CCGR6_CG7_SHIFT;
346347
break;
347348
default:
@@ -357,7 +358,8 @@ bool serial_check_tx_ongoing()
357358
int i;
358359
bool uart_tx_ongoing = false;
359360

360-
for (i = 0; i < FSL_FEATURE_SOC_LPUART_COUNT; i++) {
361+
/* The first LPUART instance number is 1 */
362+
for (i = 1; i <= FSL_FEATURE_SOC_LPUART_COUNT; i++) {
361363
/* First check if UART is enabled */
362364
if (!serial_is_enabled(i)) {
363365
/* UART is not enabled, check the next instance */

targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/sleep.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,9 @@ extern bool serial_check_tx_ongoing();
2323

2424
void hal_sleep(void)
2525
{
26-
vPortPRE_SLEEP_PROCESSING(kCLOCK_ModeWait);
27-
2826
__DSB();
2927
__WFI();
3028
__ISB();
31-
32-
vPortPOST_SLEEP_PROCESSING(kCLOCK_ModeWait);
3329
}
3430

3531
void hal_deepsleep(void)

targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/us_ticker.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,18 +50,18 @@ void us_ticker_init(void)
5050
{
5151
/* Common for ticker/timer. */
5252
uint32_t busClock;
53-
/* Structure to initialize PIT. */
54-
pit_config_t pitConfig;
5553

5654
us_ticker_setup_clock();
5755

58-
PIT_GetDefaultConfig(&pitConfig);
59-
PIT_Init(PIT, &pitConfig);
60-
6156
busClock = us_ticker_get_clock();
6257

6358
/* Let the timer to count if re-init. */
6459
if (!us_ticker_inited) {
60+
/* Structure to initialize PIT. */
61+
pit_config_t pitConfig;
62+
63+
PIT_GetDefaultConfig(&pitConfig);
64+
PIT_Init(PIT, &pitConfig);
6565

6666
PIT_SetTimerPeriod(PIT, kPIT_Chnl_0, busClock / 1000000 - 1);
6767
PIT_SetTimerPeriod(PIT, kPIT_Chnl_1, 0xFFFFFFFF);

targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_MIMXRT1050/TARGET_EVK/PinNames.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ typedef enum {
205205

206206
I2C_SCL = A5,
207207
I2C_SDA = A4,
208-
208+
209209
// Not connected
210210
NC = (int)0xFFFFFFFF
211211
} PinName;

0 commit comments

Comments
 (0)