added prescaler for 16 bit pwm in LPC1347 target

Fork of mbed-dev by mbed official

Committer:
bogdanm
Date:
Thu Oct 01 15:25:22 2015 +0300
Revision:
0:9b334a45a8ff
Child:
116:983bd476082e
Initial commit on mbed-dev

Replaces mbed-src (now inactive)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bogdanm 0:9b334a45a8ff 1 /*******************************************************************************
bogdanm 0:9b334a45a8ff 2 * Copyright (C) 2015 Maxim Integrated Products, Inc., All Rights Reserved.
bogdanm 0:9b334a45a8ff 3 *
bogdanm 0:9b334a45a8ff 4 * Permission is hereby granted, free of charge, to any person obtaining a
bogdanm 0:9b334a45a8ff 5 * copy of this software and associated documentation files (the "Software"),
bogdanm 0:9b334a45a8ff 6 * to deal in the Software without restriction, including without limitation
bogdanm 0:9b334a45a8ff 7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
bogdanm 0:9b334a45a8ff 8 * and/or sell copies of the Software, and to permit persons to whom the
bogdanm 0:9b334a45a8ff 9 * Software is furnished to do so, subject to the following conditions:
bogdanm 0:9b334a45a8ff 10 *
bogdanm 0:9b334a45a8ff 11 * The above copyright notice and this permission notice shall be included
bogdanm 0:9b334a45a8ff 12 * in all copies or substantial portions of the Software.
bogdanm 0:9b334a45a8ff 13 *
bogdanm 0:9b334a45a8ff 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
bogdanm 0:9b334a45a8ff 15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
bogdanm 0:9b334a45a8ff 16 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
bogdanm 0:9b334a45a8ff 17 * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
bogdanm 0:9b334a45a8ff 18 * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
bogdanm 0:9b334a45a8ff 19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
bogdanm 0:9b334a45a8ff 20 * OTHER DEALINGS IN THE SOFTWARE.
bogdanm 0:9b334a45a8ff 21 *
bogdanm 0:9b334a45a8ff 22 * Except as contained in this notice, the name of Maxim Integrated
bogdanm 0:9b334a45a8ff 23 * Products, Inc. shall not be used except as stated in the Maxim Integrated
bogdanm 0:9b334a45a8ff 24 * Products, Inc. Branding Policy.
bogdanm 0:9b334a45a8ff 25 *
bogdanm 0:9b334a45a8ff 26 * The mere transfer of this software does not imply any licenses
bogdanm 0:9b334a45a8ff 27 * of trade secrets, proprietary technology, copyrights, patents,
bogdanm 0:9b334a45a8ff 28 * trademarks, maskwork rights, or any other form of intellectual
bogdanm 0:9b334a45a8ff 29 * property whatsoever. Maxim Integrated Products, Inc. retains all
bogdanm 0:9b334a45a8ff 30 * ownership rights.
bogdanm 0:9b334a45a8ff 31 *******************************************************************************
bogdanm 0:9b334a45a8ff 32 */
bogdanm 0:9b334a45a8ff 33
bogdanm 0:9b334a45a8ff 34 #ifndef MBED_PINNAMES_H
bogdanm 0:9b334a45a8ff 35 #define MBED_PINNAMES_H
bogdanm 0:9b334a45a8ff 36
bogdanm 0:9b334a45a8ff 37 #include "cmsis.h"
bogdanm 0:9b334a45a8ff 38 #include "gpio_regs.h"
bogdanm 0:9b334a45a8ff 39
bogdanm 0:9b334a45a8ff 40 #ifdef __cplusplus
bogdanm 0:9b334a45a8ff 41 extern "C" {
bogdanm 0:9b334a45a8ff 42 #endif
bogdanm 0:9b334a45a8ff 43
bogdanm 0:9b334a45a8ff 44 typedef enum {
bogdanm 0:9b334a45a8ff 45 PIN_INPUT = MXC_V_GPIO_OUT_MODE_HIGH_Z,
bogdanm 0:9b334a45a8ff 46 PIN_OUTPUT = MXC_V_GPIO_OUT_MODE_NORMAL_DRIVE
bogdanm 0:9b334a45a8ff 47 } PinDirection;
bogdanm 0:9b334a45a8ff 48
bogdanm 0:9b334a45a8ff 49 #define PORT_SHIFT 12
bogdanm 0:9b334a45a8ff 50 #define PINNAME_TO_PORT(name) ((unsigned int)(name) >> PORT_SHIFT)
bogdanm 0:9b334a45a8ff 51 #define PINNAME_TO_PIN(name) ((unsigned int)(name) & ~(0xFFFFFFFF << PORT_SHIFT))
bogdanm 0:9b334a45a8ff 52
bogdanm 0:9b334a45a8ff 53 typedef enum {
bogdanm 0:9b334a45a8ff 54 P0_0 = (0 << PORT_SHIFT) | 0,
bogdanm 0:9b334a45a8ff 55 P0_1 = (0 << PORT_SHIFT) | 1,
bogdanm 0:9b334a45a8ff 56 P0_2 = (0 << PORT_SHIFT) | 2,
bogdanm 0:9b334a45a8ff 57 P0_3 = (0 << PORT_SHIFT) | 3,
bogdanm 0:9b334a45a8ff 58 P0_4 = (0 << PORT_SHIFT) | 4,
bogdanm 0:9b334a45a8ff 59 P0_5 = (0 << PORT_SHIFT) | 5,
bogdanm 0:9b334a45a8ff 60 P0_6 = (0 << PORT_SHIFT) | 6,
bogdanm 0:9b334a45a8ff 61 P0_7 = (0 << PORT_SHIFT) | 7,
bogdanm 0:9b334a45a8ff 62 P1_0 = (1 << PORT_SHIFT) | 0,
bogdanm 0:9b334a45a8ff 63 P1_1 = (1 << PORT_SHIFT) | 1,
bogdanm 0:9b334a45a8ff 64 P1_2 = (1 << PORT_SHIFT) | 2,
bogdanm 0:9b334a45a8ff 65 P1_3 = (1 << PORT_SHIFT) | 3,
bogdanm 0:9b334a45a8ff 66 P1_4 = (1 << PORT_SHIFT) | 4,
bogdanm 0:9b334a45a8ff 67 P1_5 = (1 << PORT_SHIFT) | 5,
bogdanm 0:9b334a45a8ff 68 P1_6 = (1 << PORT_SHIFT) | 6,
bogdanm 0:9b334a45a8ff 69 P1_7 = (1 << PORT_SHIFT) | 7,
bogdanm 0:9b334a45a8ff 70 P2_0 = (2 << PORT_SHIFT) | 0,
bogdanm 0:9b334a45a8ff 71 P2_1 = (2 << PORT_SHIFT) | 1,
bogdanm 0:9b334a45a8ff 72 P2_2 = (2 << PORT_SHIFT) | 2,
bogdanm 0:9b334a45a8ff 73 P2_3 = (2 << PORT_SHIFT) | 3,
bogdanm 0:9b334a45a8ff 74 P2_4 = (2 << PORT_SHIFT) | 4,
bogdanm 0:9b334a45a8ff 75 P2_5 = (2 << PORT_SHIFT) | 5,
bogdanm 0:9b334a45a8ff 76 P2_6 = (2 << PORT_SHIFT) | 6,
bogdanm 0:9b334a45a8ff 77 P2_7 = (2 << PORT_SHIFT) | 7,
bogdanm 0:9b334a45a8ff 78
bogdanm 0:9b334a45a8ff 79 // Analog ADC pins
bogdanm 0:9b334a45a8ff 80 AIN_0P = (0xA << PORT_SHIFT) | 0,
bogdanm 0:9b334a45a8ff 81 AIN_1P = (0xA << PORT_SHIFT) | 1,
bogdanm 0:9b334a45a8ff 82 AIN_2P = (0xA << PORT_SHIFT) | 2,
bogdanm 0:9b334a45a8ff 83 AIN_3P = (0xA << PORT_SHIFT) | 3,
bogdanm 0:9b334a45a8ff 84 AIN_4P = (0xA << PORT_SHIFT) | 4,
bogdanm 0:9b334a45a8ff 85 AIN_5P = (0xA << PORT_SHIFT) | 5,
bogdanm 0:9b334a45a8ff 86 AIN_0N = (0xB << PORT_SHIFT) | 0,
bogdanm 0:9b334a45a8ff 87 AIN_1N = (0xB << PORT_SHIFT) | 1,
bogdanm 0:9b334a45a8ff 88 AIN_2N = (0xB << PORT_SHIFT) | 2,
bogdanm 0:9b334a45a8ff 89 AIN_3N = (0xB << PORT_SHIFT) | 3,
bogdanm 0:9b334a45a8ff 90 AIN_4N = (0xB << PORT_SHIFT) | 4,
bogdanm 0:9b334a45a8ff 91 AIN_5N = (0xB << PORT_SHIFT) | 5,
bogdanm 0:9b334a45a8ff 92
bogdanm 0:9b334a45a8ff 93 // Analog differential ADC
bogdanm 0:9b334a45a8ff 94 AIN_0D = (0xC << PORT_SHIFT) | 0,
bogdanm 0:9b334a45a8ff 95 AIN_1D = (0xC << PORT_SHIFT) | 1,
bogdanm 0:9b334a45a8ff 96 AIN_2D = (0xC << PORT_SHIFT) | 2,
bogdanm 0:9b334a45a8ff 97 AIN_3D = (0xC << PORT_SHIFT) | 3,
bogdanm 0:9b334a45a8ff 98 AIN_4D = (0xC << PORT_SHIFT) | 4,
bogdanm 0:9b334a45a8ff 99 AIN_5D = (0xC << PORT_SHIFT) | 5,
bogdanm 0:9b334a45a8ff 100
bogdanm 0:9b334a45a8ff 101 // OPAMP Positive supply pins
bogdanm 0:9b334a45a8ff 102 AOUT_AP = (0xD << PORT_SHIFT) | 0,
bogdanm 0:9b334a45a8ff 103 AOUT_BP = (0xD << PORT_SHIFT) | 1,
bogdanm 0:9b334a45a8ff 104 AOUT_CP = (0xD << PORT_SHIFT) | 2,
bogdanm 0:9b334a45a8ff 105 AOUT_DP = (0xD << PORT_SHIFT) | 3,
bogdanm 0:9b334a45a8ff 106
bogdanm 0:9b334a45a8ff 107 // OPAMP Negative supply pins
bogdanm 0:9b334a45a8ff 108 AOUT_AN = (0xE << PORT_SHIFT) | 0,
bogdanm 0:9b334a45a8ff 109 AOUT_BN = (0xE << PORT_SHIFT) | 1,
bogdanm 0:9b334a45a8ff 110 AOUT_CN = (0xE << PORT_SHIFT) | 2,
bogdanm 0:9b334a45a8ff 111 AOUT_DN = (0xE << PORT_SHIFT) | 3,
bogdanm 0:9b334a45a8ff 112
bogdanm 0:9b334a45a8ff 113 // DAC Output pins
bogdanm 0:9b334a45a8ff 114 AOUT_AO = (0xF << PORT_SHIFT) | 0,
bogdanm 0:9b334a45a8ff 115 AOUT_BO = (0xF << PORT_SHIFT) | 1,
bogdanm 0:9b334a45a8ff 116 AOUT_CO = (0xF << PORT_SHIFT) | 2,
bogdanm 0:9b334a45a8ff 117 AOUT_DO = (0xF << PORT_SHIFT) | 3,
bogdanm 0:9b334a45a8ff 118
bogdanm 0:9b334a45a8ff 119 LED_RED = P1_7,
bogdanm 0:9b334a45a8ff 120 LED_GREEN = P1_6,
bogdanm 0:9b334a45a8ff 121 LED_BLUE = P1_4,
bogdanm 0:9b334a45a8ff 122
bogdanm 0:9b334a45a8ff 123 // mbed original LED naming
bogdanm 0:9b334a45a8ff 124 LED1 = LED_RED,
bogdanm 0:9b334a45a8ff 125 LED2 = LED_GREEN,
bogdanm 0:9b334a45a8ff 126 LED3 = LED_BLUE,
bogdanm 0:9b334a45a8ff 127 LED4 = LED_BLUE,
bogdanm 0:9b334a45a8ff 128
bogdanm 0:9b334a45a8ff 129 // Push button
bogdanm 0:9b334a45a8ff 130 SW1 = P1_5,
bogdanm 0:9b334a45a8ff 131
bogdanm 0:9b334a45a8ff 132 // UART Pins
bogdanm 0:9b334a45a8ff 133 USBTX = P1_3,
bogdanm 0:9b334a45a8ff 134 USBRX = P1_2,
bogdanm 0:9b334a45a8ff 135 STDIO_UART_TX = USBTX,
bogdanm 0:9b334a45a8ff 136 STDIO_UART_RX = USBRX,
bogdanm 0:9b334a45a8ff 137
bogdanm 0:9b334a45a8ff 138 I2C_SCL = P0_5,
bogdanm 0:9b334a45a8ff 139 I2C_SDA = P0_4,
bogdanm 0:9b334a45a8ff 140
bogdanm 0:9b334a45a8ff 141 // BTLE Radio HCI
bogdanm 0:9b334a45a8ff 142 HCI_SCK = P2_0,
bogdanm 0:9b334a45a8ff 143 HCI_MOSI = P2_1,
bogdanm 0:9b334a45a8ff 144 HCI_MISO = P2_2,
bogdanm 0:9b334a45a8ff 145 HCI_CSN = P2_3,
bogdanm 0:9b334a45a8ff 146 HCI_IRQ = P2_4,
bogdanm 0:9b334a45a8ff 147 HCI_RST = P2_5,
bogdanm 0:9b334a45a8ff 148
bogdanm 0:9b334a45a8ff 149 // Test points
bogdanm 0:9b334a45a8ff 150 TP1 = P1_1,
bogdanm 0:9b334a45a8ff 151 TP2 = P1_0,
bogdanm 0:9b334a45a8ff 152 TP3 = P0_1,
bogdanm 0:9b334a45a8ff 153 TP4 = P0_0,
bogdanm 0:9b334a45a8ff 154 TP5 = P0_5,
bogdanm 0:9b334a45a8ff 155 TP6 = P0_4,
bogdanm 0:9b334a45a8ff 156
bogdanm 0:9b334a45a8ff 157 // Not connected
bogdanm 0:9b334a45a8ff 158 NC = (int)0xFFFFFFFF
bogdanm 0:9b334a45a8ff 159 } PinName;
bogdanm 0:9b334a45a8ff 160
bogdanm 0:9b334a45a8ff 161 typedef enum {
bogdanm 0:9b334a45a8ff 162 PullUp,
bogdanm 0:9b334a45a8ff 163 OpenDrain,
bogdanm 0:9b334a45a8ff 164 PullNone,
bogdanm 0:9b334a45a8ff 165 PullDefault = PullUp
bogdanm 0:9b334a45a8ff 166 } PinMode;
bogdanm 0:9b334a45a8ff 167
bogdanm 0:9b334a45a8ff 168 typedef enum {
bogdanm 0:9b334a45a8ff 169 LED_ON = 0,
bogdanm 0:9b334a45a8ff 170 LED_OFF = 1
bogdanm 0:9b334a45a8ff 171 } LedStates;
bogdanm 0:9b334a45a8ff 172
bogdanm 0:9b334a45a8ff 173 #ifdef __cplusplus
bogdanm 0:9b334a45a8ff 174 }
bogdanm 0:9b334a45a8ff 175 #endif
bogdanm 0:9b334a45a8ff 176
bogdanm 0:9b334a45a8ff 177 #endif