mbed library sources. Supersedes mbed-src.

Fork of mbed-dev by mbed official

Committer:
fwndz
Date:
Thu Dec 22 05:12:40 2016 +0000
Revision:
153:9398a535854b
Parent:
149:156823d33999
device target maximize

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 50:a417edff4437 1 /***************************************************************************//**
mbed_official 50:a417edff4437 2 * @file PinNames.h
mbed_official 50:a417edff4437 3 *******************************************************************************
mbed_official 50:a417edff4437 4 * @section License
mbed_official 50:a417edff4437 5 * <b>(C) Copyright 2015 Silicon Labs, http://www.silabs.com</b>
mbed_official 50:a417edff4437 6 *******************************************************************************
mbed_official 50:a417edff4437 7 *
<> 144:ef7eb2e8f9f7 8 * SPDX-License-Identifier: Apache-2.0
mbed_official 50:a417edff4437 9 *
<> 144:ef7eb2e8f9f7 10 * Licensed under the Apache License, Version 2.0 (the "License"); you may
<> 144:ef7eb2e8f9f7 11 * not use this file except in compliance with the License.
<> 144:ef7eb2e8f9f7 12 * You may obtain a copy of the License at
mbed_official 50:a417edff4437 13 *
<> 144:ef7eb2e8f9f7 14 * http://www.apache.org/licenses/LICENSE-2.0
mbed_official 50:a417edff4437 15 *
<> 144:ef7eb2e8f9f7 16 * Unless required by applicable law or agreed to in writing, software
<> 144:ef7eb2e8f9f7 17 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
<> 144:ef7eb2e8f9f7 18 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
<> 144:ef7eb2e8f9f7 19 * See the License for the specific language governing permissions and
<> 144:ef7eb2e8f9f7 20 * limitations under the License.
mbed_official 50:a417edff4437 21 *
mbed_official 50:a417edff4437 22 ******************************************************************************/
mbed_official 50:a417edff4437 23 #ifndef MBED_PINNAMES_H
mbed_official 50:a417edff4437 24 #define MBED_PINNAMES_H
mbed_official 50:a417edff4437 25
mbed_official 50:a417edff4437 26 #include "cmsis.h"
mbed_official 50:a417edff4437 27 #include "em_gpio.h"
mbed_official 50:a417edff4437 28
mbed_official 50:a417edff4437 29 #ifdef __cplusplus
mbed_official 50:a417edff4437 30 extern "C" {
mbed_official 50:a417edff4437 31 #endif
mbed_official 50:a417edff4437 32
mbed_official 50:a417edff4437 33 typedef enum {
mbed_official 50:a417edff4437 34 PIN_INPUT = 0,
mbed_official 50:a417edff4437 35 PIN_OUTPUT = 1
mbed_official 50:a417edff4437 36 } PinDirection;
mbed_official 50:a417edff4437 37
mbed_official 50:a417edff4437 38 typedef enum {
mbed_official 50:a417edff4437 39 /* EFM32 Pin Names
mbed_official 50:a417edff4437 40 * First 4 bits represent pin number, the remaining
mbed_official 50:a417edff4437 41 * bits represent port number (A = 0, B = 1, ...)
mbed_official 50:a417edff4437 42 */
mbed_official 50:a417edff4437 43 PA0 = 0 << 4, PA1, PA2, PA3, PA4, PA5, PA6, PA7, PA8, PA9, PA10, PA11, PA12, PA13, PA14, PA15,
mbed_official 50:a417edff4437 44 PB0 = 1 << 4, PB1, PB2, PB3, PB4, PB5, PB6, PB7, PB8, PB9, PB10, PB11, PB12, PB13, PB14, PB15,
mbed_official 50:a417edff4437 45 PC0 = 2 << 4, PC1, PC2, PC3, PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15,
mbed_official 50:a417edff4437 46 PD0 = 3 << 4, PD1, PD2, PD3, PD4, PD5, PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15,
mbed_official 50:a417edff4437 47 PE0 = 4 << 4, PE1, PE2, PE3, PE4, PE5, PE6, PE7, PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15,
mbed_official 50:a417edff4437 48 PF0 = 5 << 4, PF1, PF2, PF3, PF4, PF5, PF6, PF7, PF8, PF9, PF10, PF11, PF12, PF13, PF14, PF15,
mbed_official 50:a417edff4437 49
mbed_official 50:a417edff4437 50 /* Starter Kit says LED0 and LED1, but mbed expects 1 and 2. This way using 1 and 2 or 0 and 1 will work. */
mbed_official 50:a417edff4437 51 LED0 = PF4,
mbed_official 50:a417edff4437 52 LED1 = PF5,
mbed_official 50:a417edff4437 53 LED2 = LED0,
mbed_official 50:a417edff4437 54 LED3 = LED0,
mbed_official 50:a417edff4437 55 LED4 = LED1,
mbed_official 50:a417edff4437 56
mbed_official 50:a417edff4437 57 /* Push Buttons */
mbed_official 50:a417edff4437 58 SW0 = PF6,
mbed_official 50:a417edff4437 59 SW1 = PF7,
mbed_official 50:a417edff4437 60 BTN0 = SW0,
mbed_official 50:a417edff4437 61 BTN1 = SW1,
mbed_official 50:a417edff4437 62
mbed_official 50:a417edff4437 63 /* Serial (just some usable pins) */
mbed_official 50:a417edff4437 64 SERIAL_TX = PD10,
mbed_official 50:a417edff4437 65 SERIAL_RX = PD11,
mbed_official 50:a417edff4437 66
mbed_official 50:a417edff4437 67 /* Board Controller UART (USB) + enable pin */
mbed_official 50:a417edff4437 68 USBTX = PA0,
mbed_official 50:a417edff4437 69 USBRX = PA1,
mbed_official 50:a417edff4437 70 EFM_BC_EN = PA5,
mbed_official 50:a417edff4437 71
mbed_official 50:a417edff4437 72 /* Not connected */
mbed_official 50:a417edff4437 73 NC = (int) 0xFFFFFFFF
mbed_official 50:a417edff4437 74 } PinName;
mbed_official 50:a417edff4437 75
mbed_official 50:a417edff4437 76
mbed_official 50:a417edff4437 77 /* 0x10 represents setting the DOUT register (see efm32 modes in ref. manual) */
mbed_official 50:a417edff4437 78 typedef enum {
mbed_official 50:a417edff4437 79 /* EFM32 pin modes */
mbed_official 50:a417edff4437 80 Disabled = gpioModeDisabled,
mbed_official 50:a417edff4437 81 DisabledPullUp = gpioModeDisabled | 0x10,
mbed_official 50:a417edff4437 82 Input = gpioModeInput,
mbed_official 50:a417edff4437 83 InputFilter = gpioModeInput | 0x10,
mbed_official 50:a417edff4437 84 InputPullDown = gpioModeInputPull,
mbed_official 50:a417edff4437 85 InputPullUp = gpioModeInputPull | 0x10,
mbed_official 50:a417edff4437 86 InputPullFilterDown = gpioModeInputPullFilter,
mbed_official 50:a417edff4437 87 InputPullFilterUp = gpioModeInputPullFilter | 0x10,
mbed_official 50:a417edff4437 88 PushPull = gpioModePushPull,
mbed_official 50:a417edff4437 89 WiredOr = gpioModeWiredOr,
mbed_official 50:a417edff4437 90 WiredOrPullDown = gpioModeWiredOrPullDown,
mbed_official 50:a417edff4437 91 WiredAnd = gpioModeWiredAnd,
mbed_official 50:a417edff4437 92 WiredAndFilter = gpioModeWiredAndFilter,
mbed_official 50:a417edff4437 93 WiredAndPullUp = gpioModeWiredAndPullUp,
mbed_official 50:a417edff4437 94 WiredAndPullUpFilter = gpioModeWiredAndPullUpFilter,
mbed_official 50:a417edff4437 95
mbed_official 50:a417edff4437 96 /* mbed modes:
mbed_official 50:a417edff4437 97 * PullUp, PullDown, PullNone, OpenDrain
mbed_official 50:a417edff4437 98 *
mbed_official 50:a417edff4437 99 * mbed default digital input mode:
mbed_official 50:a417edff4437 100 * PullDefault
mbed_official 50:a417edff4437 101 *
mbed_official 50:a417edff4437 102 * mbed default digital output mode:
mbed_official 50:a417edff4437 103 * PullNone
mbed_official 50:a417edff4437 104 */
mbed_official 50:a417edff4437 105 PullUp = InputPullUp,
mbed_official 50:a417edff4437 106 PullDown = InputPullDown,
mbed_official 50:a417edff4437 107 OpenDrain = WiredAnd,
mbed_official 50:a417edff4437 108 PullNone = PushPull,
mbed_official 50:a417edff4437 109 PullDefault = PushPull
mbed_official 50:a417edff4437 110 } PinMode;
mbed_official 50:a417edff4437 111
mbed_official 50:a417edff4437 112 #ifdef __cplusplus
mbed_official 50:a417edff4437 113 }
mbed_official 50:a417edff4437 114 #endif
mbed_official 50:a417edff4437 115
mbed_official 50:a417edff4437 116 #endif