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:
442:d916d321e60f
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 428:4ddf7f7eabbb 1 /* mbed Microcontroller Library
mbed_official 428:4ddf7f7eabbb 2 *******************************************************************************
mbed_official 428:4ddf7f7eabbb 3 * Copyright (c) 2014, STMicroelectronics
mbed_official 428:4ddf7f7eabbb 4 * All rights reserved.
mbed_official 428:4ddf7f7eabbb 5 *
mbed_official 428:4ddf7f7eabbb 6 * Redistribution and use in source and binary forms, with or without
mbed_official 428:4ddf7f7eabbb 7 * modification, are permitted provided that the following conditions are met:
mbed_official 428:4ddf7f7eabbb 8 *
mbed_official 428:4ddf7f7eabbb 9 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 428:4ddf7f7eabbb 10 * this list of conditions and the following disclaimer.
mbed_official 428:4ddf7f7eabbb 11 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 428:4ddf7f7eabbb 12 * this list of conditions and the following disclaimer in the documentation
mbed_official 428:4ddf7f7eabbb 13 * and/or other materials provided with the distribution.
mbed_official 428:4ddf7f7eabbb 14 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 428:4ddf7f7eabbb 15 * may be used to endorse or promote products derived from this software
mbed_official 428:4ddf7f7eabbb 16 * without specific prior written permission.
mbed_official 428:4ddf7f7eabbb 17 *
mbed_official 428:4ddf7f7eabbb 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 428:4ddf7f7eabbb 19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 428:4ddf7f7eabbb 20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 428:4ddf7f7eabbb 21 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 428:4ddf7f7eabbb 22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 428:4ddf7f7eabbb 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 428:4ddf7f7eabbb 24 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 428:4ddf7f7eabbb 25 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 428:4ddf7f7eabbb 26 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 428:4ddf7f7eabbb 27 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 428:4ddf7f7eabbb 28 *******************************************************************************
mbed_official 428:4ddf7f7eabbb 29 */
mbed_official 428:4ddf7f7eabbb 30
mbed_official 428:4ddf7f7eabbb 31 #include "PeripheralPins.h"
mbed_official 428:4ddf7f7eabbb 32
mbed_official 428:4ddf7f7eabbb 33 // =====
mbed_official 428:4ddf7f7eabbb 34 // Note: Commented lines are alternative possibilities which are not used per default.
mbed_official 428:4ddf7f7eabbb 35 // If you change them, you will have also to modify the corresponding xxx_api.c file
mbed_official 428:4ddf7f7eabbb 36 // for pwmout, analogin, analogout, ...
mbed_official 428:4ddf7f7eabbb 37 // =====
mbed_official 428:4ddf7f7eabbb 38
mbed_official 428:4ddf7f7eabbb 39 //*** ADC ***
mbed_official 428:4ddf7f7eabbb 40
mbed_official 428:4ddf7f7eabbb 41 const PinMap PinMap_ADC[] = {
mbed_official 511:532f83b66a7f 42 {PA_0, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC1_IN0
mbed_official 511:532f83b66a7f 43 {PA_1, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC1_IN1
mbed_official 511:532f83b66a7f 44 {PA_2, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC1_IN2
mbed_official 511:532f83b66a7f 45 {PA_3, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC1_IN3
mbed_official 511:532f83b66a7f 46 {PA_4, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC1_IN4
mbed_official 511:532f83b66a7f 47 {PA_5, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC1_IN5
mbed_official 511:532f83b66a7f 48 {PA_6, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC1_IN6
mbed_official 511:532f83b66a7f 49 {PA_7, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC1_IN7
mbed_official 511:532f83b66a7f 50 {PB_0, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC1_IN8
mbed_official 511:532f83b66a7f 51 {PB_1, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC1_IN9
mbed_official 511:532f83b66a7f 52 {PC_0, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC1_IN10
mbed_official 511:532f83b66a7f 53 {PC_1, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC1_IN11
mbed_official 511:532f83b66a7f 54 {PC_2, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC1_IN12
mbed_official 511:532f83b66a7f 55 {PC_3, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC1_IN13
mbed_official 511:532f83b66a7f 56 {PC_4, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC1_IN14
mbed_official 511:532f83b66a7f 57 {PC_5, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC1_IN15
mbed_official 428:4ddf7f7eabbb 58 {NC, NC, 0}
mbed_official 428:4ddf7f7eabbb 59 };
mbed_official 428:4ddf7f7eabbb 60
mbed_official 428:4ddf7f7eabbb 61
mbed_official 428:4ddf7f7eabbb 62 //*** DAC ***
mbed_official 428:4ddf7f7eabbb 63
mbed_official 428:4ddf7f7eabbb 64 const PinMap PinMap_DAC[] = {
mbed_official 511:532f83b66a7f 65 {PA_4, DAC_0, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0xFF, 1, 0)}, // DAC_OUT1
mbed_official 511:532f83b66a7f 66 {PA_5, DAC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0xFF, 2, 0)}, // DAC_OUT2
mbed_official 428:4ddf7f7eabbb 67 {NC, NC, 0}
mbed_official 428:4ddf7f7eabbb 68 };
mbed_official 428:4ddf7f7eabbb 69
mbed_official 428:4ddf7f7eabbb 70
mbed_official 428:4ddf7f7eabbb 71 //*** I2C ***
mbed_official 428:4ddf7f7eabbb 72
mbed_official 428:4ddf7f7eabbb 73 const PinMap PinMap_I2C_SDA[] = {
mbed_official 511:532f83b66a7f 74 {PB_7, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)},
mbed_official 511:532f83b66a7f 75 {PB_9, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)},
mbed_official 428:4ddf7f7eabbb 76 {PB_11, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)},
mbed_official 511:532f83b66a7f 77 {PC_9, I2C_3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)},
mbed_official 428:4ddf7f7eabbb 78 {PF_0 , I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)},
mbed_official 428:4ddf7f7eabbb 79 {PH_5 , I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)},
mbed_official 428:4ddf7f7eabbb 80 {PH_8, I2C_3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)},
mbed_official 428:4ddf7f7eabbb 81 {NC, NC, 0}
mbed_official 428:4ddf7f7eabbb 82 };
mbed_official 428:4ddf7f7eabbb 83
mbed_official 428:4ddf7f7eabbb 84 const PinMap PinMap_I2C_SCL[] = {
mbed_official 428:4ddf7f7eabbb 85 {PA_8, I2C_3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)},
mbed_official 428:4ddf7f7eabbb 86 {PB_6, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)},
mbed_official 428:4ddf7f7eabbb 87 {PB_8, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)},
mbed_official 428:4ddf7f7eabbb 88 {PB_10, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)},
mbed_official 428:4ddf7f7eabbb 89 {PF_1 , I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)},
mbed_official 428:4ddf7f7eabbb 90 {PH_4 , I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)},
mbed_official 511:532f83b66a7f 91 {PH_7 , I2C_3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)},
mbed_official 428:4ddf7f7eabbb 92 {NC, NC, 0}
mbed_official 428:4ddf7f7eabbb 93 };
mbed_official 428:4ddf7f7eabbb 94
mbed_official 428:4ddf7f7eabbb 95 //*** PWM ***
mbed_official 428:4ddf7f7eabbb 96
mbed_official 428:4ddf7f7eabbb 97 // TIM5 cannot be used because already used by the us_ticker
mbed_official 428:4ddf7f7eabbb 98 const PinMap PinMap_PWM[] = {
mbed_official 511:532f83b66a7f 99 {PA_0, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1
mbed_official 511:532f83b66a7f 100 // {PA_0, PWM_5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 1, 0)}, // TIM5_CH1
mbed_official 511:532f83b66a7f 101 {PA_1, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2
mbed_official 511:532f83b66a7f 102 // {PA_1, PWM_5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 2, 0)}, // TIM5_CH2
mbed_official 511:532f83b66a7f 103 {PA_2, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3
mbed_official 511:532f83b66a7f 104 // {PA_2, PWM_5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 3, 0)}, // TIM5_CH3
mbed_official 511:532f83b66a7f 105 // {PA_2, PWM_9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 1, 0)}, // TIM9_CH1
mbed_official 511:532f83b66a7f 106 {PA_3, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4
mbed_official 511:532f83b66a7f 107 // {PA_3, PWM_5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 4, 0)}, // TIM5_CH4
mbed_official 511:532f83b66a7f 108 // {PA_3, PWM_9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 2, 0)}, // TIM9_CH2
mbed_official 511:532f83b66a7f 109 {PA_5, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1
mbed_official 511:532f83b66a7f 110 // {PA_5, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N
mbed_official 511:532f83b66a7f 111 {PA_6, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1
mbed_official 511:532f83b66a7f 112 {PA_7, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N
mbed_official 511:532f83b66a7f 113 // {PA_7, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2
mbed_official 511:532f83b66a7f 114 // {PA_7, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N
mbed_official 511:532f83b66a7f 115 {PA_8, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1
mbed_official 511:532f83b66a7f 116 {PA_9, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2
mbed_official 511:532f83b66a7f 117 {PA_10, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3
mbed_official 511:532f83b66a7f 118 {PA_11, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4
mbed_official 511:532f83b66a7f 119 {PA_15, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1
mbed_official 428:4ddf7f7eabbb 120
mbed_official 511:532f83b66a7f 121 {PB_0, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N
mbed_official 511:532f83b66a7f 122 // {PB_0, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3
mbed_official 511:532f83b66a7f 123 // {PB_0, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM3_CH2N
mbed_official 511:532f83b66a7f 124 {PB_1, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N
mbed_official 511:532f83b66a7f 125 // {PB_1, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4
mbed_official 511:532f83b66a7f 126 // {PB_1, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM3_CH3N
mbed_official 511:532f83b66a7f 127 {PB_3, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2
mbed_official 511:532f83b66a7f 128 {PB_4, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1
mbed_official 511:532f83b66a7f 129 {PB_5, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2
mbed_official 511:532f83b66a7f 130 {PB_6, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1
mbed_official 511:532f83b66a7f 131 {PB_7, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2
mbed_official 511:532f83b66a7f 132 {PB_8, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3
mbed_official 511:532f83b66a7f 133 // {PB_8, PWM_10,STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM10, 1, 0)}, // TIM10_CH1
mbed_official 511:532f83b66a7f 134 {PB_9, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4
mbed_official 511:532f83b66a7f 135 // {PB_9, PWM_11,STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM11, 1, 0)}, // TIM11_CH1
mbed_official 511:532f83b66a7f 136 {PB_10, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3
mbed_official 511:532f83b66a7f 137 {PB_11, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4
mbed_official 511:532f83b66a7f 138 {PB_13, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N
mbed_official 511:532f83b66a7f 139 {PB_14, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N
mbed_official 511:532f83b66a7f 140 // {PB_14, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N
mbed_official 511:532f83b66a7f 141 {PB_15, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N
mbed_official 511:532f83b66a7f 142 // {PB_15, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N
mbed_official 511:532f83b66a7f 143
mbed_official 511:532f83b66a7f 144 {PC_6, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1
mbed_official 511:532f83b66a7f 145 // {PC_6, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 0)}, // TIM8_CH1
mbed_official 511:532f83b66a7f 146 {PC_7, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2
mbed_official 511:532f83b66a7f 147 // {PC_7, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 0)}, // TIM8_CH2
mbed_official 511:532f83b66a7f 148 {PC_8, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3
mbed_official 511:532f83b66a7f 149 // {PC_8, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 0)}, // TIM8_CH3
mbed_official 511:532f83b66a7f 150 {PC_9, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4
mbed_official 511:532f83b66a7f 151 // {PC_9, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 4, 0)}, // TIM8_CH4
mbed_official 428:4ddf7f7eabbb 152
mbed_official 511:532f83b66a7f 153 {PD_12, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1
mbed_official 511:532f83b66a7f 154 {PD_13, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2
mbed_official 511:532f83b66a7f 155 {PD_14, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3
mbed_official 511:532f83b66a7f 156 {PD_15, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4
mbed_official 511:532f83b66a7f 157
mbed_official 511:532f83b66a7f 158 {PE_5, PWM_9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 1, 0)}, // TIM9_CH1
mbed_official 511:532f83b66a7f 159 {PE_6, PWM_9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 2, 0)}, // TIM9_CH2
mbed_official 511:532f83b66a7f 160 {PE_8, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N
mbed_official 511:532f83b66a7f 161 {PE_9, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1
mbed_official 511:532f83b66a7f 162 {PE_10, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N
mbed_official 511:532f83b66a7f 163 {PE_11, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2
mbed_official 511:532f83b66a7f 164 {PE_12, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N
mbed_official 511:532f83b66a7f 165 {PE_13, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3
mbed_official 511:532f83b66a7f 166 {PE_14, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4
mbed_official 511:532f83b66a7f 167
mbed_official 511:532f83b66a7f 168 {PF_6, PWM_10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM10, 1, 0)}, // TIM10_CH1
mbed_official 511:532f83b66a7f 169 {PF_7, PWM_11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM11, 1, 0)}, // TIM11_CH1
mbed_official 511:532f83b66a7f 170 {PF_8, PWM_13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM13, 1, 0)}, // TIM13_CH1
mbed_official 511:532f83b66a7f 171 {PF_9, PWM_14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM14, 1, 0)}, // TIM14_CH1
mbed_official 511:532f83b66a7f 172
mbed_official 511:532f83b66a7f 173 // {PH_10, PWM_5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 1, 0)}, // TIM5_CH1
mbed_official 511:532f83b66a7f 174 // {PH_11, PWM_5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 2, 0)}, // TIM5_CH2
mbed_official 511:532f83b66a7f 175 // {PH_12, PWM_5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 3, 0)}, // TIM5_CH3
mbed_official 511:532f83b66a7f 176 {PH_13, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N
mbed_official 511:532f83b66a7f 177 {PH_14, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N
mbed_official 511:532f83b66a7f 178 {PH_15, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N
mbed_official 511:532f83b66a7f 179
mbed_official 511:532f83b66a7f 180 // {PI_0, PWM_5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 4, 0)}, // TIM5_CH4
mbed_official 511:532f83b66a7f 181 {PI_2, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 4, 0)}, // TIM8_CH4
mbed_official 511:532f83b66a7f 182 {PI_5, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 0)}, // TIM8_CH1
mbed_official 511:532f83b66a7f 183 {PI_6, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 0)}, // TIM8_CH2
mbed_official 511:532f83b66a7f 184 {PI_7, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 0)}, // TIM8_CH3
mbed_official 428:4ddf7f7eabbb 185 {NC, NC, 0}
mbed_official 428:4ddf7f7eabbb 186 };
mbed_official 428:4ddf7f7eabbb 187
mbed_official 428:4ddf7f7eabbb 188 //*** SERIAL ***
mbed_official 428:4ddf7f7eabbb 189
mbed_official 428:4ddf7f7eabbb 190 const PinMap PinMap_UART_TX[] = {
mbed_official 511:532f83b66a7f 191 {PA_0, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)},
mbed_official 428:4ddf7f7eabbb 192 {PA_2, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)},
mbed_official 428:4ddf7f7eabbb 193 {PA_9, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
mbed_official 428:4ddf7f7eabbb 194 {PA_11, UART_6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)},
mbed_official 428:4ddf7f7eabbb 195 {PB_6, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
mbed_official 511:532f83b66a7f 196 {PB_10, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)},
mbed_official 428:4ddf7f7eabbb 197 {PC_6, UART_6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)},
mbed_official 511:532f83b66a7f 198 {PC_10, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)},
mbed_official 511:532f83b66a7f 199 // {PC_10, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)},
mbed_official 511:532f83b66a7f 200 {PD_5, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)},
mbed_official 511:532f83b66a7f 201 {PD_8, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)},
mbed_official 511:532f83b66a7f 202 {PG_14, UART_6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)},
mbed_official 428:4ddf7f7eabbb 203 {NC, NC, 0}
mbed_official 428:4ddf7f7eabbb 204 };
mbed_official 428:4ddf7f7eabbb 205
mbed_official 428:4ddf7f7eabbb 206 const PinMap PinMap_UART_RX[] = {
mbed_official 511:532f83b66a7f 207 {PA_1, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)},
mbed_official 428:4ddf7f7eabbb 208 {PA_3, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)},
mbed_official 428:4ddf7f7eabbb 209 {PA_10, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
mbed_official 428:4ddf7f7eabbb 210 {PA_12, UART_6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)},
mbed_official 428:4ddf7f7eabbb 211 {PB_7, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
mbed_official 511:532f83b66a7f 212 {PB_11, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)},
mbed_official 428:4ddf7f7eabbb 213 {PC_7, UART_6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)},
mbed_official 511:532f83b66a7f 214 {PC_11, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)},
mbed_official 511:532f83b66a7f 215 // {PC_11, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)},
mbed_official 511:532f83b66a7f 216 {PD_6, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)},
mbed_official 511:532f83b66a7f 217 {PD_9, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)},
mbed_official 511:532f83b66a7f 218 {PG_9, UART_6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)},
mbed_official 428:4ddf7f7eabbb 219 {NC, NC, 0}
mbed_official 428:4ddf7f7eabbb 220 };
mbed_official 428:4ddf7f7eabbb 221
mbed_official 428:4ddf7f7eabbb 222 //*** SPI ***
mbed_official 428:4ddf7f7eabbb 223
mbed_official 428:4ddf7f7eabbb 224 const PinMap PinMap_SPI_MOSI[] = {
mbed_official 428:4ddf7f7eabbb 225 {PA_7, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
mbed_official 428:4ddf7f7eabbb 226 {PB_5, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
mbed_official 428:4ddf7f7eabbb 227 // {PB_5, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)},
mbed_official 428:4ddf7f7eabbb 228 {PB_15, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
mbed_official 428:4ddf7f7eabbb 229 {PC_3, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
mbed_official 428:4ddf7f7eabbb 230 {PC_12, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)},
mbed_official 428:4ddf7f7eabbb 231 {NC, NC, 0}
mbed_official 428:4ddf7f7eabbb 232 };
mbed_official 428:4ddf7f7eabbb 233
mbed_official 428:4ddf7f7eabbb 234 const PinMap PinMap_SPI_MISO[] = {
mbed_official 428:4ddf7f7eabbb 235 {PA_6, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
mbed_official 428:4ddf7f7eabbb 236 {PB_4, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
mbed_official 428:4ddf7f7eabbb 237 // {PB_4, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)},
mbed_official 428:4ddf7f7eabbb 238 {PB_14, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
mbed_official 428:4ddf7f7eabbb 239 {PC_2, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
mbed_official 428:4ddf7f7eabbb 240 {PC_11, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)},
mbed_official 428:4ddf7f7eabbb 241 {NC, NC, 0}
mbed_official 428:4ddf7f7eabbb 242 };
mbed_official 428:4ddf7f7eabbb 243
mbed_official 428:4ddf7f7eabbb 244 const PinMap PinMap_SPI_SCLK[] = {
mbed_official 428:4ddf7f7eabbb 245 {PA_5, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
mbed_official 428:4ddf7f7eabbb 246 {PB_3, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
mbed_official 428:4ddf7f7eabbb 247 // {PB_3, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)},
mbed_official 428:4ddf7f7eabbb 248 {PB_10, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
mbed_official 428:4ddf7f7eabbb 249 {PB_13, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
mbed_official 428:4ddf7f7eabbb 250 {PC_10, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)},
mbed_official 428:4ddf7f7eabbb 251 {NC, NC, 0}
mbed_official 428:4ddf7f7eabbb 252 };
mbed_official 428:4ddf7f7eabbb 253
mbed_official 428:4ddf7f7eabbb 254 const PinMap PinMap_SPI_SSEL[] = {
mbed_official 428:4ddf7f7eabbb 255 {PA_4, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI1)},
mbed_official 428:4ddf7f7eabbb 256 // {PA_4, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF6_SPI3)},
mbed_official 428:4ddf7f7eabbb 257 {PA_15, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI1)},
mbed_official 428:4ddf7f7eabbb 258 // {PA_15, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF6_SPI3)},
mbed_official 428:4ddf7f7eabbb 259 {PB_9, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI2)},
mbed_official 428:4ddf7f7eabbb 260 {PB_12, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI2)},
mbed_official 428:4ddf7f7eabbb 261 {NC, NC, 0}
mbed_official 428:4ddf7f7eabbb 262 };