Kinetis SDK v.1.2 API Reference Manual

2303
Kinetis SDK v.1.2 API Reference Manual Freescale Semiconductor, Inc. Document Number: KSDK12APIRM Rev. 0 Apr 2015

Transcript of Kinetis SDK v.1.2 API Reference Manual

  • Kinetis SDK v.1.2 API Reference Manual

    Freescale Semiconductor, Inc.

    Document Number: KSDK12APIRMRev. 0

    Apr 2015

  • ContentsChapter Introduction

    Chapter Architectural Overview

    Chapter 16-bit SAR Analog-to-Digital Converter (ADC16)

    3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    3.2 ADC16 HAL Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 193.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.2.5 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    3.3 ADC16 Peripheral Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.3.2 ADC16 Driver model building . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.3.3 ADC16 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.3.4 ADC16 Call diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.3.5 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 303.3.6 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.3.7 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    Chapter Analog Front End (AFE)

    4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    4.2 AFE HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 424.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    4.3 AFE Peripheral driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.3.2 Channel configuration structures . . . . . . . . . . . . . . . . . . . . . . . . . . 534.3.3 User configuration structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

    Freescale SemiconductorKinetis SDK v.1.2 API Reference Manual

    iii

  • SectionNumber

    ContentsTitle

    PageNumber

    4.3.4 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.3.5 Measuring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.3.6 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.3.7 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 594.3.8 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604.3.9 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

    Chapter Crossbar AND/OR/INVERT (AOI) Module

    5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

    5.2 AOI HAL Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685.2.2 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 695.2.3 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

    5.3 AOI Peripheral Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725.3.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725.3.3 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725.3.4 Event output configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725.3.5 Call diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725.3.6 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745.3.7 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765.3.8 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

    Chapter Comparator (CMP)

    6.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

    6.2 CMP HAL Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 846.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 856.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

    6.3 CMP Peripheral Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 916.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 916.3.2 CMP Driver model building . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 916.3.3 CMP Call diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 916.3.4 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946.3.5 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 956.3.6 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 956.3.7 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

    ivKinetis SDK v.1.2 API Reference Manual

    Freescale Semiconductor

  • SectionNumber

    ContentsTitle

    PageNumber

    Chapter Computer Operating Properly (COP) Watchdog Timer

    7.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

    7.2 COP HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1037.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 1037.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

    7.3 COP Peripheral Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1077.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1077.3.2 COP Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1077.3.3 COP Refresh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1077.3.4 COP Reset Count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1077.3.5 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1087.3.6 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

    Chapter 12-bit Cyclic Analog-to-Digital Converter (CADC)

    8.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

    8.2 CADC HAL Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1128.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1128.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1148.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 1168.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

    8.3 CADC Peripheral Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1318.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1318.3.2 CADC Driver model building . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1318.3.3 CADC Work mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1318.3.4 CADC Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1328.3.5 CADC Call diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1328.3.6 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 1368.3.7 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1378.3.8 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

    Chapter Digital-to-Analog Converter (DAC)

    9.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

    9.2 DAC HAL Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1449.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1449.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1459.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 146

    Freescale SemiconductorKinetis SDK v.1.2 API Reference Manual

    v

  • SectionNumber

    ContentsTitle

    PageNumber

    9.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

    9.3 DAC Peripheral Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1519.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1519.3.2 DAC Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1519.3.3 DAC Model building . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1519.3.4 DAC Call diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1529.3.5 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 1599.3.6 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1599.3.7 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

    Chapter Direct Memory Access (DMA)

    10.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165

    10.2 DMA HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16610.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16610.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16810.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 16810.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

    10.3 DMAMUX HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

    10.4 DMA driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17910.4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17910.4.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18010.4.3 Typedef Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18110.4.4 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 18110.4.5 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18110.4.6 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

    10.5 DMA request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18610.5.1 DMA Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18610.5.2 DMA Channel concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18610.5.3 DMA request concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18610.5.4 DMA Memory allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18610.5.5 DMA Call diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

    Chapter Serial Peripheral Interface (DSPI)

    11.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

    11.2 DSPI HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19011.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19011.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19411.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 195

    viKinetis SDK v.1.2 API Reference Manual

    Freescale Semiconductor

  • SectionNumber

    ContentsTitle

    PageNumber

    11.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

    11.3 DSPI Master Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21411.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21411.3.2 DSPI Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21411.3.3 DSPI Run-time state structures . . . . . . . . . . . . . . . . . . . . . . . . . . . 21511.3.4 DSPI User configuration structures . . . . . . . . . . . . . . . . . . . . . . . . . 21511.3.5 DSPI Device structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21611.3.6 DSPI Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21611.3.7 DSPI Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21811.3.8 DSPI De-initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22011.3.9 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22311.3.10 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22711.3.11 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238

    11.4 DSPI Slave Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23911.4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23911.4.2 DSPI Runtime state of the DSPI slave driver . . . . . . . . . . . . . . . . . . . . 24011.4.3 DSPI User configuration structures . . . . . . . . . . . . . . . . . . . . . . . . . 24011.4.4 DSPI Setup and Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24011.4.5 DSPI Blocking and non-blocking . . . . . . . . . . . . . . . . . . . . . . . . . . 24111.4.6 DSPI De-initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24211.4.7 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24511.4.8 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24711.4.9 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

    11.5 DSPI Shared IRQ Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25411.5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25411.5.2 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25411.5.3 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

    Chapter Enhanced Direct Memory Access (eDMA)

    12.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

    12.2 eDMA HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25812.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25812.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26212.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 26512.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266

    12.3 eDMA Peripheral driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29212.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29212.3.2 eDMA Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29212.3.3 eDMA Channel concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

    Freescale SemiconductorKinetis SDK v.1.2 API Reference Manual

    vii

  • SectionNumber

    ContentsTitle

    PageNumber

    12.3.4 DMA request concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29212.3.5 eDMA Memory allocation and alignment . . . . . . . . . . . . . . . . . . . . . . 29212.3.6 eDMA Call diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29312.3.7 eDMA Extend the driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29412.3.8 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29712.3.9 Macro Definition Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . 29812.3.10 Typedef Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29912.3.11 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 29912.3.12 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30012.3.13 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

    12.4 eDMA request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31212.4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31212.4.2 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 312

    Chapter Quadrature Encoder/Decoder (ENC)

    13.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313

    13.2 ENC HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31413.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31413.2.2 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 31813.2.3 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

    13.3 ENC Peripheral Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35413.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35413.3.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35413.3.3 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35413.3.4 Testing ENC module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35513.3.5 Input monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35513.3.6 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35613.3.7 Reading Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35613.3.8 Reading Hold Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35613.3.9 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35713.3.10 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360

    Chapter Ethernet MAC (ENET)

    14.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365

    14.2 ENET HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36614.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36614.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37314.2.3 Macro Definition Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . 38014.2.4 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 380

    viiiKinetis SDK v.1.2 API Reference Manual

    Freescale Semiconductor

  • SectionNumber

    ContentsTitle

    PageNumber

    14.2.5 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387

    14.3 ENET RTCS Adaptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398

    14.4 ENET Physical Layer Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399

    14.5 ENET Peripheral Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40014.5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40014.5.2 ENET device data structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40014.5.3 ENET Configuration structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40014.5.4 ENET Buffer data structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40014.5.5 ENET Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40114.5.6 ENET Data Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40214.5.7 ENET Data Transmit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40714.5.8 ENET Note: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40914.5.9 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41114.5.10 Macro Definition Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . 41514.5.11 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 41514.5.12 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41514.5.13 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421

    Chapter External Watchdog Timer (EWM)

    15.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423

    15.2 EWM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42415.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42415.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42515.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 42515.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425

    15.3 EWM Peripheral Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42915.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42915.3.2 EWM Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42915.3.3 EWM Refresh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42915.3.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43015.3.5 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431

    Chapter C90TFS Flash Driver

    16.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433

    16.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44116.2.1 struct FLASH_SSD_CONFIG . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441

    16.3 Macro Definition Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 442

    Freescale SemiconductorKinetis SDK v.1.2 API Reference Manual

    ix

  • SectionNumber

    ContentsTitle

    PageNumber

    16.3.1 BYTE2WORD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44216.3.2 WORD2BYTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44216.3.3 SET_FLASH_INT_BITS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44216.3.4 GET_FLASH_INT_BITS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44216.3.5 FTFx_ERR_MGSTAT0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44216.3.6 FTFx_ERR_PVIOL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44316.3.7 FTFx_ERR_ACCERR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44316.3.8 FTFx_ERR_CHANGEPROT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44316.3.9 FTFx_ERR_NOEEE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44316.3.10 FTFx_ERR_EFLASHONLY . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44416.3.11 FTFx_ERR_RAMRDY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44416.3.12 FTFx_ERR_RANGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44416.3.13 FTFx_ERR_SIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444

    16.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44416.4.1 RelocateFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44416.4.2 FlashInit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44516.4.3 FlashCommandSequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44516.4.4 PFlashGetProtection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44616.4.5 PFlashSetProtection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44616.4.6 FlashGetSecurityState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44716.4.7 FlashSecurityBypass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44716.4.8 FlashEraseAllBlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44816.4.9 FlashVerifyAllBlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44916.4.10 FlashEraseSector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44916.4.11 FlashVerifySection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45016.4.12 FlashEraseSuspend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45116.4.13 FlashEraseResume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45216.4.14 FlashReadOnce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45216.4.15 FlashProgramOnce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45316.4.16 FlashReadResource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45416.4.17 FlashProgram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45516.4.18 FlashProgramCheck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45516.4.19 FlashCheckSum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45616.4.20 FlashProgramSection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45716.4.21 FlashEraseBlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45716.4.22 FlashVerifyBlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458

    Chapter External Bus Interface (FLEXBUS)

    17.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459

    17.2 FLEXBUS HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46017.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46017.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463

    xKinetis SDK v.1.2 API Reference Manual

    Freescale Semiconductor

  • SectionNumber

    ContentsTitle

    PageNumber

    17.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 46417.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466

    17.3 FLEXBUS Peripheral Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47917.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47917.3.2 FLEXBUS Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47917.3.3 FLEXBUS Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47917.3.4 FLEXBUS De-initialize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47917.3.5 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48017.3.6 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480

    Chapter Controller Area Network (FlexCAN)

    18.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481

    18.2 FlexCAN HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48218.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48218.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48618.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 48818.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491

    18.3 FlexCAN Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50718.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50718.3.2 FlexCAN Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50718.3.3 FlexCAN Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50718.3.4 FlexCAN Module timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50718.3.5 FlexCAN Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50818.3.6 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51018.3.7 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51218.3.8 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520

    Chapter FlexTimer (FTM)

    19.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521

    19.2 FlexTimer HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52219.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52219.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52819.2.3 Macro Definition Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . 52919.2.4 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 52919.2.5 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530

    19.3 FlexTimer Peripheral Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56119.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56119.3.2 FlexTimer Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561

    Freescale SemiconductorKinetis SDK v.1.2 API Reference Manual

    xi

  • SectionNumber

    ContentsTitle

    PageNumber

    19.3.3 FlexTimer Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56119.3.4 FlexTimer Generate a PWM signal . . . . . . . . . . . . . . . . . . . . . . . . . 56119.3.5 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56319.3.6 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56319.3.7 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568

    Chapter General Purpose Input/Output (GPIO)

    20.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569

    20.2 GPIO HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57020.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57020.2.2 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 57120.2.3 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571

    20.3 GPIO Peripheral driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58020.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58020.3.2 GPIO Pin Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58020.3.3 GPIO Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58020.3.4 Output Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58120.3.5 Input Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58220.3.6 GPIO Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58220.3.7 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58420.3.8 Macro Definition Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . 58520.3.9 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58520.3.10 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590

    Chapter Inter-Integrated Circuit (I2C)

    21.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591

    21.2 I2C HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59221.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59221.2.2 I2C ICR Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59221.2.3 I2C Clock rate formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59221.2.4 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 59521.2.5 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596

    21.3 I2C Slave peripheral driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60921.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60921.3.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61021.3.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 61221.3.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61321.3.5 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619

    xiiKinetis SDK v.1.2 API Reference Manual

    Freescale Semiconductor

  • SectionNumber

    ContentsTitle

    PageNumber

    21.4 I2C Master peripheral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62021.4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62021.4.2 I2C Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62021.4.3 I2C Data Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62021.4.4 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62221.4.5 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62221.4.6 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628

    Chapter Independent Real Time Clock (IRTC)

    22.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629

    22.2 IRTC HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63022.2.1 IRTC Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63022.2.2 IRTC Setting and reading the IRTC time . . . . . . . . . . . . . . . . . . . . . . 63022.2.3 IRTC Setting and reading the Alarm . . . . . . . . . . . . . . . . . . . . . . . . 630

    22.3 IRTC Peripheral Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63122.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63122.3.2 IRTC Peripheral Driver Initialization . . . . . . . . . . . . . . . . . . . . . . . . 63122.3.3 IRTCS Setting and reading the IRTC time . . . . . . . . . . . . . . . . . . . . . 63122.3.4 IRTC Triggering an Alarm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63122.3.5 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63322.3.6 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636

    Chapter Local Memory Controller (LMEM) Cache Control Driver

    23.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637

    23.2 LMEM Cache HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63823.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63823.2.2 Macro Definition Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . 63923.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 64023.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641

    23.3 LMEM Cache Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64623.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64623.3.2 LMEM Cache Driver Definitions and Usage . . . . . . . . . . . . . . . . . . . . 64623.3.3 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64823.3.4 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652

    Chapter Universal Asynchronous Receiver/Transmitter (LPSCI)

    24.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653

    Freescale SemiconductorKinetis SDK v.1.2 API Reference Manual

    xiii

  • SectionNumber

    ContentsTitle

    PageNumber

    24.2 LPSCI HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65424.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65424.2.2 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 65824.2.3 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661

    24.3 LPSCI Peripheral driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67424.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67424.3.2 LPSCI Device structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67424.3.3 LPSCI User configuration structures . . . . . . . . . . . . . . . . . . . . . . . . 67424.3.4 LPSCI Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67424.3.5 LPSCI Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67524.3.6 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67824.3.7 Typedef Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68224.3.8 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68224.3.9 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692

    Chapter Low Power Timer (LPTMR)

    25.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693

    25.2 LPTMR HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69425.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69425.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69625.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 69725.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698

    25.3 LPTMR Peripheral driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70225.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70225.3.2 LPTMR Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70225.3.3 LPTMR Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70225.3.4 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70425.3.5 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70525.3.6 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708

    Chapter Low Power Universal Asynchronous Receiver/Transmitter (LPUART)

    26.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709

    26.2 LPUART HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71026.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71026.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71526.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 71626.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719

    26.3 LPUART Peripheral driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735

    xivKinetis SDK v.1.2 API Reference Manual

    Freescale Semiconductor

  • SectionNumber

    ContentsTitle

    PageNumber

    26.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73526.3.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73726.3.3 Typedef Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74226.3.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74226.3.5 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 756

    26.4 LPUART Type Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75726.4.1 LPUART Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75726.4.2 LPUART Device structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75726.4.3 LPUART Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75726.4.4 LPUART Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757

    Chapter Memory Protection Unit (MPU)

    27.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759

    27.2 MPU HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76027.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76027.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76227.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 76427.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 766

    27.3 MPU Peripheral driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77027.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77027.3.2 MPU Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77027.3.3 MPU Interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77127.3.4 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77227.3.5 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77227.3.6 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775

    Chapter Programmable Delay Block (PDB)

    28.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777

    28.2 PDB HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77828.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77828.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78028.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 78128.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783

    28.3 PDB Peripheral driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79228.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79228.3.2 PDB Driver model building . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79228.3.3 PDB Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79228.3.4 PDB Call diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792

    Freescale SemiconductorKinetis SDK v.1.2 API Reference Manual

    xv

  • SectionNumber

    ContentsTitle

    PageNumber

    28.3.5 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79628.3.6 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79728.3.7 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804

    Chapter Periodic Interrupt Timer (PIT)

    29.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805

    29.2 PIT HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80629.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80629.2.2 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 80729.2.3 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807

    29.3 PIT Peripheral driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81229.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81229.3.2 PIT Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81229.3.3 PIT Timer Period . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81229.3.4 PIT Timer Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81329.3.5 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81429.3.6 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81429.3.7 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819

    Chapter Pulse Width Modulator A (PWMA/eFlexPWM)

    30.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821

    30.2 eFlexPWM Peripheral Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82230.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82230.2.2 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82230.2.3 Generate a PWM signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82230.2.4 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82430.2.5 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 82430.2.6 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82530.2.7 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830

    Chapter FlexTimer (FTM)

    31.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 831

    31.2 FlexTimer HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83231.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83231.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83431.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 83531.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836

    xviKinetis SDK v.1.2 API Reference Manual

    Freescale Semiconductor

  • SectionNumber

    ContentsTitle

    PageNumber

    31.3 FlexTimer Peripheral Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84431.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84431.3.2 FlexTimer Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84431.3.3 FlexTimer Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84431.3.4 FlexTimer Generate a PWM signal . . . . . . . . . . . . . . . . . . . . . . . . . 84431.3.5 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 84631.3.6 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84631.3.7 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848

    Chapter Random Number Generator Accelerator (RNGA)

    32.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849

    32.2 RNGA HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85032.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85032.2.2 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 85132.2.3 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 852

    32.3 RNGA Peripheral Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85932.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85932.3.2 RNGA Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85932.3.3 RNGA Set/Get Working Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 85932.3.4 Get random data from RNGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85932.3.5 Seed RNGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85932.3.6 RNGA interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85932.3.7 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86032.3.8 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86132.3.9 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863

    Chapter Real Time Clock (RTC)

    33.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865

    33.2 RTC HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86633.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86633.2.2 RTC Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86633.2.3 RTC Setting and reading the RTC time . . . . . . . . . . . . . . . . . . . . . . . 86633.2.4 IRTC Setting and reading the Alarm . . . . . . . . . . . . . . . . . . . . . . . . 86633.2.5 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87233.2.6 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 87433.2.7 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875

    33.3 RTC Peripheral Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90333.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90333.3.2 RTC Peripheral Driver Initialization . . . . . . . . . . . . . . . . . . . . . . . . . 903

    Freescale SemiconductorKinetis SDK v.1.2 API Reference Manual

    xvii

  • SectionNumber

    ContentsTitle

    PageNumber

    33.3.3 IRTCS Setting and reading the IRTC time . . . . . . . . . . . . . . . . . . . . . 90333.3.4 RTC Triggering an Alarm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90333.3.5 RTC Repeated alarm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90433.3.6 RTC Enable and Disable Alarm Interrupts . . . . . . . . . . . . . . . . . . . . . 90533.3.7 RTC Interrupt handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90533.3.8 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90733.3.9 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90733.3.10 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 913

    Chapter Synchronous Audio Interface (SAI)

    34.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915

    34.2 SAI HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91634.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91634.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91934.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 91934.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 922

    34.3 SAI Peripheral driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93134.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93134.3.2 SAI Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93134.3.3 SAI Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93134.3.4 SAI Call diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93134.3.5 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93434.3.6 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935

    Chapter Secured Digital Host Controller (SDHC)

    35.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945

    35.2 SDHC HAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94635.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94635.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94835.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 95035.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 951

    35.3 SDHC Peripheral Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95735.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95735.3.2 SDHC Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95735.3.3 SDHC Issuing a request to the card . . . . . . . . . . . . . . . . . . . . . . . . . 95735.3.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 958

    35.4 SDHC Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96135.4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 961

    xviiiKinetis SDK v.1.2 API Reference Manual

    Freescale Semiconductor

  • SectionNumber

    ContentsTitle

    PageNumber

    35.4.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96335.4.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 966

    35.5 SDHC Standard Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96935.5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 969

    35.6 SDHC Card Related Standard Definition . . . . . . . . . . . . . . . . . . . . . . 978

    35.7 SDHC Card Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 979

    35.8 SDHC Card Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 980

    35.9 SD Card SPI Data Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 981

    35.10 SD Card SPI Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 982

    Chapter LCD (SLCD)

    36.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 983

    36.2 SLCD HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98436.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98436.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98836.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 98936.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 992

    36.3 SLCD Peripheral driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100036.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100036.3.2 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100036.3.3 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . .100236.3.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100236.3.5 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1007

    Chapter Serial Peripheral Interface (SPI)

    37.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1009

    37.2 SPI HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101037.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101037.2.2 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . .101437.2.3 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1017

    37.3 SPI Master Peripheral Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102637.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102637.3.2 SPI Run-time state structures . . . . . . . . . . . . . . . . . . . . . . . . . . . .102737.3.3 SPI Device structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1027

    Freescale SemiconductorKinetis SDK v.1.2 API Reference Manual

    xix

  • SectionNumber

    ContentsTitle

    PageNumber

    37.3.4 SPI Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102737.3.5 SPI Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .102937.3.6 SPI De-initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103037.3.7 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . .103337.3.8 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . .103537.3.9 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103637.3.10 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1044

    37.4 SPI Slave Peripheral Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104537.4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104537.4.2 SPI Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104537.4.3 SPI Runtime state of the SPI slave driver . . . . . . . . . . . . . . . . . . . . . .104637.4.4 SPI User configuration structures . . . . . . . . . . . . . . . . . . . . . . . . . .104637.4.5 SPI Setup and Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104637.4.6 SPI Blocking and non-blocking . . . . . . . . . . . . . . . . . . . . . . . . . . .104737.4.7 SPI De-initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104837.4.8 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . .105037.4.9 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105337.4.10 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1060

    37.5 Shared SPI Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1061

    37.6 SPI Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1062

    Chapter Timer/PWM Module (TPM)

    38.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1063

    38.2 TPM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106438.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106438.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . .106738.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . .106738.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1068

    38.3 TPM Peripheral driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107938.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107938.3.2 TPM Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107938.3.3 TPM Generate a PWM signal . . . . . . . . . . . . . . . . . . . . . . . . . . . .107938.3.4 TPM Input Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107938.3.5 TPM Output Compare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108038.3.6 TPM Interrupt handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108038.3.7 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . .108238.3.8 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . .108238.3.9 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108338.3.10 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1088

    xxKinetis SDK v.1.2 API Reference Manual

    Freescale Semiconductor

  • SectionNumber

    ContentsTitle

    PageNumber

    Chapter Touch Sense Input (TSI)

    39.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1089

    39.2 TSI HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109039.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109039.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . .110039.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . .110239.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1109

    39.3 TSI Peripheral Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113839.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113839.3.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113839.3.3 TSI Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113839.3.4 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . .114239.3.5 Typedef Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114439.3.6 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . .114439.3.7 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114539.3.8 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1153

    Chapter Universal Asynchronous Receiver/Transmitter (UART)

    40.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1155

    40.2 UART HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115640.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115640.2.2 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . .116040.2.3 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1164

    40.3 UART Peripheral driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117740.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117740.3.2 UART Device structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117740.3.3 UART User configuration structures . . . . . . . . . . . . . . . . . . . . . . . .117740.3.4 UART Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117740.3.5 UART Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117840.3.6 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . .118040.3.7 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118340.3.8 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1189

    Chapter Reference (VREF)

    41.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1191

    41.2 VREF HAL Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119241.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119241.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . .1193

    Freescale SemiconductorKinetis SDK v.1.2 API Reference Manual

    xxi

  • SectionNumber

    ContentsTitle

    PageNumber

    41.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . .119341.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1193

    41.3 VREF Peripheral driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119741.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119741.3.2 VREF Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119741.3.3 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1198

    Chapter Watchdog Timer (WDOG)

    42.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1201

    42.2 WDOG HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120242.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120242.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . .120342.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . .120442.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1205

    42.3 WDOG Peripheral driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121042.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121042.3.2 WDOG Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121042.3.3 WDOG Refresh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121042.3.4 WDOG Reset Count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121042.3.5 WDOG Reset System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121042.3.6 WDOG interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121142.3.7 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1211

    Chapter Inter-Peripheral Crossbar Switch (XBAR)

    43.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1213

    43.2 XBAR HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121443.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121443.2.2 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . .121543.2.3 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1215

    43.3 XBAR Peripheral driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122143.3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122143.3.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122143.3.3 CMP Driver model building . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122143.3.4 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122143.3.5 Call diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122143.3.6 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . .122543.3.7 Typedef Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122643.3.8 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . .1226

    xxiiKinetis SDK v.1.2 API Reference Manual

    Freescale Semiconductor

  • SectionNumber

    ContentsTitle

    PageNumber

    43.3.9 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122643.3.10 Variable Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1229

    Chapter Low-Leakage Wakeup Unit (LLWU)

    44.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1231

    44.2 External Wakeup Pin APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1231

    44.3 Internal Wakeup Module APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . .1231

    44.4 Reset Pin Configure APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1231

    44.5 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . .123244.5.1 struct llwu_external_pin_filter_mode_t . . . . . . . . . . . . . . . . . . . . . . .123244.5.2 struct llwu_reset_pin_mode_t . . . . . . . . . . . . . . . . . . . . . . . . . . . .1232

    44.6 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . .123244.6.1 llwu_external_pin_modes_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123244.6.2 llwu_filter_modes_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1233

    Chapter Multipurpose Clock Generator (MCG)

    45.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1235

    45.2 MCG HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123645.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123645.2.2 OSC related APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123645.2.3 FLL reference clock source, divider, and output frequency. . . . . . . . . . . . . .123645.2.4 PLL reference clock source, divider and output frequency . . . . . . . . . . . . .123745.2.5 MCG mode related APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123745.2.6 MCG auto trim machine(ATM) function . . . . . . . . . . . . . . . . . . . . . .123745.2.7 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . .124345.2.8 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1247

    Chapter Multipurpose Clock Generator Lite (MCG_Lite)

    46.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1267

    46.2 MCG_Lite HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126846.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126846.2.2 Get current clock output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126846.2.3 Clock mode switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126846.2.4 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . .127146.2.5 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1273

    Freescale SemiconductorKinetis SDK v.1.2 API Reference Manual

    xxiii

  • SectionNumber

    ContentsTitle

    PageNumber

    Chapter Memory-Mapped Divide and Square Root(MMDVSQ)

    47.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1281

    47.2 MMDVSQ HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128247.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128247.2.2 Perform MMDVSQ Divide or square root operation . . . . . . . . . . . . . . . .128247.2.3 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1284

    Chapter Oscillator (OSC)

    48.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1295

    48.2 OSC HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129648.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129648.2.2 OSCERCLK Configure APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . .129648.2.3 Capacitor Load Configure APIs . . . . . . . . . . . . . . . . . . . . . . . . . . .129648.2.4 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . .129748.2.5 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1297

    Chapter Power Management Controller (PMC)

    49.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1299

    49.2 PMC HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130049.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130049.2.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . .130149.2.3 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . .130149.2.4 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1302

    Chapter Port Control and Interrupts (PORT)

    50.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1307

    50.2 PORT HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130850.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130850.2.2 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . .130950.2.3 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1310

    Chapter Reset Control Module (RCM)

    51.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1315

    51.2 RCM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131651.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1316

    xxivKinetis SDK v.1.2 API Reference Manual

    Freescale Semiconductor

  • SectionNumber

    ContentsTitle

    PageNumber

    51.2.2 System Reset Source APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131651.2.3 RESET Pin Filter APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131651.2.4 ROM Boot APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131651.2.5 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . .131751.2.6 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . .131851.2.7 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1318

    Chapter System Clock Generator (SCG)

    52.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1321

    52.2 SCG HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132252.2.1 APIs for MCU system clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132252.2.2 APIs for clock out selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132252.2.3 APIs for clock source configuration . . . . . . . . . . . . . . . . . . . . . . . . .1322

    Chapter System Integration Module (SIM)

    53.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1325

    53.2 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132653.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132653.2.2 Clock Gate Control register access APIs . . . . . . . . . . . . . . . . . . . . . .132653.2.3 Clock Source Control access APIs . . . . . . . . . . . . . . . . . . . . . . . . .132653.2.4 Clock Divider access APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132753.2.5 Macro Definition Documentation . . . . . . . . . . . . . . . . . . . . . . . . . .135853.2.6 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . .135853.2.7 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137753.2.8 K02F12810 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . .143553.2.9 K22F12810 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . .144253.2.10 K22F25612 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . .145253.2.11 K22F51212 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . .146253.2.12 K10D10 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .147253.2.13 K11DA5 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148253.2.14 K20D10 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149053.2.15 K21DA5 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150053.2.16 KL02Z4 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150853.2.17 KL03Z4 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151353.2.18 KL13Z644 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151953.2.19 KL16Z4 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152053.2.20 KL17Z4 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152753.2.21 KL17Z644 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153353.2.22 K21FA12 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153953.2.23 K24F12 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .154853.2.24 KL26Z4 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1557

    Freescale SemiconductorKinetis SDK v.1.2 API Reference Manual

    xxv

  • SectionNumber

    ContentsTitle

    PageNumber

    53.2.25 KL27Z4 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .156453.2.26 KL27Z644 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157053.2.27 KL28T7 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157653.2.28 KL33Z4 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158453.2.29 KL33Z644 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159053.2.30 KL34Z4 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159153.2.31 KL36Z4 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159853.2.32 KL46Z4 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .160553.2.33 K24F25612 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . .161253.2.34 K26F18 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162153.2.35 K30D10 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163353.2.36 K40D10 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164353.2.37 K50D10 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165353.2.38 K51D10 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166353.2.39 K52D10 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167353.2.40 K53D10 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168353.2.41 KV10Z7 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169353.2.42 K60D10 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169953.2.43 KV30F12810 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . .170953.2.44 KV31F12810 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . .171553.2.45 KV31F25612 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . .172253.2.46 KV31F51212 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . .172953.2.47 K63F12 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .176853.2.48 K64F12 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177853.2.49 K65F18 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .178853.2.50 K66F18 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180053.2.51 KL43Z4 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181253.2.52 KW01Z4 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181853.2.53 KW21D5 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . .182553.2.54 KW22D5 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183353.2.55 KW24D5 SIM HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1841

    Chapter System Mode Controller (SMC)

    54.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1849

    54.2 SMC HAL driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185054.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185054.2.2 Power Mode Configuration APIs . . . . . . . . . . . . . . . . . . . . . . . . . .185054.2.3 Power Mode Protection APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . .185054.2.4 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . .185354.2.5 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . .185354.2.6 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1855

    xxviKinetis SDK v.1.2 API Reference Manual

    Freescale Semiconductor

  • SectionNumber

    ContentsTitle

    PageNumber

    Chapter Clock Manager (Clock)

    55.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185955.1.1 Clock Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1875

    55.2 Data Structure Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . .187955.2.1 struct oscer_config_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187955.2.2 struct osc_user_config_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187955.2.3 struct rtc_osc_user_config_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188055.2.4 struct mcg_config_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188155.2.5 struct clock_manager_user_config_t . . . . . . . . . . . . . . . . . . . . . . . .188255.2.6 struct clock_notify_struct_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188255.2.7 struct clock_manager_callback_user_config_t . . . . . . . . . . . . . . . . . . .188355.2.8 struct clock_manager_state_t . . . . . . . . . . . . . . . . . . . . . . . . . . . .188355.2.9 struct sim_config_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188455.2.10 struct clock_name_config_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1884

    55.3 Macro Definition Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . .188455.3.1 CPU_LPO_CLK_HZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1884

    55.4 Typedef Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188555.4.1 clock_manager_callback_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1885

    55.5 Enumeration Type Documentation . . . . . . . . . . . . . . . . . . . . . . . . . .188555.5.1 clock_systick_src_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188555.5.2 clock_names_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188555.5.3 clock_manager_error_code_t . . . . . . . . . . . . . . . . . . . . . . . . . . . .188655.5.4 clock_manager_notify_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188655.5.5 clock_manager_callback_type_t . . . . . . . . . . . . . . . . . . . . . . . . . . .188655.5.6 clock_manager_policy_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1886

    55.6 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188655.6.1 CLOCK_SYS_GetFreq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188655.6.2 CLOCK_SYS_GetCoreClockFreq . . . . . . . . . . . . . . . . . . . . . . . . .188755.6.3 CLOCK_SYS_GetSystemClockFreq . . . . . . . . . . . . . . . . . . . . . . . .188755.6.4 CLOCK_SYS_GetBusClockFreq . . . . . . . . . . . . . . . . . . . . . . . . . .188755.6.5 CLOCK_SYS_GetFlashClockFreq . . . . . . . . . . . . . . . . . . . . . . . . .188855.6.6 CLOCK_SYS_GetLpoClockFreq . . . . . . . . . . . . . . . . . . . . . . . . . .188855.6.7 CLOCK_SYS_SetSystickSrc . . . . . . . . . . . . . . . . . . . . . . . . . . . .188855.6.8 CLOCK_SYS_GetSystickFreq . . . . . . . . . . . . . . . . . . . . . . . . . . .188855.6.9 CLOCK_SYS_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .188955.6.10 CLOCK_SYS_UpdateConfiguration . . . . . . . . . . . . . . . . . . . . . . . .189055.6.11 CLOCK_SYS_SetConfiguration . . . . . . . . . . . . . . . . . . . . . . . . . .189055.6.12 CLOCK_SYS_GetCurrentConfiguration . . . . . . . . . . . . . . . . . . . . . .189155.6.13 CLOCK_SYS_GetErrorCallback . . . . . . . . . . . . . . . . . . . . . . . . . .189155.6.14 CLOCK_SYS_SetMcgMode . . . . . . . . . . . . . . . . . . . . . . . . . . . .1891

    Freescale SemiconductorKinetis SDK v.1.2 API Reference Manual

    xxvii

  • SectionNumber

    ContentsTitle

    PageNumber

    55.6.15 CLOCK_SYS_OscInit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189255.6.16 CLOCK_SYS_OscDeinit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189255.6.17 CLOCK_SYS_SetOscerConfigration . . . . . . . . . . . . . . . . . . . . . . . .189255.6.18 CLOCK_SYS_SetOutDiv1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189355.6.19 CLOCK_SYS_GetOutDiv1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189355.6.20 CLOCK_SYS_SetOutDiv2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189355.6.21 CLOCK_SYS_GetOutDiv2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189355.6.22 CLOCK_SYS_SetOutDiv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189455.6.23 CLOCK_SYS_GetOutDiv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189555.6.24 CLOCK_SYS_SetOutDiv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189555.6.25 CLOCK_SYS_GetOutDiv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189555.6.26 CLOCK_SYS_GetPllFllClockFreq . . . . . . . . . . . . . . . . . . . . . . . . .189655.6.27 CLOCK_SYS_SetPllfllSel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189655.6.28 CLOCK_SYS_GetPllfllSel . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189655.6.29 CLOCK_SYS_GetFixedFreqClockFreq . . . . . . . . . . . . . . . . . . . . . . .189655.6.30 CLOCK_SYS_GetInternalRefClockFreq . . . . . . . . . . . . . . . . . . . . . .189655.6.31 CLOCK_SYS_GetExternalRefClock32kFreq . . . . . . . . . . . . . . . . . . . .189755.6.32 CLOCK_SYS_SetExternalRefClock32kSrc . . . . . . . . . . . . . . . . . . . .189755.6.33 CLOCK_SYS_GetExternalRefClock32kSrc . . . . . . . . . . . . . . . . . . . .189755.6.34 CLOCK_SYS_GetOsc0ExternalRefClockFreq . . . . . . . . . . . . . . . . . . .189755.6.35 CLOCK_SYS_GetOsc0ExternalRefClockUndivFreq . . . . . . . . . . . . . . . .189855.6.36 CLOCK_SYS_GetWdogFreq . . . . . . . . . . . . . . . . . . . . . . . . . . . .189855.6.37 CLOCK_SYS_GetTraceSrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189855.6.38 CLOCK_SYS_SetTraceSrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189855.6.39 CLOCK_SYS_GetTraceFreq . . . . . . . . . . . . . . . . . . . . . . . . . . . .189955.6.40 CLOCK_SYS_GetPortFilterFreq . . . . . . . . . . . . . . . . . . . . . . . . . .189955.6.41 CLOCK_SYS_GetLptmrFreq . . . . . . . . . . . . . . . . . . . . . . . . . . . .190055.6.42 CLOCK_SYS_GetEwmFreq . . . . . . . . . . . . . . . . . . . . . . . . . . . .190155.6.43 CLOCK_SYS_GetFtfFreq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190155.6.44 CLOCK_SYS_GetCrcFreq . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190255.6.45 CLOCK_SYS_GetCmpFreq . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190355.6.46 CLOCK_SYS_GetVrefFreq . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190455.6.47 CLOCK_SY