ISSDK  1.8
IoT Sensing Software Development Kit
frdm_k22f.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2016, Freescale Semiconductor, Inc.
3  * Copyright 2016-2017 NXP
4  * All rights reserved.
5  *
6  * SPDX-License-Identifier: BSD-3-Clause
7  */
8 
9 /*! \file frdm_k22f.h
10  \brief The \b frdm_k22f.h file defines GPIO pins for FRDM-K22F board
11 */
12 
13 #ifndef FRDM_K22F_H_
14 #define FRDM_K22F_H_
15 
16 #include "pin_mux.h"
17 #include "fsl_smc.h"
18 #include "MK22F51212.h"
19 #include "RTE_Device.h"
20 #include "gpio_driver.h"
21 
22 // I2C0 Handle
23 extern gpioHandleKSDK_t A5;
24 extern gpioHandleKSDK_t A4;
25 
26 // SPI1 Handle
27 extern gpioHandleKSDK_t D13;
28 extern gpioHandleKSDK_t D11;
29 extern gpioHandleKSDK_t D12;
30 
31 // UART1 Handle
32 extern gpioHandleKSDK_t D14;
33 extern gpioHandleKSDK_t D15;
34 
35 // FRDM-K22F Arduino Connector Pin Defintion
36 extern gpioHandleKSDK_t A0;
37 extern gpioHandleKSDK_t A1;
38 extern gpioHandleKSDK_t A2;
39 extern gpioHandleKSDK_t A3;
40 extern gpioHandleKSDK_t D0;
41 extern gpioHandleKSDK_t D1;
42 extern gpioHandleKSDK_t D2;
43 extern gpioHandleKSDK_t D3;
44 extern gpioHandleKSDK_t D4;
45 extern gpioHandleKSDK_t D5;
46 extern gpioHandleKSDK_t D6;
47 extern gpioHandleKSDK_t D7;
48 extern gpioHandleKSDK_t D8;
49 extern gpioHandleKSDK_t D9;
50 extern gpioHandleKSDK_t D10;
51 
52 // FRDM-K22F RGB LED Pin Definitions
56 extern gpioHandleKSDK_t INT1;
57 extern gpioHandleKSDK_t INT2;
58 
59 // I2C_S1: Pin mapping and driver information for default I2C brought to shield
60 #define I2C_S1_SCL_PIN A5
61 #define I2C_S1_SDA_PIN A4
62 #define I2C_S1_DRIVER Driver_I2C0
63 #define I2C_S1_DEVICE_INDEX I2C0_INDEX
64 #define I2C_S1_SIGNAL_EVENT I2C0_SignalEvent_t
65 
66 // I2C_S2: Pin mapping and driver information for alternate I2C bus on shield
67 // Note : I2C1 cannot be used with UART1 (which is the TGT_MCU Debug UART).
68 #define I2C_S2_SCL_PIN D15
69 #define I2C_S2_SDA_PIN D14
70 #define I2C_S2_DRIVER Driver_I2C1
71 #define I2C_S2_DEVICE_INDEX I2C1_INDEX
72 #define I2C_S2_SIGNAL_EVENT I2C1_SignalEvent_t
73 
74 // I2C_BB: PPin mapping and driver information for I2C routed on K22F base board
75 #define I2C_BB_SCL_PIN A5
76 #define I2C_BB_SDA_PIN A4
77 #define I2C_BB_DRIVER Driver_I2C0
78 #define I2C_BB_DEVICE_INDEX I2C0_INDEX
79 #define I2C_BB_SIGNAL_EVENT I2C0_SignalEvent_t
80 
81 // SPIS: Pin mapping and driver information default SPI brought to shield
82 #define SPI_S_SCLK D13
83 #define SPI_S_MOSI D11
84 #define SPI_S_MISO D12
85 #define SPI_S_DRIVER Driver_SPI1
86 #define SPI_S_BAUDRATE 500000U ///< Transfer baudrate - 500k
87 #define SPI_S_DEVICE_INDEX SPI1_INDEX
88 #define SPI_S_SIGNAL_EVENT SPI1_SignalEvent_t
89 
90 // UART: Driver information for default UART to communicate with HOST PC.
91 #define HOST_S_DRIVER Driver_USART1
92 #define HOST_S_SIGNAL_EVENT HOST_SignalEvent_t
93 
94 // Bluetooth: Driver information for default UART to communicate with HOST PC.
95 #define HOST_B_DRIVER Driver_USART2
96 #define HOST_B_SIGNAL_EVENT HOST_SignalEvent_t
97 
98 // On-Board FXOS8700 Sensor Information
99 #define FXOS8700_BB_I2C_ADDR 0x1C
100 #define FXOS8700_BB_INT1 INT1
101 #define FXOS8700_BB_INT2 INT2
102 
103 /* @brief Ask use input to resume after specified samples have been processed. */
104 #define ASK_USER_TO_RESUME(x) \
105  static volatile bool askResume = true; \
106  static uint16_t samplesToProcess = x - 1; \
107  if (askResume && !samplesToProcess--) \
108  { \
109  PRINTF("\r\n Specified samples processed, press any key to continue... \r\n"); \
110  GETCHAR(); \
111  askResume = false; \
112  }
113 
114 /// @name Wired UART Parameters
115 /// Sensor Fusion aliases are defined in terms of specific hardware features
116 /// defined in MK22F51212.h.
117 ///@{
118 #define WIRED_UART UART1 ///< KSDK instance name for the debug UART
119 #define WIRED_UART_PORT_CLKEN kCLOCK_PortE ///< KDSK handle for the pin port clock enable
120 #define WIRED_UART_PORT PORTE ///< KDSK handle for the pin port associated with this UART
121 #define WIRED_UART_RX_PIN 1U ///< The port number associated with RX
122 #define WIRED_UART_TX_PIN 0U ///< The port number associated with TX
123 #define WIRED_UART_MUX kPORT_MuxAlt3 ///< KDSK pin mux selector
124 #ifndef USE_ORIENT_APP_CONTROL ///< If Using Orient App then use Host I/O
125 #define WIRED_UART_IRQHandler UART1_RX_TX_IRQHandler ///< KDSK-specified IRQ handler name
126 #endif
127 #define WIRED_UART_IRQn UART1_RX_TX_IRQn ///< The interrupt number associated with this IRQ
128 #define WIRED_UART_CLKSRC UART1_CLK_SRC ///< KSDK instance name for the clock feeding this module
129 #define WIRED_UART_IRQn UART1_RX_TX_IRQn ///< KSDK interrupt vector number
130 ///@}
131 
132 /// @name Wireless UART Parameters
133 /// Sensor Fusion aliases are defined in terms of specific hardware features
134 /// defined in MK22F51212.h.
135 ///@{
136 #define WIRELESS_UART UART2 ///< KSDK instance name for the debug UART
137 #define WIRELESS_UART_PORT_CLKEN kCLOCK_PortD ///< KDSK handle for the pin port clock enable
138 #define WIRELESS_UART_PORT PORTD ///< KDSK handle for the pin port associated with this UART
139 #define WIRELESS_UART_RX_PIN 2U ///< The port number associated with RX
140 #define WIRELESS_UART_TX_PIN 3U ///< The port number associated with TX
141 #define WIRELESS_UART_MUX kPORT_MuxAlt3 ///< KDSK pin mux selector
142 #define WIRELESS_UART_IRQHandler UART2_RX_TX_IRQHandler ///< KDSK-specified IRQ handler name
143 #define WIRELESS_UART_IRQn UART2_RX_TX_IRQn ///< The interrupt number associated with this IRQ
144 #define WIRELESS_UART_CLKSRC UART2_CLK_SRC ///< KSDK instance name for the clock feeding this module
145 #define WIRELESS_UART_IRQn UART2_RX_TX_IRQn ///< KSDK interrupt vector number
146 ///@}
147 
148 ///@name Miscellaneous Hardware Configuration Parameters
149 ///@{
150 #define THIS_BOARD 9 ///< FRDM_K22F
151 #define CORE_SYSTICK_HZ 80000000 ///< core and systick clock rate (Hz)
152 #define CALIBRATION_NVM_ADDR 0x0007F800 ///< start of final 2K (sector size) of 512K flash
153 #define ADS_NVM_ADDR 0x0007F000 ///< start of the next to last 2K (sector size) of the 512K flash
154 #define FLASH_SECTOR_SIZE_PROPERTY kFLASH_PropertyPflashSectorSize
155 #define FLASH_ERASE_KEY kFLASH_ApiEraseKey
156 
157 // offsets from start of NVM block for calibration coefficients
158 #define MAG_NVM_OFFSET 0 // 68 bytes used
159 #define GYRO_NVM_OFFSET 100 // 16 bytes used
160 #define ACCEL_NVM_OFFSET 140 // 88 bytes used
161 ///@}
162 
163 #endif /* FRDM_K22F_H_ */
gpioHandleKSDK_t D6
Definition: frdm_k64f.c:144
gpioHandleKSDK_t D12
Definition: frdm_k64f.c:63
gpioHandleKSDK_t GREEN_LED
Definition: frdm_k64f.c:188
gpioHandleKSDK_t D11
Definition: frdm_k64f.c:56
gpioHandleKSDK_t A3
Definition: frdm_k64f.c:109
gpioHandleKSDK_t A5
Definition: frdm_k64f.c:33
gpioHandleKSDK_t D14
Definition: frdm_k64f.c:24
gpioHandleKSDK_t D1
Definition: frdm_k64f.c:79
gpioHandleKSDK_t INT2
Definition: frdm_k64f.c:211
The GPIO pin handle for KSDK.
Definition: gpio_driver.h:49
gpioHandleKSDK_t D9
Definition: frdm_k64f.c:165
gpioHandleKSDK_t D0
Definition: frdm_k64f.c:72
gpioHandleKSDK_t BLUE_LED
Definition: frdm_k64f.c:195
gpioHandleKSDK_t RED_LED
Definition: frdm_k64f.c:181
gpioHandleKSDK_t D4
Definition: frdm_k64f.c:130
gpioHandleKSDK_t D7
Definition: frdm_k64f.c:151
gpioHandleKSDK_t A1
Definition: frdm_k64f.c:95
gpioHandleKSDK_t D2
Definition: frdm_k64f.c:116
gpioHandleKSDK_t D15
Definition: frdm_k64f.c:17
gpioHandleKSDK_t A2
Definition: frdm_k64f.c:102
gpioHandleKSDK_t D13
Definition: frdm_k64f.c:49
gpioHandleKSDK_t A4
Definition: frdm_k64f.c:40
gpioHandleKSDK_t D5
Definition: frdm_k64f.c:137
gpioHandleKSDK_t D3
Definition: frdm_k64f.c:123
gpioHandleKSDK_t D8
Definition: frdm_k64f.c:158
gpioHandleKSDK_t D10
Definition: frdm_k64f.c:172
gpioHandleKSDK_t A0
Definition: frdm_k64f.c:88
gpioHandleKSDK_t INT1
Definition: frdm_k64f.c:204