ISSDK  1.8
IoT Sensing Software Development Kit
frdm_kl25z.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 /**
10  * @file frdm_kl25z.h
11  * @brief The frdm_kl25z.h file defines GPIO pin mappings for FRDM-KL25Z board
12  */
13 
14 #ifndef FRDM_KL25Z_H_
15 #define FRDM_KL25Z_H_
16 
17 #include "pin_mux.h"
18 #include "fsl_smc.h"
19 #include "MKL25Z4.h"
20 #include "RTE_Device.h"
21 #include "gpio_driver.h"
22 
23 // I2C0 Pin Handles
24 extern gpioHandleKSDK_t D15;
25 extern gpioHandleKSDK_t D14;
26 
27 // I2C1 Handle
28 extern gpioHandleKSDK_t A5;
29 extern gpioHandleKSDK_t A4;
30 
31 // SPI0 Handle
32 extern gpioHandleKSDK_t D13;
33 extern gpioHandleKSDK_t D11;
34 extern gpioHandleKSDK_t D12;
35 
36 // UART0 Handle
37 extern gpioHandleKSDK_t D0;
38 extern gpioHandleKSDK_t D1;
39 
40 // FRDM-KL25Z Arduino Connector Pin Defintion
41 extern gpioHandleKSDK_t A1;
42 extern gpioHandleKSDK_t A2;
43 extern gpioHandleKSDK_t A3;
44 extern gpioHandleKSDK_t D2;
45 extern gpioHandleKSDK_t D4;
46 extern gpioHandleKSDK_t D5;
47 extern gpioHandleKSDK_t D6;
48 extern gpioHandleKSDK_t D7;
49 extern gpioHandleKSDK_t D8;
50 extern gpioHandleKSDK_t D9;
51 extern gpioHandleKSDK_t D10;
52 
55 extern gpioHandleKSDK_t INT1;
56 extern gpioHandleKSDK_t INT2;
57 
58 // FRDM-KL25Z Internal Peripheral Pin Definitions
62 
63 // I2C_S1: Pin mapping and driver information for default I2C brought to shield
64 #define I2C_S1_SCL_PIN A5
65 #define I2C_S1_SDA_PIN A4
66 #define I2C_S1_DRIVER Driver_I2C1
67 #define I2C_S1_DEVICE_INDEX I2C1_INDEX
68 #define I2C_S1_SIGNAL_EVENT I2C1_SignalEvent_t
69 
70 // I2C_S2: Pin mapping and driver information for alternate I2C bus on shield
71 #define I2C_S2_SCL_PIN D15
72 #define I2C_S2_SDA_PIN D14
73 #define I2C_S2_DRIVER Driver_I2C0
74 #define I2C_S2_DEVICE_INDEX I2C0_INDEX
75 #define I2C_S2_SIGNAL_EVENT I2C0_SignalEvent_t
76 
77 // I2C_BB: PPin mapping and driver information for I2C routed on KL25Z base board
78 #define I2C_BB_SCL_PIN ACCEL_SCL
79 #define I2C_BB_SDA_PIN ACCEL_SDA
80 #define I2C_BB_DRIVER Driver_I2C0
81 #define I2C_BB_DEVICE_INDEX I2C0_INDEX
82 #define I2C_BB_SIGNAL_EVENT I2C0_SignalEvent_t
83 
84 // SPIS: Pin mapping and driver information default SPI brought to shield
85 #define SPI_S_SCLK D13
86 #define SPI_S_MOSI D11
87 #define SPI_S_MISO D12
88 #define SPI_S_DRIVER Driver_SPI0
89 #define SPI_S_BAUDRATE 500000U ///< Transfer baudrate - 500k
90 #define SPI_S_DEVICE_INDEX SPI0_INDEX
91 #define SPI_S_SIGNAL_EVENT SPI0_SignalEvent_t
92 
93 // UART: Driver information for default UART to communicate with HOST PC.
94 #define HOST_S_DRIVER Driver_USART0
95 #define HOST_S_SIGNAL_EVENT HOST_SignalEvent_t
96 
97 // Bluetooth: Driver information for default UART to communicate with HOST PC.
98 #define HOST_B_DRIVER Driver_USART0
99 #define HOST_B_SIGNAL_EVENT HOST_SignalEvent_t
100 
101 // On-Board MMA8451 Sensor Information
102 #define MMA845x_I2C_ADDR 0x1D
103 #define MMA845x_INT1 INT1
104 #define MMA845x_INT2 INT2
105 
106 /* @brief Ask use input to resume after specified samples have been processed. */
107 #define ASK_USER_TO_RESUME(x) \
108  static volatile bool askResume = true; \
109  static uint16_t samplesToProcess = x - 1; \
110  if (askResume && !samplesToProcess--) \
111  { \
112  PRINTF("\r\n Specified samples processed, press any key to continue... \r\n"); \
113  GETCHAR(); \
114  askResume = false; \
115  }
116 
117 // Sensor Fusion Required Definitions
118 ///@{
119 // Control UART Parameters
120 // use control_lpsci.c instead of control.c for the KL25Z sensor fusion projects.
121 #define CONTROL_UART UART0 ///< KSDK instance name for the debug UART
122 #define CONTROL_UART_PORT_CLKEN kCLOCK_PortA ///< KDSK handle for the pin port clock enable
123 #define CONTROL_UART_PORT PORTA ///< KDSK handle for the pin port associated with this UART
124 #define CONTROL_UART_RX_PIN PIN1_IDX ///< The port number associated with RX
125 #define CONTROL_UART_TX_PIN PIN2_IDX ///< The port number associated with TX
126 #define CONTROL_UART_MUX kPORT_MuxAlt2 ///< KDSK pin mux selector
127 #define CONTROL_UART_IRQHandler UART0_IRQHandler ///< KDSK-specified IRQ handler name
128 #define CONTROL_UART_CLKSRC kCLOCK_CoreSysClk ///< KSDK instance name for the clock feeding this module
129 #define CONTROL_UART_IRQn UART0_IRQn ///< KSDK interrupt vector number
130 // Override default PIT instance name
131 #define PIT_LED_HANDLER PIT_IRQHandler
132 #define PIT_IRQ_ID PIT_IRQn
133 
134 // Miscellaneous Hardware Configuration Parameters
135 #define THIS_BOARD 1 ///< FRDM_KL25Z
136 #define CORE_SYSTICK_HZ 48000000 ///< core and systick clock rate (Hz)
137 #define CALIBRATION_NVM_ADDR 0x0001FC00 ///< start of final 1K (sector size) of 128K flash
138 #define ADS_NVM_ADDR 0x0001F800 ///< start of the next to last 1KB (sector size) of the 128K flash
139 #define FLASH_SECTOR_SIZE_PROPERTY kFLASH_PropertyPflashSectorSize
140 #define FLASH_ERASE_KEY kFLASH_ApiEraseKey
141 
142 // offsets from start of NVM block for calibration coefficients
143 #define MAG_NVM_OFFSET 0 // 68 bytes used
144 #define GYRO_NVM_OFFSET 100 // 16 bytes used
145 #define ACCEL_NVM_OFFSET 140 // 88 bytes used
146 ///@}
147 
148 #endif /* FRDM_KL25Z_H_ */
gpioHandleKSDK_t RED_LED
Definition: frdm_k64f.c:181
gpioHandleKSDK_t D7
Definition: frdm_k64f.c:151
gpioHandleKSDK_t D12
Definition: frdm_k64f.c:63
gpioHandleKSDK_t A3
Definition: frdm_k64f.c:109
gpioHandleKSDK_t D5
Definition: frdm_k64f.c:137
gpioHandleKSDK_t INT1
Definition: frdm_k64f.c:204
gpioHandleKSDK_t BLUE_LED
Definition: frdm_k64f.c:195
gpioHandleKSDK_t D4
Definition: frdm_k64f.c:130
The GPIO pin handle for KSDK.
Definition: gpio_driver.h:49
gpioHandleKSDK_t D10
Definition: frdm_k64f.c:172
gpioHandleKSDK_t ACCEL_SDA
Definition: frdm_kl25z.c:204
gpioHandleKSDK_t GREEN_LED
Definition: frdm_k64f.c:188
gpioHandleKSDK_t D2
Definition: frdm_k64f.c:116
gpioHandleKSDK_t D13
Definition: frdm_k64f.c:49
gpioHandleKSDK_t A4
Definition: frdm_k64f.c:40
gpioHandleKSDK_t A1
Definition: frdm_k64f.c:95
gpioHandleKSDK_t ACCEL_SCL
Definition: frdm_kl25z.c:197
gpioHandleKSDK_t A5
Definition: frdm_k64f.c:33
gpioHandleKSDK_t D6
Definition: frdm_k64f.c:144
gpioHandleKSDK_t D0
Definition: frdm_k64f.c:72
gpioHandleKSDK_t D15
Definition: frdm_k64f.c:17
gpioHandleKSDK_t D14
Definition: frdm_k64f.c:24
gpioHandleKSDK_t A2
Definition: frdm_k64f.c:102
gpioHandleKSDK_t D1
Definition: frdm_k64f.c:79
gpioHandleKSDK_t D8
Definition: frdm_k64f.c:158
gpioHandleKSDK_t D9
Definition: frdm_k64f.c:165
gpioHandleKSDK_t D11
Definition: frdm_k64f.c:56
gpioHandleKSDK_t INT2
Definition: frdm_k64f.c:211