21#include "periph_cpu.h"
32static const clock_config_t clock_config = {
40 .clkdiv1 = SIM_CLKDIV1_OUTDIV1(0) | SIM_CLKDIV1_OUTDIV2(0) |
41 SIM_CLKDIV1_OUTDIV4(1),
43 .osc32ksel = SIM_SOPT1_OSC32KSEL(2),
46 KINETIS_CLOCK_RTCOSC_EN |
47 KINETIS_CLOCK_USE_FAST_IRC |
49 .default_mode = KINETIS_MCG_MODE_PEE,
51 .erc_range = KINETIS_MCG_ERC_RANGE_HIGH,
53 .oscsel = MCG_C7_OSCSEL(0),
54 .fcrdiv = MCG_SC_FCRDIV(0),
55 .fll_frdiv = MCG_C1_FRDIV(0b010),
56 .fll_factor_fei = KINETIS_MCG_FLL_FACTOR_1464,
57 .fll_factor_fee = KINETIS_MCG_FLL_FACTOR_1280,
58 .pll_prdiv = MCG_C5_PRDIV0(0b00001),
59 .pll_vdiv = MCG_C6_VDIV0(0b00000),
61#define CLOCK_CORECLOCK (48000000ul)
62#define CLOCK_BUSCLOCK (CLOCK_CORECLOCK / 1)
80#define LPTMR_NUMOF (0U)
81#define LPTMR_CONFIG {}
82#define TIMER_NUMOF ((PIT_NUMOF) + (LPTMR_NUMOF))
84#define PIT_BASECLOCK (CLOCK_BUSCLOCK)
85#define PIT_ISR_0 isr_pit1
86#define PIT_ISR_1 isr_pit3
99 .pcr_rx = PORT_PCR_MUX(3),
100 .pcr_tx = PORT_PCR_MUX(3),
101 .irqn = UART2_RX_TX_IRQn,
102 .scgc_addr = &SIM->SCGC4,
103 .scgc_bit = SIM_SCGC4_UART2_SHIFT,
112 .pcr_rx = PORT_PCR_MUX(3),
113 .pcr_tx = PORT_PCR_MUX(3),
114 .irqn = UART0_RX_TX_IRQn,
115 .scgc_addr = &SIM->SCGC4,
116 .scgc_bit = SIM_SCGC4_UART0_SHIFT,
122#define UART_0_ISR (isr_uart2_rx_tx)
123#define UART_1_ISR (isr_uart0_rx_tx)
125#define UART_NUMOF ARRAY_SIZE(uart_config)
141#define ADC_NUMOF ARRAY_SIZE(adc_config)
147#define ADC_REF_SETTING 0
168#define PWM_NUMOF ARRAY_SIZE(pwm_config)
183 SPI_CTAR_PBR(0) | SPI_CTAR_BR(8) |
184 SPI_CTAR_PCSSCK(0) | SPI_CTAR_CSSCK(8) |
185 SPI_CTAR_PASC(0) | SPI_CTAR_ASC(8) |
186 SPI_CTAR_PDT(0) | SPI_CTAR_DT(8)
189 SPI_CTAR_PBR(0) | SPI_CTAR_BR(6) |
190 SPI_CTAR_PCSSCK(0) | SPI_CTAR_CSSCK(6) |
191 SPI_CTAR_PASC(0) | SPI_CTAR_ASC(6) |
192 SPI_CTAR_PDT(0) | SPI_CTAR_DT(6)
195 SPI_CTAR_PBR(1) | SPI_CTAR_BR(4) |
196 SPI_CTAR_PCSSCK(1) | SPI_CTAR_CSSCK(3) |
197 SPI_CTAR_PASC(1) | SPI_CTAR_ASC(3) |
198 SPI_CTAR_PDT(1) | SPI_CTAR_DT(3)
201 SPI_CTAR_PBR(2) | SPI_CTAR_BR(0) |
202 SPI_CTAR_PCSSCK(2) | SPI_CTAR_CSSCK(0) |
203 SPI_CTAR_PASC(2) | SPI_CTAR_ASC(0) |
204 SPI_CTAR_PDT(2) | SPI_CTAR_DT(0)
207 SPI_CTAR_PBR(1) | SPI_CTAR_BR(0) |
208 SPI_CTAR_PCSSCK(1) | SPI_CTAR_CSSCK(0) |
209 SPI_CTAR_PASC(1) | SPI_CTAR_ASC(0) |
210 SPI_CTAR_PDT(1) | SPI_CTAR_DT(0)
228 .simmask = SIM_SCGC6_SPI0_MASK
243 .simmask = SIM_SCGC6_SPI1_MASK
247#define SPI_NUMOF ARRAY_SIZE(spi_config)
262 .scl_pcr = (PORT_PCR_MUX(6) | PORT_PCR_ODE_MASK),
263 .sda_pcr = (PORT_PCR_MUX(6) | PORT_PCR_ODE_MASK),
266#define I2C_NUMOF ARRAY_SIZE(i2c_config)
267#define I2C_0_ISR (isr_i2c1)
#define CLOCK_CORECLOCK
Clock configuration.
#define GPIO_PIN(x, y)
Define a CPU specific GPIO pin generator macro.
@ I2C_SPEED_FAST
fast mode: ~400 kbit/s
static const spi_clk_conf_t spi_clk_config[]
Pre-calculated clock divider values based on a CLOCK_CORECLOCK (32MHz)
#define SPI_CS_UNDEF
Define value for unused CS line.
#define UART0
UART0 register bank.
#define CLOCK_BUSCLOCK
Bus clock frequency, used by several hardware modules in Kinetis CPUs.
@ KINETIS_UART
Kinetis UART module type.
@ UART_MODE_8N1
8 data bits, no parity, 1 stop bit
#define ADC_AVG_MAX
Maximum hardware averaging (32 samples)
ADC device configuration.
I2C configuration structure.
PWM device configuration.
SPI device configuration.
UART device configuration.