Kinetis Bootloader
2.0.0
Common bootloader for Kinetis devices
Introduction
Related Pages
Modules
board.h
1
/*
2
* Copyright (c) 2015, Freescale Semiconductor, Inc.
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without modification,
6
* are permitted provided that the following conditions are met:
7
*
8
* o Redistributions of source code must retain the above copyright notice, this list
9
* of conditions and the following disclaimer.
10
*
11
* o Redistributions in binary form must reproduce the above copyright notice, this
12
* list of conditions and the following disclaimer in the documentation and/or
13
* other materials provided with the distribution.
14
*
15
* o Neither the name of Freescale Semiconductor, Inc. nor the names of its
16
* contributors may be used to endorse or promote products derived from this
17
* software without specific prior written permission.
18
*
19
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
23
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
26
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
*/
30
31
#ifndef _BOARD_H_
32
#define _BOARD_H_
33
34
#include "gpio/fsl_gpio.h"
35
36
/*******************************************************************************
37
* Definitions
38
******************************************************************************/
39
41
#define BOARD_NAME "TWR-K65F180M"
42
44
#define BOARD_USE_UART
45
#define BOARD_DEBUG_UART_TYPE DEBUG_CONSOLE_DEVICE_TYPE_UART
46
#define BOARD_DEBUG_UART_BASEADDR (uint32_t) UART2
47
#define BOARD_DEBUG_UART_CLKSRC BUS_CLK
48
49
#ifndef BOARD_DEBUG_UART_BAUDRATE
50
#define BOARD_DEBUG_UART_BAUDRATE 115200
51
#endif
/* BOARD_DEBUG_UART_BAUDRATE */
52
54
#define BOARD_CAN_BASEADDR CAN0
55
57
#define BOARD_I2C_BASEADDR I2C0
58
60
#define BOARD_FTM_BASEADDR FTM0
61
#define BOARD_FTM_CHANNEL 2
62
64
#define BOARD_TPM_BASEADDR TPM2
65
#define BOARD_TPM_CHANNEL 0
66
68
#define BOARD_ENET_BASEADDR ENET
69
71
#define BOARD_FLEXBUS_BASEADDR FB
72
73
#define BOARD_TSI_ELECTRODE_CNT 2
74
76
#define BOARD_TSI_ELECTRODE_1 11
77
#define BOARD_TSI_ELECTRODE_2 12
78
80
#define BOARD_SDHC_BASEADDR SDHC
81
#define BOARD_SDHC_CD_GPIO_IRQ_HANDLER PORTA_IRQHandler
82
84
#define BOARD_CMP_BASEADDR CMP2
85
#define BOARD_CMP_CHANNEL 2
86
88
#define BOARD_SAI_DEMO_I2C_BASEADDR I2C0
89
91
#define BOARD_RTC_FUNC_BASEADDR RTC
92
94
#define BOARD_SDCARD_CARD_DETECTION_GPIO_PORT GPIOD
95
#define SDCARD_CARD_DETECTION_GPIO_PIN 15
96
#define SDCARD_CARD_WRITE_PROTECTION_GPIO_PORT GPIOC
97
#define SDCARD_CARD_WRITE_PROTECTION_GPIO_PIN 13
98
#define SDCARD_SPI_HW_BASEADDR SPI1
99
#define SDCARD_CARD_INSERTED 0
100
102
enum
103
{
104
kSwitch1,
105
kSwitch2,
106
kSwitch3,
107
};
108
#define BOARD_SW2_GPIO GPIOA
109
#define BOARD_SW2_PORT PORTA
110
#define BOARD_SW2_GPIO_PIN 4
111
#define BOARD_SW2_IRQ PORTA_IRQn
112
#define BOARD_SW2_IRQ_HANDLER PORTA_IRQHandler
113
#define BOARD_SW2_NAME "SW2"
114
#define BOARD_SW2_MASK (1u << BOARD_SW2_GPIO_PIN)
115
116
#define BOARD_SW3_GPIO GPIOA
117
#define BOARD_SW3_PORT PORTA
118
#define BOARD_SW3_GPIO_PIN 10
119
#define BOARD_SW3_IRQ PORTA_IRQn
120
#define BOARD_SW3_IRQ_HANDLER PORTA_IRQHandler
121
#define BOARD_SW3_NAME "SW3"
122
#define BOARD_SW3_MASK (1u << BOARD_SW3_GPIO_PIN)
123
124
#define BOARD_SW_IRQ_HANDLER PORTA_IRQHandler
125
126
#define BOARD_LED_RED_GPIO_PORT GPIOB
127
#define BOARD_LED_RED_GPIO_PIN 5
128
#define BOARD_LED_RED_MASK (1u << BOARD_LED_RED_GPIO_PIN)
129
#define BOARD_LED_GREEN_GPIO_PORT GPIOA
130
#define BOARD_LED_GREEN_GPIO_PIN 28
131
#define BOARD_LED_GREEN_MASK (1u << BOARD_LED_GREEN_GPIO_PIN)
132
#define BOARD_LED_BLUE_GPIO_PORT GPIOA
133
#define BOARD_LED_BLUE_GPIO_PIN 29
134
#define BOARD_LED_BLUE_MASK (1u << BOARD_LED_BLUE_GPIO_PIN)
135
#define BOARD_LED_YELLOW_GPIO_PORT GPIOB
136
#define BOARD_LED_YELLOW_GPIO_PIN 4
137
#define BOARD_LED_YELLOW_MASK (1u << BOARD_LED_YELLOW_GPIO_PIN)
138
139
#define LED_RED_ON GPIO_ClearPinsOutput(BOARD_LED_RED_GPIO_PORT, BOARD_LED_RED_MASK)
140
#define LED_RED_OFF GPIO_SetPinsOutput(BOARD_LED_RED_GPIO_PORT, BOARD_LED_RED_MASK)
141
#define LED_GREEN_ON GPIO_ClearPinsOutput(BOARD_LED_GREEN_GPIO_PORT, BOARD_LED_GREEN_MASK)
142
#define LED_GREEN_OFF GPIO_SetPinsOutput(BOARD_LED_GREEN_GPIO_PORT, BOARD_LED_GREEN_MASK)
143
#define LED_BLUE_ON GPIO_ClearPinsOutput(BOARD_LED_BLUE_GPIO_PORT, BOARD_LED_BLUE_MASK)
144
#define LED_BLUE_OFF GPIO_SetPinsOutput(BOARD_LED_BLUE_GPIO_PORT, BOARD_LED_BLUE_MASK)
145
#define LED_YELLOW_ON GPIO_ClearPinsOutput(BOARD_LED_YELLOW_GPIO_PORT, BOARD_LED_YELLOW_MASK)
146
#define LED_YELLOW_OFF GPIO_SetPinsOutput(BOARD_LED_YELLOW_GPIO_PORT, BOARD_LED_YELLOW_MASK)
147
148
#define BOARD_ID_GPIO GPIOE
149
#define BOARD_ID_PORT PORTE
150
#define BOARD_ID_GPIO_PIN 10U
151
#define BOARD_ID_IRQ PORTE_IRQn
152
153
#if defined(__cplusplus)
154
extern
"C"
{
155
#endif
/* __cplusplus */
156
157
/*******************************************************************************
158
* API
159
******************************************************************************/
160
extern
void
BOARD_InitHardware(
void
);
161
void
BOARD_InitSwitch(
void
);
162
void
BOARD_InitLED(
void
);
163
bool
BOARD_ReadSwitch(uint32_t switch_num);
164
165
#if defined(__cplusplus)
166
}
167
#endif
/* __cplusplus */
168
169
#endif
/* _BOARD_H_ */
validation
embedded_host
MK65F18
src
board.h
Generated on Mon Mar 7 2016 16:48:23 for Kinetis Bootloader by
1.8.11