kinetis: Add support for NXP Kinetis KW41Z SoC
This commit is contained in:
parent
6dbc8d7e17
commit
68ea6b3316
@ -63,7 +63,18 @@
|
||||
|
||||
#elif defined(KINETIS_CORE_Z)
|
||||
/* Kinetis KWxxZ */
|
||||
/* TODO */
|
||||
#if defined(CPU_MODEL_MKW21Z256VHT4) || \
|
||||
defined(CPU_MODEL_MKW21Z512VHT4)
|
||||
#include "vendor/MKW21Z4.h"
|
||||
#elif defined(CPU_MODEL_MKW31Z256VHT4) || \
|
||||
defined(CPU_MODEL_MKW31Z512CAT4) || \
|
||||
defined(CPU_MODEL_MKW31Z512VHT4)
|
||||
#include "vendor/MKW31Z4.h"
|
||||
#elif defined(CPU_MODEL_MKW41Z256VHT4) || \
|
||||
defined(CPU_MODEL_MKW41Z512CAT4) || \
|
||||
defined(CPU_MODEL_MKW41Z512VHT4)
|
||||
#include "vendor/MKW41Z4.h"
|
||||
#endif
|
||||
#endif /* KINETIS_CORE_x */
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@ -121,6 +121,7 @@ void isr_lvd_lvw(void); /**< PMC controller low-voltage detect, low-voltage
|
||||
void isr_mcg(void); /**< MCG interrupt handler */
|
||||
void isr_mcm(void); /**< MCM normal interrupt handler */
|
||||
void isr_pdb0(void); /**< PDB0 interrupt handler */
|
||||
void isr_pit(void); /**< PIT any channel interrupt handler */
|
||||
void isr_pit0(void); /**< PIT timer channel 0 interrupt handler */
|
||||
void isr_pit1(void); /**< PIT timer channel 1 interrupt handler */
|
||||
void isr_pit2(void); /**< PIT timer channel 2 interrupt handler */
|
||||
@ -130,6 +131,9 @@ void isr_portb(void); /**< Port B pin detect interrupt handler */
|
||||
void isr_portc(void); /**< Port C pin detect interrupt handler */
|
||||
void isr_portd(void); /**< Port D pin detect interrupt handler */
|
||||
void isr_porte(void); /**< Port E pin detect interrupt handler */
|
||||
void isr_portb_portc(void); /**< Port B, C combined pin detect interrupt handler */
|
||||
void isr_radio_0(void); /**< Radio transceiver INT0 interrupt handler */
|
||||
void isr_radio_1(void); /**< Radio transceiver INT1 interrupt handler */
|
||||
void isr_rng(void); /**< RNG interrupt handler */
|
||||
void isr_rtc(void); /**< RTC interrupt handler */
|
||||
void isr_rtc_seconds(void); /**< RTC seconds interrupt handler */
|
||||
@ -141,6 +145,7 @@ void isr_swi(void); /**< Software interrupt handler */
|
||||
void isr_tpm0(void); /**< TPM0 interrupt handler */
|
||||
void isr_tpm1(void); /**< TPM1 interrupt handler */
|
||||
void isr_tpm2(void); /**< TPM2 interrupt handler */
|
||||
void isr_trng0(void); /**< TRNG0 interrupt handler */
|
||||
void isr_tsi0(void); /**< TSI0 interrupt handler */
|
||||
void isr_uart0_err(void); /**< UART0 error interrupt handler */
|
||||
void isr_uart0_lon(void); /**< UART0 LON interrupt handler */
|
||||
|
||||
12944
cpu/kinetis/include/vendor/MKW21Z4.h
vendored
Normal file
12944
cpu/kinetis/include/vendor/MKW21Z4.h
vendored
Normal file
File diff suppressed because it is too large
Load Diff
12312
cpu/kinetis/include/vendor/MKW31Z4.h
vendored
Normal file
12312
cpu/kinetis/include/vendor/MKW31Z4.h
vendored
Normal file
File diff suppressed because it is too large
Load Diff
13015
cpu/kinetis/include/vendor/MKW41Z4.h
vendored
Normal file
13015
cpu/kinetis/include/vendor/MKW41Z4.h
vendored
Normal file
File diff suppressed because it is too large
Load Diff
@ -179,6 +179,9 @@ WEAK_DEFAULT void isr_portb(void);
|
||||
WEAK_DEFAULT void isr_portc(void);
|
||||
WEAK_DEFAULT void isr_portd(void);
|
||||
WEAK_DEFAULT void isr_porte(void);
|
||||
WEAK_DEFAULT void isr_portb_portc(void);
|
||||
WEAK_DEFAULT void isr_radio_0(void);
|
||||
WEAK_DEFAULT void isr_radio_1(void);
|
||||
WEAK_DEFAULT void isr_rng(void);
|
||||
WEAK_DEFAULT void isr_rtc(void);
|
||||
WEAK_DEFAULT void isr_rtc_seconds(void);
|
||||
@ -191,6 +194,7 @@ WEAK_DEFAULT void isr_tpm0(void);
|
||||
WEAK_DEFAULT void isr_tpm1(void);
|
||||
WEAK_DEFAULT void isr_tpm2(void);
|
||||
WEAK_DEFAULT void isr_tsi0(void);
|
||||
WEAK_DEFAULT void isr_trng0(void);
|
||||
WEAK_DEFAULT void isr_uart0_err(void);
|
||||
WEAK_DEFAULT void isr_uart0_lon(void);
|
||||
WEAK_DEFAULT void isr_uart0_rx_tx(void);
|
||||
|
||||
@ -38,6 +38,7 @@
|
||||
#define FTFL_Collision_IRQn Read_Collision_IRQn
|
||||
#define PMC_IRQn LVD_LVW_IRQn
|
||||
#define Watchdog_IRQn WDOG_EWM_IRQn
|
||||
#define LVD_LVW_DCDC_IRQn LVD_LVW_IRQn
|
||||
|
||||
#include "vectors_kinetis.h"
|
||||
|
||||
@ -125,21 +126,29 @@ ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = {
|
||||
#elif defined(DMA_INT_INT15_MASK)
|
||||
[DMA15_IRQn ] = isr_dma15, /* DMA Channel 15 Transfer Complete */
|
||||
#endif
|
||||
#ifndef KINETIS_CORE_Z
|
||||
[DMA_Error_IRQn ] = isr_dma_error, /* DMA Error Interrupt */
|
||||
#endif
|
||||
#endif /* defined(DMA0) */
|
||||
#ifdef MCM
|
||||
#if defined(MCM) && !defined(KINETIS_CORE_Z)
|
||||
[MCM_IRQn ] = isr_mcm, /* Normal Interrupt */
|
||||
#endif
|
||||
#if defined(FTFA)
|
||||
[FTFA_IRQn ] = isr_ftfa, /* FTFA command complete */
|
||||
#ifndef KINETIS_CORE_Z
|
||||
[FTFA_Collision_IRQn] = isr_ftfa_collision, /* FTFA read collision */
|
||||
#endif
|
||||
#elif defined(FTFE)
|
||||
[FTFE_IRQn ] = isr_ftfe, /* FTFE command complete */
|
||||
#ifndef KINETIS_CORE_Z
|
||||
[FTFE_Collision_IRQn] = isr_ftfe_collision, /* FTFE read collision */
|
||||
#endif
|
||||
#elif defined(FTFL)
|
||||
[FTFL_IRQn ] = isr_ftfl, /* FTFL command complete */
|
||||
#ifndef KINETIS_CORE_Z
|
||||
[FTFL_Collision_IRQn] = isr_ftfl_collision, /* FTFL read collision */
|
||||
#endif
|
||||
#endif
|
||||
#ifdef PMC
|
||||
[LVD_LVW_IRQn ] = isr_lvd_lvw, /* Low Voltage Detect, Low Voltage Warning */
|
||||
#endif
|
||||
@ -245,11 +254,15 @@ ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = {
|
||||
[RTC_Seconds_IRQn] = isr_rtc_seconds, /* RTC seconds interrupt */
|
||||
#endif
|
||||
#ifdef PIT
|
||||
#ifdef KINETIS_CORE_Z
|
||||
[PIT_IRQn ] = isr_pit, /* PIT any channel interrupt */
|
||||
#else
|
||||
[PIT0_IRQn ] = isr_pit0, /* PIT timer channel 0 interrupt */
|
||||
[PIT1_IRQn ] = isr_pit1, /* PIT timer channel 1 interrupt */
|
||||
[PIT2_IRQn ] = isr_pit2, /* PIT timer channel 2 interrupt */
|
||||
[PIT3_IRQn ] = isr_pit3, /* PIT timer channel 3 interrupt */
|
||||
#endif
|
||||
#endif /* defined(PIT) */
|
||||
#ifdef PDB0
|
||||
[PDB0_IRQn ] = isr_pdb0, /* PDB0 Interrupt */
|
||||
#endif
|
||||
@ -274,6 +287,11 @@ ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = {
|
||||
#ifdef PORTA
|
||||
[PORTA_IRQn ] = isr_porta, /* Port A interrupt */
|
||||
#endif
|
||||
#ifdef KINETIS_CORE_Z
|
||||
#if defined(PORTB) && defined(PORTC)
|
||||
[PORTB_PORTC_IRQn] = isr_portb_portc, /* Port B, C combined interrupt */
|
||||
#endif
|
||||
#else
|
||||
#ifdef PORTB
|
||||
[PORTB_IRQn ] = isr_portb, /* Port B interrupt */
|
||||
#endif
|
||||
@ -286,6 +304,7 @@ ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = {
|
||||
#ifdef PORTE
|
||||
[PORTE_IRQn ] = isr_porte, /* Port E interrupt */
|
||||
#endif
|
||||
#endif
|
||||
#if __CORTEX_M >= 3
|
||||
[SWI_IRQn ] = isr_swi, /* Software interrupt */
|
||||
#endif
|
||||
@ -350,6 +369,12 @@ ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = {
|
||||
#ifdef USBHS
|
||||
[USBHS_IRQn ] = isr_usbhs, /* USB high speed OTG interrupt */
|
||||
#endif
|
||||
#ifdef BTLE_RF
|
||||
[Radio_0_IRQn ] = isr_radio_0, /* Radio INT0 interrupt */
|
||||
#endif
|
||||
#ifdef ZLL
|
||||
[Radio_1_IRQn ] = isr_radio_1, /* Radio INT1 interrupt */
|
||||
#endif
|
||||
};
|
||||
|
||||
/** @} */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user