mbed library sources for GR-PEACH rev.B.

Fork of mbed-src by mbed official

Committer:
mbed_official
Date:
Thu Apr 09 12:15:08 2015 +0100
Revision:
511:532f83b66a7f
Parent:
490:ac0b37ef1651
Synchronized with git revision 5a81e89daabb57e88c45a1c1979735071b85fa00

Full URL: https://github.com/mbedmicro/mbed/commit/5a81e89daabb57e88c45a1c1979735071b85fa00/

TARGET_STMF4 - reorg hal

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 464:04583941e294 1 /* mbed Microcontroller Library
mbed_official 464:04583941e294 2 *******************************************************************************
mbed_official 464:04583941e294 3 * Copyright (c) 2014, STMicroelectronics
mbed_official 464:04583941e294 4 * All rights reserved.
mbed_official 464:04583941e294 5 *
mbed_official 464:04583941e294 6 * Redistribution and use in source and binary forms, with or without
mbed_official 464:04583941e294 7 * modification, are permitted provided that the following conditions are met:
mbed_official 464:04583941e294 8 *
mbed_official 464:04583941e294 9 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 464:04583941e294 10 * this list of conditions and the following disclaimer.
mbed_official 464:04583941e294 11 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 464:04583941e294 12 * this list of conditions and the following disclaimer in the documentation
mbed_official 464:04583941e294 13 * and/or other materials provided with the distribution.
mbed_official 464:04583941e294 14 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 464:04583941e294 15 * may be used to endorse or promote products derived from this software
mbed_official 464:04583941e294 16 * without specific prior written permission.
mbed_official 464:04583941e294 17 *
mbed_official 464:04583941e294 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 464:04583941e294 19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 464:04583941e294 20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 464:04583941e294 21 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 464:04583941e294 22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 464:04583941e294 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 464:04583941e294 24 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 464:04583941e294 25 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 464:04583941e294 26 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 464:04583941e294 27 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 464:04583941e294 28 *******************************************************************************
mbed_official 464:04583941e294 29 */
mbed_official 464:04583941e294 30 #ifndef MBED_PINNAMES_H
mbed_official 464:04583941e294 31 #define MBED_PINNAMES_H
mbed_official 464:04583941e294 32
mbed_official 464:04583941e294 33 #include "cmsis.h"
mbed_official 464:04583941e294 34
mbed_official 464:04583941e294 35 #ifdef __cplusplus
mbed_official 464:04583941e294 36 extern "C" {
mbed_official 464:04583941e294 37 #endif
mbed_official 464:04583941e294 38
mbed_official 464:04583941e294 39 // See stm32f4xx_hal_gpio.h and stm32f4xx_hal_gpio_ex.h for values of MODE, PUPD and AFNUM
mbed_official 464:04583941e294 40 #define STM_PIN_DATA(MODE, PUPD, AFNUM) ((int)(((AFNUM) << 7) | ((PUPD) << 4) | ((MODE) << 0)))
mbed_official 511:532f83b66a7f 41 #define STM_PIN_DATA_EXT(MODE, PUPD, AFNUM, CHANNEL, INVERTED) ((int)(((INVERTED & 0x01) << 15) | ((CHANNEL & 0x0F) << 11) | ((AFNUM & 0x0F) << 7) | ((PUPD & 0x07) << 4) | ((MODE & 0x0F) << 0)))
mbed_official 464:04583941e294 42 #define STM_PIN_MODE(X) (((X) >> 0) & 0x0F)
mbed_official 464:04583941e294 43 #define STM_PIN_PUPD(X) (((X) >> 4) & 0x07)
mbed_official 464:04583941e294 44 #define STM_PIN_AFNUM(X) (((X) >> 7) & 0x0F)
mbed_official 511:532f83b66a7f 45 #define STM_PIN_CHANNEL(X) (((X) >> 11) & 0x0F)
mbed_official 511:532f83b66a7f 46 #define STM_PIN_INVERTED(X) (((X) >> 15) & 0x01)
mbed_official 464:04583941e294 47 #define STM_MODE_INPUT (0)
mbed_official 464:04583941e294 48 #define STM_MODE_OUTPUT_PP (1)
mbed_official 464:04583941e294 49 #define STM_MODE_OUTPUT_OD (2)
mbed_official 464:04583941e294 50 #define STM_MODE_AF_PP (3)
mbed_official 464:04583941e294 51 #define STM_MODE_AF_OD (4)
mbed_official 464:04583941e294 52 #define STM_MODE_ANALOG (5)
mbed_official 464:04583941e294 53 #define STM_MODE_IT_RISING (6)
mbed_official 464:04583941e294 54 #define STM_MODE_IT_FALLING (7)
mbed_official 464:04583941e294 55 #define STM_MODE_IT_RISING_FALLING (8)
mbed_official 464:04583941e294 56 #define STM_MODE_EVT_RISING (9)
mbed_official 464:04583941e294 57 #define STM_MODE_EVT_FALLING (10)
mbed_official 464:04583941e294 58 #define STM_MODE_EVT_RISING_FALLING (11)
mbed_official 464:04583941e294 59 #define STM_MODE_IT_EVT_RESET (12)
mbed_official 464:04583941e294 60
mbed_official 464:04583941e294 61 // High nibble = port number (0=A, 1=B, 2=C, 3=D, 4=E, 5=F, 6=G, 7=H)
mbed_official 464:04583941e294 62 // Low nibble = pin number
mbed_official 464:04583941e294 63 #define STM_PORT(X) (((uint32_t)(X) >> 4) & 0xF)
mbed_official 464:04583941e294 64 #define STM_PIN(X) ((uint32_t)(X) & 0xF)
mbed_official 464:04583941e294 65
mbed_official 464:04583941e294 66 typedef enum {
mbed_official 464:04583941e294 67 PIN_INPUT,
mbed_official 464:04583941e294 68 PIN_OUTPUT
mbed_official 464:04583941e294 69 } PinDirection;
mbed_official 464:04583941e294 70
mbed_official 464:04583941e294 71 typedef enum {
mbed_official 464:04583941e294 72 PA_0 = 0x00, PA_1 = 0x01, PA_2 = 0x02, PA_3 = 0x03,
mbed_official 464:04583941e294 73 PA_4 = 0x04, PA_5 = 0x05, PA_6 = 0x06, PA_7 = 0x07,
mbed_official 464:04583941e294 74 PA_8 = 0x08, PA_9 = 0x09, PA_10 = 0x0A, PA_11 = 0x0B,
mbed_official 464:04583941e294 75 PA_12 = 0x0C, PA_13 = 0x0D, PA_14 = 0x0E, PA_15 = 0x0F,
mbed_official 464:04583941e294 76
mbed_official 464:04583941e294 77 PB_0 = 0x10, PB_1 = 0x11, PB_2 = 0x12, PB_3 = 0x13,
mbed_official 464:04583941e294 78 PB_4 = 0x14, PB_5 = 0x15, PB_6 = 0x16, PB_7 = 0x17,
mbed_official 464:04583941e294 79 PB_8 = 0x18, PB_9 = 0x19, PB_10 = 0x1A, PB_11 = 0x1B,
mbed_official 464:04583941e294 80 PB_12 = 0x1C, PB_13 = 0x1D, PB_14 = 0x1E, PB_15 = 0x1F,
mbed_official 464:04583941e294 81
mbed_official 464:04583941e294 82 PC_0 = 0x20, PC_1 = 0x21, PC_2 = 0x22, PC_3 = 0x23,
mbed_official 464:04583941e294 83 PC_4 = 0x24, PC_5 = 0x25, PC_6 = 0x26, PC_7 = 0x27,
mbed_official 464:04583941e294 84 PC_8 = 0x28, PC_9 = 0x29, PC_10 = 0x2A, PC_11 = 0x2B,
mbed_official 464:04583941e294 85 PC_12 = 0x2C, PC_13 = 0x2D, PC_14 = 0x2E, PC_15 = 0x2F,
mbed_official 464:04583941e294 86
mbed_official 464:04583941e294 87 PD_0 = 0x30, PD_1 = 0x31, PD_2 = 0x32, PD_3 = 0x33,
mbed_official 464:04583941e294 88 PD_4 = 0x34, PD_5 = 0x35, PD_6 = 0x36, PD_7 = 0x37,
mbed_official 464:04583941e294 89 PD_8 = 0x38, PD_9 = 0x39, PD_10 = 0x3A, PD_11 = 0x3B,
mbed_official 464:04583941e294 90 PD_12 = 0x3C, PD_13 = 0x3D, PD_14 = 0x3E, PD_15 = 0x3F,
mbed_official 464:04583941e294 91
mbed_official 464:04583941e294 92 PE_0 = 0x40, PE_1 = 0x41, PE_2 = 0x42, PE_3 = 0x43,
mbed_official 464:04583941e294 93 PE_4 = 0x44, PE_5 = 0x45, PE_6 = 0x46, PE_7 = 0x47,
mbed_official 464:04583941e294 94 PE_8 = 0x48, PE_9 = 0x49, PE_10 = 0x4A, PE_11 = 0x4B,
mbed_official 464:04583941e294 95 PE_12 = 0x4C, PE_13 = 0x4D, PE_14 = 0x4E, PE_15 = 0x4F,
mbed_official 464:04583941e294 96
mbed_official 464:04583941e294 97 PF_0 = 0x50, PF_1 = 0x51, PF_2 = 0x52, PF_3 = 0x53,
mbed_official 464:04583941e294 98 PF_4 = 0x54, PF_5 = 0x55, PF_6 = 0x56, PF_7 = 0x57,
mbed_official 464:04583941e294 99 PF_8 = 0x58, PF_9 = 0x59, PF_10 = 0x5A, PF_11 = 0x5B,
mbed_official 464:04583941e294 100 PF_12 = 0x5C, PF_13 = 0x5D, PF_14 = 0x5E, PF_15 = 0x5F,
mbed_official 464:04583941e294 101
mbed_official 464:04583941e294 102 PG_0 = 0x60, PG_1 = 0x61, PG_2 = 0x62, PG_3 = 0x63,
mbed_official 464:04583941e294 103 PG_4 = 0x64, PG_5 = 0x65, PG_6 = 0x66, PG_7 = 0x67,
mbed_official 464:04583941e294 104 PG_8 = 0x68, PG_9 = 0x69, PG_10 = 0x6A, PG_11 = 0x6B,
mbed_official 464:04583941e294 105 PG_12 = 0x6C, PG_13 = 0x6D, PG_14 = 0x6E, PG_15 = 0x6F,
mbed_official 464:04583941e294 106
mbed_official 464:04583941e294 107 PH_0 = 0x70, PH_1 = 0x71, PH_2 = 0x72, PH_3 = 0x73,
mbed_official 464:04583941e294 108 PH_4 = 0x74, PH_5 = 0x75, PH_6 = 0x76, PH_7 = 0x77,
mbed_official 464:04583941e294 109 PH_8 = 0x78, PH_9 = 0x79, PH_10 = 0x7A, PH_11 = 0x7B,
mbed_official 464:04583941e294 110 PH_12 = 0x7C, PH_13 = 0x7D, PH_14 = 0x7E, PH_15 = 0x7F,
mbed_official 464:04583941e294 111
mbed_official 464:04583941e294 112 // Module Pins
mbed_official 464:04583941e294 113 // A
mbed_official 464:04583941e294 114 P_A5 = PC_2, // UART-DTR
mbed_official 490:ac0b37ef1651 115 P_A6 = PF_2, // Switch-0
mbed_official 490:ac0b37ef1651 116 P_A7 = PE_0, // Red, Mode
mbed_official 464:04583941e294 117 P_A8 = PB_6, // Green, Switch-1
mbed_official 464:04583941e294 118 P_A9 = PB_8, // Blue
mbed_official 464:04583941e294 119 P_A10 = PA_11, // UART-CTS
mbed_official 464:04583941e294 120 P_A11 = PA_9, // UART-TXD
mbed_official 464:04583941e294 121 P_A12 = PA_12, // UART-RTS
mbed_official 464:04583941e294 122 P_A13 = PA_10, // UART-RXD
mbed_official 464:04583941e294 123 P_A14 = PD_9, // GPIO-0
mbed_official 464:04583941e294 124 P_A15 = PD_8, // GPIO-1
mbed_official 464:04583941e294 125 P_A16 = PD_11, // GPIO-2
mbed_official 464:04583941e294 126 P_A17 = PD_12, // GPIO-3
mbed_official 464:04583941e294 127 P_A18 = PA_3, // UART-DSR
mbed_official 464:04583941e294 128 // B
mbed_official 490:ac0b37ef1651 129 // C
mbed_official 490:ac0b37ef1651 130 P_C5 = PG_4, // SPI-IRQ
mbed_official 464:04583941e294 131 P_C6 = PE_13, // SPI-MISO
mbed_official 464:04583941e294 132 P_C8 = PE_12, // Res
mbed_official 464:04583941e294 133 P_C10 = PE_14, // SPI-MOSI
mbed_official 464:04583941e294 134 P_C11 = PE_11, // SPI-CS0
mbed_official 464:04583941e294 135 P_C12 = PE_9, // Res
mbed_official 490:ac0b37ef1651 136 P_C13 = PF_6, // GPIO-4
mbed_official 464:04583941e294 137 P_C14 = PC_1, // RMII-MDC
mbed_official 464:04583941e294 138 P_C15 = PA_2, // RMII-MDIO
mbed_official 464:04583941e294 139 P_C16 = PF_7, // GPIO-7
mbed_official 464:04583941e294 140 P_C17 = PF_1, // I2C-SCL
mbed_official 464:04583941e294 141 P_C18 = PF_0, // I2C-SDA
mbed_official 490:ac0b37ef1651 142 // D
mbed_official 464:04583941e294 143 P_D1 = PB_12, // RMII-TXD0
mbed_official 464:04583941e294 144 P_D2 = PB_13, // RMII-TXD1
mbed_official 464:04583941e294 145 P_D3 = PB_11, // RMII-TXEN
mbed_official 464:04583941e294 146 P_D4 = PA_7, // RMII-CRSDV
mbed_official 464:04583941e294 147 P_D5 = PC_4, // RMII-RXD0
mbed_official 464:04583941e294 148 P_D6 = PC_5, // RMII-RXD1
mbed_official 464:04583941e294 149 P_D8 = PA_1, // RMII-REFCLK
mbed_official 464:04583941e294 150 // TP
mbed_official 464:04583941e294 151 P_TP5 = PB_4, // NTRST
mbed_official 464:04583941e294 152 P_TP7 = PA_13, // TMS SWDIO
mbed_official 464:04583941e294 153 P_TP8 = PA_15, // TDI
mbed_official 464:04583941e294 154 P_TP9 = PA_14, // TCK SWCLK
mbed_official 464:04583941e294 155 P_TP10 = PB_3, // TDO
mbed_official 464:04583941e294 156
mbed_official 464:04583941e294 157 // Board Pins
mbed_official 464:04583941e294 158 // A0-A5
mbed_official 490:ac0b37ef1651 159 A0 = PF_7,
mbed_official 490:ac0b37ef1651 160 A1 = PF_6,
mbed_official 464:04583941e294 161 A2 = PA_3,
mbed_official 490:ac0b37ef1651 162 A3 = PC_2,
mbed_official 490:ac0b37ef1651 163 A4 = PG_4, // not AI
mbed_official 490:ac0b37ef1651 164 A5 = PB_3, // not AI
mbed_official 464:04583941e294 165 // D0-D15
mbed_official 490:ac0b37ef1651 166 D0 = PD_9, // RX
mbed_official 490:ac0b37ef1651 167 D1 = PD_8, // TX
mbed_official 490:ac0b37ef1651 168 D2 = PA_10, // RX
mbed_official 464:04583941e294 169 D3 = PA_11,
mbed_official 464:04583941e294 170 D4 = PA_12,
mbed_official 490:ac0b37ef1651 171 D5 = PA_15,
mbed_official 464:04583941e294 172 D6 = PD_11,
mbed_official 464:04583941e294 173 D7 = PD_12,
mbed_official 490:ac0b37ef1651 174 D8 = PA_9, // TX
mbed_official 490:ac0b37ef1651 175 D9 = PE_9, // shared with SW1
mbed_official 464:04583941e294 176 D10 = PE_11, // SSEL
mbed_official 464:04583941e294 177 D11 = PE_14, // MOSI
mbed_official 464:04583941e294 178 D12 = PE_13, // MISO
mbed_official 464:04583941e294 179 D13 = PE_12, // SCK
mbed_official 464:04583941e294 180 D14 = PF_0, // SDA
mbed_official 464:04583941e294 181 D15 = PF_1, // SCL
mbed_official 464:04583941e294 182 // Internal
mbed_official 511:532f83b66a7f 183 LED1 = PE_0, // Red
mbed_official 511:532f83b66a7f 184 LED2 = PB_6, // Green / shared with SW1
mbed_official 490:ac0b37ef1651 185 LED_RED = PE_0, // Red
mbed_official 490:ac0b37ef1651 186 LED_GRE = PB_6, // Green / shared with SW1
mbed_official 490:ac0b37ef1651 187 LED_BLU = PB_8, // Blue
mbed_official 490:ac0b37ef1651 188 SW0 = PF_2, // Switch 0
mbed_official 490:ac0b37ef1651 189 SW1 = PB_6, // Switch 1 / shared with LED_GRE
mbed_official 490:ac0b37ef1651 190 SDCS = PE_9, // SD Card CS / shared with D9
mbed_official 490:ac0b37ef1651 191 USBRXD = PD_9, // RX
mbed_official 490:ac0b37ef1651 192 USBTXD = PD_8, // TX
mbed_official 464:04583941e294 193
mbed_official 464:04583941e294 194 // Not connected
mbed_official 464:04583941e294 195 NC = (int)0xFFFFFFFF
mbed_official 464:04583941e294 196 } PinName;
mbed_official 464:04583941e294 197
mbed_official 464:04583941e294 198 typedef enum {
mbed_official 464:04583941e294 199 PullNone = 0,
mbed_official 464:04583941e294 200 PullUp = 1,
mbed_official 464:04583941e294 201 PullDown = 2,
mbed_official 464:04583941e294 202 OpenDrain = 3,
mbed_official 464:04583941e294 203 PullDefault = PullNone
mbed_official 464:04583941e294 204 } PinMode;
mbed_official 464:04583941e294 205
mbed_official 464:04583941e294 206 #ifdef __cplusplus
mbed_official 464:04583941e294 207 }
mbed_official 464:04583941e294 208 #endif
mbed_official 464:04583941e294 209
mbed_official 464:04583941e294 210 #endif