20#include "periph_cpu.h" 
   41#define RTC_LOAD_CAP_BITS   (RTC_CR_SC8P_MASK | RTC_CR_SC4P_MASK | RTC_CR_SC2P_MASK) 
   43static const clock_config_t clock_config = {
 
   56    .clkdiv1 = SIM_CLKDIV1_OUTDIV1(0) | SIM_CLKDIV1_OUTDIV2(0) |
 
   57               SIM_CLKDIV1_OUTDIV3(1) | SIM_CLKDIV1_OUTDIV4(1),
 
   58    .rtc_clc = RTC_LOAD_CAP_BITS,
 
   59    .osc32ksel = SIM_SOPT1_OSC32KSEL(2),
 
   62        KINETIS_CLOCK_RTCOSC_EN |
 
   63        KINETIS_CLOCK_USE_FAST_IRC |
 
   65    .default_mode = KINETIS_MCG_MODE_FEE,
 
   66    .erc_range = KINETIS_MCG_ERC_RANGE_LOW, 
 
   69    .osc_clc = OSC_CR_SC16P_MASK,
 
   70    .oscsel = MCG_C7_OSCSEL(1), 
 
   71    .fcrdiv = MCG_SC_FCRDIV(0), 
 
   72    .fll_frdiv = MCG_C1_FRDIV(0b000), 
 
   73    .fll_factor_fei = KINETIS_MCG_FLL_FACTOR_1464, 
 
   74    .fll_factor_fee = KINETIS_MCG_FLL_FACTOR_1464, 
 
   78    .pll_prdiv = MCG_C5_PRDIV0(0b00111), 
 
   79    .pll_vdiv = MCG_C6_VDIV0(0b01100), 
 
   81#define CLOCK_CORECLOCK              (48000000ul) 
   82#define CLOCK_BUSCLOCK               (CLOCK_CORECLOCK / 1) 
  100#define LPTMR_NUMOF             (1U) 
  101#define LPTMR_CONFIG { \ 
  104            .irqn = LPTMR0_IRQn, \ 
  106            .base_freq = 32768u, \ 
  109#define TIMER_NUMOF             ((PIT_NUMOF) + (LPTMR_NUMOF)) 
  111#define PIT_BASECLOCK           (CLOCK_BUSCLOCK) 
  112#define PIT_ISR_0               isr_pit1 
  113#define PIT_ISR_1               isr_pit3 
  114#define LPTMR_ISR_0             isr_lptmr0 
  128        .pcr_rx = PORT_PCR_MUX(3),
 
  129        .pcr_tx = PORT_PCR_MUX(3),
 
  130        .irqn   = UART0_RX_TX_IRQn,
 
  131        .scgc_addr = &SIM->SCGC4,
 
  132        .scgc_bit = SIM_SCGC4_UART0_SHIFT,
 
  141        .pcr_rx = PORT_PCR_MUX(3),
 
  142        .pcr_tx = PORT_PCR_MUX(3),
 
  143        .irqn   = UART1_RX_TX_IRQn,
 
  144        .scgc_addr = &SIM->SCGC4,
 
  145        .scgc_bit = SIM_SCGC4_UART1_SHIFT,
 
  151#define UART_0_ISR          (isr_uart0_rx_tx) 
  152#define UART_1_ISR          (isr_uart1_rx_tx) 
  154#define UART_NUMOF          ARRAY_SIZE(uart_config) 
  200#define ADC_NUMOF           ARRAY_SIZE(adc_config) 
  207#define ADC_REF_SETTING     0 
  217        .scgc_addr = &SIM->SCGC2,
 
  218        .scgc_bit  = SIM_SCGC2_DAC0_SHIFT
 
  222#define DAC_NUMOF           ARRAY_SIZE(dac_config) 
  235            { .pin = 
GPIO_UNDEF,          .af = 0, .ftm_chan = 0 },
 
  246            { .pin = 
GPIO_UNDEF,           .af = 0, .ftm_chan = 0 },
 
  254#define PWM_NUMOF           ARRAY_SIZE(pwm_config) 
  269        SPI_CTAR_PBR(0) | SPI_CTAR_BR(8) |          
 
  270        SPI_CTAR_PCSSCK(0) | SPI_CTAR_CSSCK(8) |
 
  271        SPI_CTAR_PASC(0) | SPI_CTAR_ASC(8) |
 
  272        SPI_CTAR_PDT(0) | SPI_CTAR_DT(8)
 
  275        SPI_CTAR_PBR(0) | SPI_CTAR_BR(6) |          
 
  276        SPI_CTAR_PCSSCK(0) | SPI_CTAR_CSSCK(6) |
 
  277        SPI_CTAR_PASC(0) | SPI_CTAR_ASC(6) |
 
  278        SPI_CTAR_PDT(0) | SPI_CTAR_DT(6)
 
  281        SPI_CTAR_PBR(1) | SPI_CTAR_BR(4) |          
 
  282        SPI_CTAR_PCSSCK(1) | SPI_CTAR_CSSCK(3) |
 
  283        SPI_CTAR_PASC(1) | SPI_CTAR_ASC(3) |
 
  284        SPI_CTAR_PDT(1) | SPI_CTAR_DT(3)
 
  287        SPI_CTAR_PBR(2) | SPI_CTAR_BR(0) |          
 
  288        SPI_CTAR_PCSSCK(2) | SPI_CTAR_CSSCK(0) |
 
  289        SPI_CTAR_PASC(2) | SPI_CTAR_ASC(0) |
 
  290        SPI_CTAR_PDT(2) | SPI_CTAR_DT(0)
 
  293        SPI_CTAR_PBR(1) | SPI_CTAR_BR(0) |          
 
  294        SPI_CTAR_PCSSCK(1) | SPI_CTAR_CSSCK(0) |
 
  295        SPI_CTAR_PASC(1) | SPI_CTAR_ASC(0) |
 
  296        SPI_CTAR_PDT(1) | SPI_CTAR_DT(0)
 
  314        .simmask  = SIM_SCGC6_SPI0_MASK
 
  329        .simmask  = SIM_SCGC6_SPI1_MASK
 
  333#define SPI_NUMOF           ARRAY_SIZE(spi_config) 
  348        .scl_pcr = (PORT_PCR_MUX(2) | PORT_PCR_ODE_MASK),
 
  349        .sda_pcr = (PORT_PCR_MUX(2) | PORT_PCR_ODE_MASK),
 
  352#define I2C_NUMOF           ARRAY_SIZE(i2c_config) 
  353#define I2C_0_ISR           (isr_i2c0) 
  354#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.
DAC line configuration data.
I2C configuration structure.
PWM device configuration.
SPI device configuration.
UART device configuration.