added prescaler for 16 bit pwm in LPC1347 target

Fork of mbed-dev by mbed official

Committer:
mbed_official
Date:
Wed Nov 04 16:30:11 2015 +0000
Revision:
15:a81a8d6c1dfe
Child:
18:da299f395b9e
Synchronized with git revision 46af745ef4405614c3fa49abbd9a706a362ea514

Full URL: https://github.com/mbedmicro/mbed/commit/46af745ef4405614c3fa49abbd9a706a362ea514/

Renamed TARGET_SAM_CortexM0+ to TARGET_SAM_CortexM0P for compatiblity with online compiler

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 15:a81a8d6c1dfe 1 /* mbed Microcontroller Library
mbed_official 15:a81a8d6c1dfe 2 * Copyright (c) 2006-2013 ARM Limited
mbed_official 15:a81a8d6c1dfe 3 *
mbed_official 15:a81a8d6c1dfe 4 * Licensed under the Apache License, Version 2.0 (the "License");
mbed_official 15:a81a8d6c1dfe 5 * you may not use this file except in compliance with the License.
mbed_official 15:a81a8d6c1dfe 6 * You may obtain a copy of the License at
mbed_official 15:a81a8d6c1dfe 7 *
mbed_official 15:a81a8d6c1dfe 8 * http://www.apache.org/licenses/LICENSE-2.0
mbed_official 15:a81a8d6c1dfe 9 *
mbed_official 15:a81a8d6c1dfe 10 * Unless required by applicable law or agreed to in writing, software
mbed_official 15:a81a8d6c1dfe 11 * distributed under the License is distributed on an "AS IS" BASIS,
mbed_official 15:a81a8d6c1dfe 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mbed_official 15:a81a8d6c1dfe 13 * See the License for the specific language governing permissions and
mbed_official 15:a81a8d6c1dfe 14 * limitations under the License.
mbed_official 15:a81a8d6c1dfe 15 */
mbed_official 15:a81a8d6c1dfe 16 #ifndef MBED_PERIPHERALNAMES_H
mbed_official 15:a81a8d6c1dfe 17 #define MBED_PERIPHERALNAMES_H
mbed_official 15:a81a8d6c1dfe 18
mbed_official 15:a81a8d6c1dfe 19 #include <compiler.h>
mbed_official 15:a81a8d6c1dfe 20 #include "cmsis.h"
mbed_official 15:a81a8d6c1dfe 21 #include "PinNames.h"
mbed_official 15:a81a8d6c1dfe 22
mbed_official 15:a81a8d6c1dfe 23 #ifdef __cplusplus
mbed_official 15:a81a8d6c1dfe 24 extern "C" {
mbed_official 15:a81a8d6c1dfe 25 #endif
mbed_official 15:a81a8d6c1dfe 26
mbed_official 15:a81a8d6c1dfe 27 #define _SERCOM_SPI_NAME(n, unused) \
mbed_official 15:a81a8d6c1dfe 28 SPI##n,
mbed_official 15:a81a8d6c1dfe 29
mbed_official 15:a81a8d6c1dfe 30 #define _SERCOM_PAD_NAME(n, pad) \
mbed_official 15:a81a8d6c1dfe 31 SERCOM##n##_PAD##pad = ((n & 0xF) | ((pad & 0xF) << 4)),
mbed_official 15:a81a8d6c1dfe 32
mbed_official 15:a81a8d6c1dfe 33 #define _SERCOM_I2C_NAME(n, unused) \
mbed_official 15:a81a8d6c1dfe 34 I2C##n,
mbed_official 15:a81a8d6c1dfe 35
mbed_official 15:a81a8d6c1dfe 36
mbed_official 15:a81a8d6c1dfe 37
mbed_official 15:a81a8d6c1dfe 38 typedef enum {
mbed_official 15:a81a8d6c1dfe 39 UART_0 = (int)0x42000800UL, // Base address of SERCOM0
mbed_official 15:a81a8d6c1dfe 40 UART_1 = (int)0x42000C00UL, // Base address of SERCOM1
mbed_official 15:a81a8d6c1dfe 41 UART_2 = (int)0x42001000UL, // Base address of SERCOM2
mbed_official 15:a81a8d6c1dfe 42 UART_3 = (int)0x42001400UL, // Base address of SERCOM3
mbed_official 15:a81a8d6c1dfe 43 UART_4 = (int)0x42001800UL, // Base address of SERCOM4
mbed_official 15:a81a8d6c1dfe 44 UART_5 = (int)0x42001C00UL // Base address of SERCOM5
mbed_official 15:a81a8d6c1dfe 45 } UARTName;
mbed_official 15:a81a8d6c1dfe 46
mbed_official 15:a81a8d6c1dfe 47 typedef enum {
mbed_official 15:a81a8d6c1dfe 48 ADC_0 = 0x0ul,
mbed_official 15:a81a8d6c1dfe 49 ADC_1 = 0x1ul,
mbed_official 15:a81a8d6c1dfe 50 ADC_2 = 0x2ul,
mbed_official 15:a81a8d6c1dfe 51 ADC_3 = 0x3ul,
mbed_official 15:a81a8d6c1dfe 52 ADC_4 = 0x4ul,
mbed_official 15:a81a8d6c1dfe 53 ADC_5 = 0x5ul,
mbed_official 15:a81a8d6c1dfe 54 ADC_6 = 0x6ul,
mbed_official 15:a81a8d6c1dfe 55 ADC_7 = 0x7ul,
mbed_official 15:a81a8d6c1dfe 56 ADC_10 = 0xAul,
mbed_official 15:a81a8d6c1dfe 57 ADC_11 = 0xBul,
mbed_official 15:a81a8d6c1dfe 58 ADC_16 = 0x10ul,
mbed_official 15:a81a8d6c1dfe 59 ADC_17 = 0x11ul,
mbed_official 15:a81a8d6c1dfe 60 ADC_18 = 0x12ul,
mbed_official 15:a81a8d6c1dfe 61 ADC_19 = 0x13ul
mbed_official 15:a81a8d6c1dfe 62 } ADCName;
mbed_official 15:a81a8d6c1dfe 63
mbed_official 15:a81a8d6c1dfe 64 typedef enum {
mbed_official 15:a81a8d6c1dfe 65 DAC_0 = 0x42004800UL
mbed_official 15:a81a8d6c1dfe 66 } DACName;
mbed_official 15:a81a8d6c1dfe 67
mbed_official 15:a81a8d6c1dfe 68 typedef enum { // for each channel
mbed_official 15:a81a8d6c1dfe 69 EXTINT_0 = 0,
mbed_official 15:a81a8d6c1dfe 70 EXTINT_1,
mbed_official 15:a81a8d6c1dfe 71 EXTINT_2,
mbed_official 15:a81a8d6c1dfe 72 EXTINT_3,
mbed_official 15:a81a8d6c1dfe 73 EXTINT_4,
mbed_official 15:a81a8d6c1dfe 74 EXTINT_5,
mbed_official 15:a81a8d6c1dfe 75 EXTINT_6,
mbed_official 15:a81a8d6c1dfe 76 EXTINT_7,
mbed_official 15:a81a8d6c1dfe 77 EXTINT_8,
mbed_official 15:a81a8d6c1dfe 78 EXTINT_9,
mbed_official 15:a81a8d6c1dfe 79 EXTINT_10,
mbed_official 15:a81a8d6c1dfe 80 EXTINT_11,
mbed_official 15:a81a8d6c1dfe 81 EXTINT_12,
mbed_official 15:a81a8d6c1dfe 82 EXTINT_13,
mbed_official 15:a81a8d6c1dfe 83 EXTINT_14,
mbed_official 15:a81a8d6c1dfe 84 EXTINT_15
mbed_official 15:a81a8d6c1dfe 85 } EXTINTName;
mbed_official 15:a81a8d6c1dfe 86
mbed_official 15:a81a8d6c1dfe 87 typedef enum {
mbed_official 15:a81a8d6c1dfe 88 MREPEAT(SERCOM_INST_NUM, _SERCOM_SPI_NAME, ~)
mbed_official 15:a81a8d6c1dfe 89 } SPIName;
mbed_official 15:a81a8d6c1dfe 90
mbed_official 15:a81a8d6c1dfe 91 typedef enum {
mbed_official 15:a81a8d6c1dfe 92 MREPEAT(SERCOM_INST_NUM, _SERCOM_I2C_NAME, ~)
mbed_official 15:a81a8d6c1dfe 93 } I2CName;
mbed_official 15:a81a8d6c1dfe 94
mbed_official 15:a81a8d6c1dfe 95 typedef enum {
mbed_official 15:a81a8d6c1dfe 96 /* Pad 0 definitions */
mbed_official 15:a81a8d6c1dfe 97 MREPEAT(SERCOM_INST_NUM, _SERCOM_PAD_NAME, 0)
mbed_official 15:a81a8d6c1dfe 98
mbed_official 15:a81a8d6c1dfe 99 /* Pad 1 definitions */
mbed_official 15:a81a8d6c1dfe 100 MREPEAT(SERCOM_INST_NUM, _SERCOM_PAD_NAME, 1)
mbed_official 15:a81a8d6c1dfe 101
mbed_official 15:a81a8d6c1dfe 102 /* Pad 2 definitions */
mbed_official 15:a81a8d6c1dfe 103 MREPEAT(SERCOM_INST_NUM, _SERCOM_PAD_NAME, 2)
mbed_official 15:a81a8d6c1dfe 104
mbed_official 15:a81a8d6c1dfe 105 /* Pad 3 definitions */
mbed_official 15:a81a8d6c1dfe 106 MREPEAT(SERCOM_INST_NUM, _SERCOM_PAD_NAME, 3)
mbed_official 15:a81a8d6c1dfe 107 } SercomPadName;
mbed_official 15:a81a8d6c1dfe 108
mbed_official 15:a81a8d6c1dfe 109 typedef enum {
mbed_official 15:a81a8d6c1dfe 110 PWM_0 = (0x42002000UL), /**< \brief (TCC0) APB Base Address */
mbed_official 15:a81a8d6c1dfe 111 PWM_1 = (0x42002400UL), /**< \brief (TCC1) APB Base Address */
mbed_official 15:a81a8d6c1dfe 112 PWM_2 = (0x42002800UL), /**< \brief (TCC2) APB Base Address */
mbed_official 15:a81a8d6c1dfe 113 } PWMName;
mbed_official 15:a81a8d6c1dfe 114
mbed_official 15:a81a8d6c1dfe 115 struct pwm_pin_channel {
mbed_official 15:a81a8d6c1dfe 116 PinName pin;
mbed_official 15:a81a8d6c1dfe 117 PWMName pwm;
mbed_official 15:a81a8d6c1dfe 118 uint8_t channel_index;
mbed_official 15:a81a8d6c1dfe 119 };
mbed_official 15:a81a8d6c1dfe 120
mbed_official 15:a81a8d6c1dfe 121 #define STDIO_UART_TX USBTX
mbed_official 15:a81a8d6c1dfe 122 #define STDIO_UART_RX USBRX
mbed_official 15:a81a8d6c1dfe 123 #define STDIO_UART UART_3
mbed_official 15:a81a8d6c1dfe 124
mbed_official 15:a81a8d6c1dfe 125 // Default peripherals
mbed_official 15:a81a8d6c1dfe 126 #define MBED_SPI0 PA18, PA16, PA19, PA17
mbed_official 15:a81a8d6c1dfe 127
mbed_official 15:a81a8d6c1dfe 128 #define MBED_UART0 PA04, PA05
mbed_official 15:a81a8d6c1dfe 129 #define MBED_UARTUSB USBTX, USBRX
mbed_official 15:a81a8d6c1dfe 130
mbed_official 15:a81a8d6c1dfe 131 #define MBED_I2C0 PA08, PA09
mbed_official 15:a81a8d6c1dfe 132
mbed_official 15:a81a8d6c1dfe 133 #define MBED_ANALOGOUT0 PA02
mbed_official 15:a81a8d6c1dfe 134
mbed_official 15:a81a8d6c1dfe 135 #define MBED_ANALOGIN0 PA03
mbed_official 15:a81a8d6c1dfe 136 #define MBED_ANALOGIN1 PA08
mbed_official 15:a81a8d6c1dfe 137 #define MBED_ANALOGIN2 PB09
mbed_official 15:a81a8d6c1dfe 138 #define MBED_ANALOGIN3 PA04
mbed_official 15:a81a8d6c1dfe 139 #define MBED_ANALOGIN4 PA05
mbed_official 15:a81a8d6c1dfe 140 #define MBED_ANALOGIN5 PA06
mbed_official 15:a81a8d6c1dfe 141 #define MBED_ANALOGIN7 PA07
mbed_official 15:a81a8d6c1dfe 142
mbed_official 15:a81a8d6c1dfe 143 #define MBED_PWMOUT0 PA18
mbed_official 15:a81a8d6c1dfe 144 #define MBED_PWMOUT1 PA19
mbed_official 15:a81a8d6c1dfe 145
mbed_official 15:a81a8d6c1dfe 146 #ifdef __cplusplus
mbed_official 15:a81a8d6c1dfe 147 }
mbed_official 15:a81a8d6c1dfe 148 #endif
mbed_official 15:a81a8d6c1dfe 149
mbed_official 15:a81a8d6c1dfe 150 #endif