20#include "periph_cpu.h" 
   31static const clock_config_t clock_config = {
 
   40    .clkdiv1 = SIM_CLKDIV1_OUTDIV1(0) | SIM_CLKDIV1_OUTDIV2(1) |
 
   41               SIM_CLKDIV1_OUTDIV3(2) | SIM_CLKDIV1_OUTDIV4(2),
 
   43    .osc32ksel = SIM_SOPT1_OSC32KSEL(2),
 
   45        KINETIS_CLOCK_OSC0_EN |
 
   46        KINETIS_CLOCK_RTCOSC_EN |
 
   47        KINETIS_CLOCK_USE_FAST_IRC |
 
   49    .default_mode = KINETIS_MCG_MODE_FEE,
 
   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(0b011), 
 
   56    .fll_factor_fei = KINETIS_MCG_FLL_FACTOR_1464, 
 
   57    .fll_factor_fee = KINETIS_MCG_FLL_FACTOR_1920, 
 
   58    .pll_prdiv = MCG_C5_PRDIV0(0b00011), 
 
   59    .pll_vdiv  = MCG_C6_VDIV0(0b00110), 
 
   61#define CLOCK_CORECLOCK              (60000000ul) 
   62#define CLOCK_BUSCLOCK               (CLOCK_CORECLOCK / 2) 
   80#define LPTMR_NUMOF             (1U) 
   81#define LPTMR_CONFIG {          \ 
   84        .irqn = LPTMR0_IRQn,    \ 
   86        .base_freq = 32768u,    \ 
   89#define TIMER_NUMOF             ((PIT_NUMOF) + (LPTMR_NUMOF)) 
   91#define PIT_BASECLOCK           (CLOCK_BUSCLOCK) 
   92#define PIT_ISR_0               isr_pit1 
   93#define PIT_ISR_1               isr_pit3 
   94#define LPTMR_ISR_0             isr_lptmr0 
  107        .pcr_rx = PORT_PCR_MUX(3),
 
  108        .pcr_tx = PORT_PCR_MUX(3),
 
  109        .irqn   = UART1_RX_TX_IRQn,
 
  110        .scgc_addr = &SIM->SCGC4,
 
  111        .scgc_bit = SIM_SCGC4_UART1_SHIFT,
 
  120        .pcr_rx = PORT_PCR_MUX(3),
 
  121        .pcr_tx = PORT_PCR_MUX(3),
 
  122        .irqn   = UART0_RX_TX_IRQn,
 
  123        .scgc_addr = &SIM->SCGC4,
 
  124        .scgc_bit = SIM_SCGC4_UART0_SHIFT,
 
  130#define UART_0_ISR          (isr_uart1_rx_tx) 
  131#define UART_1_ISR          (isr_uart0_rx_tx) 
  133#define UART_NUMOF          ARRAY_SIZE(uart_config) 
  192#define ADC_NUMOF           ARRAY_SIZE(adc_config) 
  199#define ADC_REF_SETTING     0 
  219#define PWM_NUMOF           ARRAY_SIZE(pwm_config) 
  234        SPI_CTAR_PBR(0) | SPI_CTAR_BR(8) |          
 
  235        SPI_CTAR_PCSSCK(0) | SPI_CTAR_CSSCK(8) |
 
  236        SPI_CTAR_PASC(0) | SPI_CTAR_ASC(8) |
 
  237        SPI_CTAR_PDT(0) | SPI_CTAR_DT(8)
 
  240        SPI_CTAR_PBR(0) | SPI_CTAR_BR(6) |          
 
  241        SPI_CTAR_PCSSCK(0) | SPI_CTAR_CSSCK(6) |
 
  242        SPI_CTAR_PASC(0) | SPI_CTAR_ASC(6) |
 
  243        SPI_CTAR_PDT(0) | SPI_CTAR_DT(6)
 
  246        SPI_CTAR_PBR(1) | SPI_CTAR_BR(4) |          
 
  247        SPI_CTAR_PCSSCK(1) | SPI_CTAR_CSSCK(3) |
 
  248        SPI_CTAR_PASC(1) | SPI_CTAR_ASC(3) |
 
  249        SPI_CTAR_PDT(1) | SPI_CTAR_DT(3)
 
  252        SPI_CTAR_PBR(2) | SPI_CTAR_BR(0) |          
 
  253        SPI_CTAR_PCSSCK(2) | SPI_CTAR_CSSCK(0) |
 
  254        SPI_CTAR_PASC(2) | SPI_CTAR_ASC(0) |
 
  255        SPI_CTAR_PDT(2) | SPI_CTAR_DT(0)
 
  258        SPI_CTAR_PBR(1) | SPI_CTAR_BR(0) |          
 
  259        SPI_CTAR_PCSSCK(1) | SPI_CTAR_CSSCK(0) |
 
  260        SPI_CTAR_PASC(1) | SPI_CTAR_ASC(0) |
 
  261        SPI_CTAR_PDT(1) | SPI_CTAR_DT(0)
 
  279        .simmask  = SIM_SCGC6_SPI0_MASK
 
  283#define SPI_NUMOF           ARRAY_SIZE(spi_config) 
  298        .scl_pcr = (PORT_PCR_MUX(2) | PORT_PCR_ODE_MASK),
 
  299        .sda_pcr = (PORT_PCR_MUX(2) | PORT_PCR_ODE_MASK),
 
  302#define I2C_NUMOF           ARRAY_SIZE(i2c_config) 
  303#define I2C_0_ISR           (isr_i2c0) 
  304#define I2C_1_ISR           (isr_i2c1) 
#define CLOCK_CORECLOCK
Clock configuration.
 
#define GPIO_PIN(x, y)
Define a CPU specific GPIO pin generator macro.
 
#define GPIO_UNDEF
Definition of a fitting UNDEF value.
 
@ 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 UART1
UART1 register bank.
 
#define CLOCK_BUSCLOCK
Bus clock frequency, used by several hardware modules in Kinetis CPUs.
 
#define ADC_AVG_NONE
Disable hardware averaging.
 
@ 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.