mbed library sources

Fork of mbed-src by mbed official

Committer:
mbed_official
Date:
Mon Dec 15 09:30:07 2014 +0000
Revision:
439:c4382fcbbaed
Synchronized with git revision 6172cbea1a558a9a2ebbd965e77f83a9ceeec670

Full URL: https://github.com/mbedmicro/mbed/commit/6172cbea1a558a9a2ebbd965e77f83a9ceeec670/

Targets: DISCO_L053C8 - update from nucleo latest changes

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 439:c4382fcbbaed 1 /* mbed Microcontroller Library
mbed_official 439:c4382fcbbaed 2 *******************************************************************************
mbed_official 439:c4382fcbbaed 3 * Copyright (c) 2014, STMicroelectronics
mbed_official 439:c4382fcbbaed 4 * All rights reserved.
mbed_official 439:c4382fcbbaed 5 *
mbed_official 439:c4382fcbbaed 6 * Redistribution and use in source and binary forms, with or without
mbed_official 439:c4382fcbbaed 7 * modification, are permitted provided that the following conditions are met:
mbed_official 439:c4382fcbbaed 8 *
mbed_official 439:c4382fcbbaed 9 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 439:c4382fcbbaed 10 * this list of conditions and the following disclaimer.
mbed_official 439:c4382fcbbaed 11 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 439:c4382fcbbaed 12 * this list of conditions and the following disclaimer in the documentation
mbed_official 439:c4382fcbbaed 13 * and/or other materials provided with the distribution.
mbed_official 439:c4382fcbbaed 14 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 439:c4382fcbbaed 15 * may be used to endorse or promote products derived from this software
mbed_official 439:c4382fcbbaed 16 * without specific prior written permission.
mbed_official 439:c4382fcbbaed 17 *
mbed_official 439:c4382fcbbaed 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 439:c4382fcbbaed 19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 439:c4382fcbbaed 20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 439:c4382fcbbaed 21 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 439:c4382fcbbaed 22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 439:c4382fcbbaed 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 439:c4382fcbbaed 24 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 439:c4382fcbbaed 25 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 439:c4382fcbbaed 26 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 439:c4382fcbbaed 27 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 439:c4382fcbbaed 28 *******************************************************************************
mbed_official 439:c4382fcbbaed 29 */
mbed_official 439:c4382fcbbaed 30
mbed_official 439:c4382fcbbaed 31 #include "PeripheralPins.h"
mbed_official 439:c4382fcbbaed 32
mbed_official 439:c4382fcbbaed 33 // =====
mbed_official 439:c4382fcbbaed 34 // Note: Commented lines are alternative possibilities which are not used per default.
mbed_official 439:c4382fcbbaed 35 // If you change them, you will have also to modify the corresponding xxx_api.c file
mbed_official 439:c4382fcbbaed 36 // for pwmout, analogin, analogout, ...
mbed_official 439:c4382fcbbaed 37 // =====
mbed_official 439:c4382fcbbaed 38
mbed_official 439:c4382fcbbaed 39 //*** ADC ***
mbed_official 439:c4382fcbbaed 40
mbed_official 439:c4382fcbbaed 41 const PinMap PinMap_ADC[] = {
mbed_official 439:c4382fcbbaed 42 {PA_0, ADC_1, STM_PIN_DATA(STM_MODE_ANALOG, GPIO_NOPULL, 0)}, // ADC1_IN0
mbed_official 439:c4382fcbbaed 43 {PA_1, ADC_1, STM_PIN_DATA(STM_MODE_ANALOG, GPIO_NOPULL, 0)}, // ADC1_IN1
mbed_official 439:c4382fcbbaed 44 {PA_2, ADC_1, STM_PIN_DATA(STM_MODE_ANALOG, GPIO_NOPULL, 0)}, // ADC1_IN2
mbed_official 439:c4382fcbbaed 45 {PA_3, ADC_1, STM_PIN_DATA(STM_MODE_ANALOG, GPIO_NOPULL, 0)}, // ADC1_IN3
mbed_official 439:c4382fcbbaed 46 {PA_4, ADC_1, STM_PIN_DATA(STM_MODE_ANALOG, GPIO_NOPULL, 0)}, // ADC1_IN4
mbed_official 439:c4382fcbbaed 47 {PA_5, ADC_1, STM_PIN_DATA(STM_MODE_ANALOG, GPIO_NOPULL, 0)}, // ADC1_IN5
mbed_official 439:c4382fcbbaed 48 {PA_6, ADC_1, STM_PIN_DATA(STM_MODE_ANALOG, GPIO_NOPULL, 0)}, // ADC1_IN6
mbed_official 439:c4382fcbbaed 49 {PA_7, ADC_1, STM_PIN_DATA(STM_MODE_ANALOG, GPIO_NOPULL, 0)}, // ADC1_IN7
mbed_official 439:c4382fcbbaed 50 {PB_0, ADC_1, STM_PIN_DATA(STM_MODE_ANALOG, GPIO_NOPULL, 0)}, // ADC1_IN8
mbed_official 439:c4382fcbbaed 51 {PB_1, ADC_1, STM_PIN_DATA(STM_MODE_ANALOG, GPIO_NOPULL, 0)}, // ADC1_IN9
mbed_official 439:c4382fcbbaed 52 {PC_0, ADC_1, STM_PIN_DATA(STM_MODE_ANALOG, GPIO_NOPULL, 0)}, // ADC1_IN10
mbed_official 439:c4382fcbbaed 53 {PC_1, ADC_1, STM_PIN_DATA(STM_MODE_ANALOG, GPIO_NOPULL, 0)}, // ADC1_IN11
mbed_official 439:c4382fcbbaed 54 {PC_2, ADC_1, STM_PIN_DATA(STM_MODE_ANALOG, GPIO_NOPULL, 0)}, // ADC1_IN12
mbed_official 439:c4382fcbbaed 55 {PC_3, ADC_1, STM_PIN_DATA(STM_MODE_ANALOG, GPIO_NOPULL, 0)}, // ADC1_IN13
mbed_official 439:c4382fcbbaed 56 {PC_4, ADC_1, STM_PIN_DATA(STM_MODE_ANALOG, GPIO_NOPULL, 0)}, // ADC1_IN14
mbed_official 439:c4382fcbbaed 57 {PC_5, ADC_1, STM_PIN_DATA(STM_MODE_ANALOG, GPIO_NOPULL, 0)}, // ADC1_IN15
mbed_official 439:c4382fcbbaed 58 {NC, NC, 0}
mbed_official 439:c4382fcbbaed 59 };
mbed_official 439:c4382fcbbaed 60
mbed_official 439:c4382fcbbaed 61 //*** DAC ***
mbed_official 439:c4382fcbbaed 62
mbed_official 439:c4382fcbbaed 63 const PinMap PinMap_DAC[] = {
mbed_official 439:c4382fcbbaed 64 {PA_4, DAC_1, STM_PIN_DATA(STM_MODE_ANALOG, GPIO_NOPULL, 0)}, // DAC_OUT
mbed_official 439:c4382fcbbaed 65 {NC, NC, 0}
mbed_official 439:c4382fcbbaed 66 };
mbed_official 439:c4382fcbbaed 67
mbed_official 439:c4382fcbbaed 68 //*** I2C ***
mbed_official 439:c4382fcbbaed 69
mbed_official 439:c4382fcbbaed 70 const PinMap PinMap_I2C_SDA[] = {
mbed_official 439:c4382fcbbaed 71 {PB_7, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)},
mbed_official 439:c4382fcbbaed 72 {PB_9, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)},
mbed_official 439:c4382fcbbaed 73 {PB_11, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF6_I2C2)},
mbed_official 439:c4382fcbbaed 74 {PB_14, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF5_I2C2)},
mbed_official 439:c4382fcbbaed 75 {NC, NC, 0}
mbed_official 439:c4382fcbbaed 76 };
mbed_official 439:c4382fcbbaed 77
mbed_official 439:c4382fcbbaed 78 const PinMap PinMap_I2C_SCL[] = {
mbed_official 439:c4382fcbbaed 79 {PB_6, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)},
mbed_official 439:c4382fcbbaed 80 {PB_8, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)},
mbed_official 439:c4382fcbbaed 81 {PB_10, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF6_I2C2)},
mbed_official 439:c4382fcbbaed 82 {PB_13, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF5_I2C2)},
mbed_official 439:c4382fcbbaed 83 {NC, NC, 0}
mbed_official 439:c4382fcbbaed 84 };
mbed_official 439:c4382fcbbaed 85
mbed_official 439:c4382fcbbaed 86 //*** PWM ***
mbed_official 439:c4382fcbbaed 87
mbed_official 439:c4382fcbbaed 88 // TIM21 cannot be used because already used by the us_ticker
mbed_official 439:c4382fcbbaed 89 const PinMap PinMap_PWM[] = {
mbed_official 439:c4382fcbbaed 90 {PA_0, PWM_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2)}, // TIM2_CH1
mbed_official 439:c4382fcbbaed 91 {PA_1, PWM_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2)}, // TIM2_CH2
mbed_official 439:c4382fcbbaed 92 // {PA_2, PWM_21, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_TIM21)}, // TIM21_CH1
mbed_official 439:c4382fcbbaed 93 // {PA_2, PWM_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2)}, // TIM2_CH3 - used by STDIO TX
mbed_official 439:c4382fcbbaed 94 // {PA_3, PWM_21, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_TIM21)}, // TIM21_CH2
mbed_official 439:c4382fcbbaed 95 // {PA_3, PWM_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2)}, // TIM2_CH4 - used by STDIO RX
mbed_official 439:c4382fcbbaed 96 {PA_5, PWM_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM2)}, // TIM2_CH1 - used also to drive the LED
mbed_official 439:c4382fcbbaed 97 {PA_6, PWM_22, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM22)}, // TIM22_CH1
mbed_official 439:c4382fcbbaed 98 {PA_7, PWM_22, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM22)}, // TIM22_CH2
mbed_official 439:c4382fcbbaed 99 {PA_15, PWM_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM2)}, // TIM2_CH1
mbed_official 439:c4382fcbbaed 100 {PB_3, PWM_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2)}, // TIM2_CH2
mbed_official 439:c4382fcbbaed 101 {PB_4, PWM_22, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM22)}, // TIM22_CH1
mbed_official 439:c4382fcbbaed 102 {PB_5, PWM_22, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM22)}, // TIM22_CH2
mbed_official 439:c4382fcbbaed 103 {PB_10, PWM_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2)}, // TIM2_CH3
mbed_official 439:c4382fcbbaed 104 {PB_11, PWM_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2)}, // TIM2_CH4
mbed_official 439:c4382fcbbaed 105 // {PB_13, PWM_21, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_TIM21)}, // TIM21_CH1
mbed_official 439:c4382fcbbaed 106 // {PB_14, PWM_21, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_TIM21)}, // TIM21_CH2
mbed_official 439:c4382fcbbaed 107 {PC_6, PWM_22, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_TIM22)}, // TIM22_CH1
mbed_official 439:c4382fcbbaed 108 {PC_7, PWM_22, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_TIM22)}, // TIM22_CH2
mbed_official 439:c4382fcbbaed 109 {NC, NC, 0}
mbed_official 439:c4382fcbbaed 110 };
mbed_official 439:c4382fcbbaed 111
mbed_official 439:c4382fcbbaed 112 //*** SERIAL ***
mbed_official 439:c4382fcbbaed 113
mbed_official 439:c4382fcbbaed 114 const PinMap PinMap_UART_TX[] = {
mbed_official 439:c4382fcbbaed 115 {PA_2, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
mbed_official 439:c4382fcbbaed 116 {PA_9, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)},
mbed_official 439:c4382fcbbaed 117 {PA_14, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)}, // Warning: this pin is used by SWCLK
mbed_official 439:c4382fcbbaed 118 {PB_6, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)},
mbed_official 439:c4382fcbbaed 119 {PB_10, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)},
mbed_official 439:c4382fcbbaed 120 {PC_4, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_LPUART1)},
mbed_official 439:c4382fcbbaed 121 {PC_10, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_LPUART1)},
mbed_official 439:c4382fcbbaed 122 {NC, NC, 0}
mbed_official 439:c4382fcbbaed 123 };
mbed_official 439:c4382fcbbaed 124
mbed_official 439:c4382fcbbaed 125 const PinMap PinMap_UART_RX[] = {
mbed_official 439:c4382fcbbaed 126 {PA_3, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
mbed_official 439:c4382fcbbaed 127 {PA_10, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)},
mbed_official 439:c4382fcbbaed 128 {PA_15, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
mbed_official 439:c4382fcbbaed 129 {PB_7, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)},
mbed_official 439:c4382fcbbaed 130 {PB_11, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_LPUART1)},
mbed_official 439:c4382fcbbaed 131 {PC_5, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_LPUART1)},
mbed_official 439:c4382fcbbaed 132 {PC_11, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_LPUART1)},
mbed_official 439:c4382fcbbaed 133 {NC, NC, 0}
mbed_official 439:c4382fcbbaed 134 };
mbed_official 439:c4382fcbbaed 135
mbed_official 439:c4382fcbbaed 136 //*** SPI ***
mbed_official 439:c4382fcbbaed 137
mbed_official 439:c4382fcbbaed 138 const PinMap PinMap_SPI_MOSI[] = {
mbed_official 439:c4382fcbbaed 139 {PA_7, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)},
mbed_official 439:c4382fcbbaed 140 {PA_12, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)},
mbed_official 439:c4382fcbbaed 141 {PB_5, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)},
mbed_official 439:c4382fcbbaed 142 {PB_15, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI2)},
mbed_official 439:c4382fcbbaed 143 {PC_3, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_SPI2)},
mbed_official 439:c4382fcbbaed 144 {NC, NC, 0}
mbed_official 439:c4382fcbbaed 145 };
mbed_official 439:c4382fcbbaed 146
mbed_official 439:c4382fcbbaed 147 const PinMap PinMap_SPI_MISO[] = {
mbed_official 439:c4382fcbbaed 148 {PA_6, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)},
mbed_official 439:c4382fcbbaed 149 {PA_11, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)},
mbed_official 439:c4382fcbbaed 150 {PB_4, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)},
mbed_official 439:c4382fcbbaed 151 {PB_14, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI2)},
mbed_official 439:c4382fcbbaed 152 {PC_2, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_SPI2)},
mbed_official 439:c4382fcbbaed 153 {NC, NC, 0}
mbed_official 439:c4382fcbbaed 154 };
mbed_official 439:c4382fcbbaed 155
mbed_official 439:c4382fcbbaed 156 const PinMap PinMap_SPI_SCLK[] = {
mbed_official 439:c4382fcbbaed 157 {PA_5, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)},
mbed_official 439:c4382fcbbaed 158 {PB_3, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)},
mbed_official 439:c4382fcbbaed 159 {PB_10, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
mbed_official 439:c4382fcbbaed 160 {PB_13, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI2)},
mbed_official 439:c4382fcbbaed 161 {NC, NC, 0}
mbed_official 439:c4382fcbbaed 162 };
mbed_official 439:c4382fcbbaed 163
mbed_official 439:c4382fcbbaed 164 const PinMap PinMap_SPI_SSEL[] = {
mbed_official 439:c4382fcbbaed 165 {PA_4, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)},
mbed_official 439:c4382fcbbaed 166 {PA_15, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)},
mbed_official 439:c4382fcbbaed 167 {PB_9, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
mbed_official 439:c4382fcbbaed 168 {PB_12, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI2)},
mbed_official 439:c4382fcbbaed 169 {NC, NC, 0}
mbed_official 439:c4382fcbbaed 170 };