mirror of https://github.com/ARMmbed/mbed-os.git
182 lines
6.5 KiB
C
182 lines
6.5 KiB
C
/* mbed Microcontroller Library
|
|
* Copyright (c) 2006-2014 ARM Limited
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
#ifndef MBED_PINNAMES_H
|
|
#define MBED_PINNAMES_H
|
|
|
|
#include "cmsis.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef enum {
|
|
PIN_INPUT,
|
|
PIN_OUTPUT
|
|
} PinDirection;
|
|
|
|
#define PORT_SHIFT 16
|
|
#define PIN_SHIFT 9
|
|
|
|
typedef enum {
|
|
// LPC11U68 Pin Names (PORT[19:16] + PIN[15:9] + IOCON offset[8:0])
|
|
|
|
P0_0 = (0 << PORT_SHIFT) | (0 << PIN_SHIFT) | 0x000,
|
|
P0_1 = (0 << PORT_SHIFT) | (1 << PIN_SHIFT) | 0x004,
|
|
P0_2 = (0 << PORT_SHIFT) | (2 << PIN_SHIFT) | 0x008,
|
|
P0_3 = (0 << PORT_SHIFT) | (3 << PIN_SHIFT) | 0x00C,
|
|
P0_4 = (0 << PORT_SHIFT) | (4 << PIN_SHIFT) | 0x010,
|
|
P0_5 = (0 << PORT_SHIFT) | (5 << PIN_SHIFT) | 0x014,
|
|
P0_6 = (0 << PORT_SHIFT) | (6 << PIN_SHIFT) | 0x018,
|
|
P0_7 = (0 << PORT_SHIFT) | (7 << PIN_SHIFT) | 0x01C,
|
|
P0_8 = (0 << PORT_SHIFT) | (8 << PIN_SHIFT) | 0x020,
|
|
P0_9 = (0 << PORT_SHIFT) | (9 << PIN_SHIFT) | 0x024,
|
|
P0_10= (0 << PORT_SHIFT) | (10<< PIN_SHIFT) | 0x028,
|
|
P0_11= (0 << PORT_SHIFT) | (11<< PIN_SHIFT) | 0x02C,
|
|
P0_12= (0 << PORT_SHIFT) | (12<< PIN_SHIFT) | 0x030,
|
|
P0_13= (0 << PORT_SHIFT) | (13<< PIN_SHIFT) | 0x034,
|
|
P0_14= (0 << PORT_SHIFT) | (14<< PIN_SHIFT) | 0x038,
|
|
P0_15= (0 << PORT_SHIFT) | (15<< PIN_SHIFT) | 0x03C,
|
|
P0_16= (0 << PORT_SHIFT) | (16<< PIN_SHIFT) | 0x040,
|
|
P0_17= (0 << PORT_SHIFT) | (17<< PIN_SHIFT) | 0x044,
|
|
P0_18= (0 << PORT_SHIFT) | (18<< PIN_SHIFT) | 0x048,
|
|
P0_19= (0 << PORT_SHIFT) | (19<< PIN_SHIFT) | 0x04C,
|
|
P0_20= (0 << PORT_SHIFT) | (20<< PIN_SHIFT) | 0x050,
|
|
P0_21= (0 << PORT_SHIFT) | (21<< PIN_SHIFT) | 0x054,
|
|
P0_22= (0 << PORT_SHIFT) | (22<< PIN_SHIFT) | 0x058,
|
|
P0_23= (0 << PORT_SHIFT) | (23<< PIN_SHIFT) | 0x05C,
|
|
|
|
P1_0 = (1 << PORT_SHIFT) | (0 << PIN_SHIFT) | 0x060,
|
|
P1_1 = (1 << PORT_SHIFT) | (1 << PIN_SHIFT) | 0x064,
|
|
P1_2 = (1 << PORT_SHIFT) | (2 << PIN_SHIFT) | 0x068,
|
|
P1_3 = (1 << PORT_SHIFT) | (3 << PIN_SHIFT) | 0x06C,
|
|
P1_4 = (1 << PORT_SHIFT) | (4 << PIN_SHIFT) | 0x070,
|
|
P1_5 = (1 << PORT_SHIFT) | (5 << PIN_SHIFT) | 0x074,
|
|
P1_6 = (1 << PORT_SHIFT) | (6 << PIN_SHIFT) | 0x078,
|
|
P1_7 = (1 << PORT_SHIFT) | (7 << PIN_SHIFT) | 0x07C,
|
|
P1_8 = (1 << PORT_SHIFT) | (8 << PIN_SHIFT) | 0x080,
|
|
P1_9 = (1 << PORT_SHIFT) | (9 << PIN_SHIFT) | 0x084,
|
|
P1_10= (1 << PORT_SHIFT) | (10<< PIN_SHIFT) | 0x088,
|
|
P1_11= (1 << PORT_SHIFT) | (11<< PIN_SHIFT) | 0x08C,
|
|
P1_12= (1 << PORT_SHIFT) | (12<< PIN_SHIFT) | 0x090,
|
|
P1_13= (1 << PORT_SHIFT) | (13<< PIN_SHIFT) | 0x094,
|
|
P1_14= (1 << PORT_SHIFT) | (14<< PIN_SHIFT) | 0x098,
|
|
P1_15= (1 << PORT_SHIFT) | (15<< PIN_SHIFT) | 0x09C,
|
|
P1_16= (1 << PORT_SHIFT) | (16<< PIN_SHIFT) | 0x0A0,
|
|
P1_17= (1 << PORT_SHIFT) | (17<< PIN_SHIFT) | 0x0A4,
|
|
P1_18= (1 << PORT_SHIFT) | (18<< PIN_SHIFT) | 0x0A8,
|
|
P1_19= (1 << PORT_SHIFT) | (19<< PIN_SHIFT) | 0x0AC,
|
|
P1_20= (1 << PORT_SHIFT) | (20<< PIN_SHIFT) | 0x0B0,
|
|
P1_21= (1 << PORT_SHIFT) | (21<< PIN_SHIFT) | 0x0B4,
|
|
P1_22= (1 << PORT_SHIFT) | (22<< PIN_SHIFT) | 0x0B8,
|
|
P1_23= (1 << PORT_SHIFT) | (23<< PIN_SHIFT) | 0x0BC,
|
|
P1_24= (1 << PORT_SHIFT) | (24<< PIN_SHIFT) | 0x0C0,
|
|
P1_25= (1 << PORT_SHIFT) | (25<< PIN_SHIFT) | 0x0C4,
|
|
P1_26= (1 << PORT_SHIFT) | (26<< PIN_SHIFT) | 0x0C8,
|
|
P1_27= (1 << PORT_SHIFT) | (27<< PIN_SHIFT) | 0x0CC,
|
|
P1_28= (1 << PORT_SHIFT) | (28<< PIN_SHIFT) | 0x0D0,
|
|
P1_29= (1 << PORT_SHIFT) | (29<< PIN_SHIFT) | 0x0D4,
|
|
P1_30= (1 << PORT_SHIFT) | (30<< PIN_SHIFT) | 0x0D8,
|
|
P1_31= (1 << PORT_SHIFT) | (31<< PIN_SHIFT) | 0x0DC,
|
|
|
|
P2_0 = (2 << PORT_SHIFT) | (0 << PIN_SHIFT) | 0x0F0,
|
|
P2_1 = (2 << PORT_SHIFT) | (1 << PIN_SHIFT) | 0x0F4,
|
|
P2_2 = (2 << PORT_SHIFT) | (2 << PIN_SHIFT) | 0x0FC,
|
|
P2_3 = (2 << PORT_SHIFT) | (3 << PIN_SHIFT) | 0x100,
|
|
P2_4 = (2 << PORT_SHIFT) | (4 << PIN_SHIFT) | 0x104,
|
|
P2_5 = (2 << PORT_SHIFT) | (5 << PIN_SHIFT) | 0x108,
|
|
P2_6 = (2 << PORT_SHIFT) | (6 << PIN_SHIFT) | 0x10C,
|
|
P2_7 = (2 << PORT_SHIFT) | (7 << PIN_SHIFT) | 0x110,
|
|
P2_8 = (2 << PORT_SHIFT) | (8 << PIN_SHIFT) | 0x114,
|
|
P2_9 = (2 << PORT_SHIFT) | (9 << PIN_SHIFT) | 0x118,
|
|
P2_10= (2 << PORT_SHIFT) | (10<< PIN_SHIFT) | 0x11C,
|
|
P2_11= (2 << PORT_SHIFT) | (11<< PIN_SHIFT) | 0x120,
|
|
P2_12= (2 << PORT_SHIFT) | (12<< PIN_SHIFT) | 0x124,
|
|
P2_13= (2 << PORT_SHIFT) | (13<< PIN_SHIFT) | 0x128,
|
|
P2_14= (2 << PORT_SHIFT) | (14<< PIN_SHIFT) | 0x12C,
|
|
P2_15= (2 << PORT_SHIFT) | (15<< PIN_SHIFT) | 0x130,
|
|
P2_16= (2 << PORT_SHIFT) | (16<< PIN_SHIFT) | 0x134,
|
|
P2_17= (2 << PORT_SHIFT) | (17<< PIN_SHIFT) | 0x138,
|
|
P2_18= (2 << PORT_SHIFT) | (18<< PIN_SHIFT) | 0x13C,
|
|
P2_19= (2 << PORT_SHIFT) | (19<< PIN_SHIFT) | 0x140,
|
|
P2_20= (2 << PORT_SHIFT) | (20<< PIN_SHIFT) | 0x144,
|
|
P2_21= (2 << PORT_SHIFT) | (21<< PIN_SHIFT) | 0x148,
|
|
P2_22= (2 << PORT_SHIFT) | (22<< PIN_SHIFT) | 0x14C,
|
|
P2_23= (2 << PORT_SHIFT) | (23<< PIN_SHIFT) | 0x150,
|
|
|
|
LED_RED = P2_17,
|
|
LED_GREEN = P2_16,
|
|
LED_BLUE = P2_18,
|
|
|
|
// mbed original LED naming
|
|
LED1 = LED_RED,
|
|
LED2 = LED_GREEN,
|
|
LED3 = LED_BLUE,
|
|
LED4 = LED_BLUE,
|
|
|
|
// Serial to USB pins
|
|
USBTX = P0_19,
|
|
USBRX = P0_18,
|
|
|
|
// Arduino Shield Receptacles Names
|
|
D0 = P0_18,
|
|
D1 = P0_19,
|
|
D2 = P1_18,
|
|
D3 = P1_24,
|
|
D4 = P1_19,
|
|
D5 = P1_26,
|
|
D6 = P1_27,
|
|
D7 = P1_25,
|
|
D8 = P1_28,
|
|
D9 = P2_3,
|
|
D10= P0_2,
|
|
D11= P0_9,
|
|
D12= P0_8,
|
|
D13= P1_29,
|
|
D14= P0_5,
|
|
D15= P0_4,
|
|
|
|
A0 = P1_9,
|
|
A1 = P0_14,
|
|
A2 = P0_13,
|
|
A3 = P0_12,
|
|
A4 = P0_5, // same port as SDA
|
|
A5 = P0_4, // same port as SCL
|
|
SDA= P0_5, // same port as A4
|
|
SCL= P0_4, // same port as A5
|
|
|
|
// Not connected
|
|
NC = (int)0xFFFFFFFF,
|
|
} PinName;
|
|
|
|
typedef enum {
|
|
PullUp = 2,
|
|
PullDown = 1,
|
|
PullNone = 0,
|
|
Repeater = 3,
|
|
OpenDrain = 4,
|
|
PullDefault = PullDown
|
|
} PinMode;
|
|
|
|
#define STDIO_UART_TX USBTX
|
|
#define STDIO_UART_RX USBRX
|
|
#define STDIO_UART UART_0
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|