mbed library sources

Fork of mbed-src by mbed official

Committer:
mbed_official
Date:
Wed Jul 01 09:45:11 2015 +0100
Revision:
579:53297373a894
Child:
592:a274ee790e56
Synchronized with git revision d5b4d2ab9c47edb4dc5776e7177b0c2263459081

Full URL: https://github.com/mbedmicro/mbed/commit/d5b4d2ab9c47edb4dc5776e7177b0c2263459081/

Initial version of drivers for SAMR21

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 579:53297373a894 1 /* mbed Microcontroller Library
mbed_official 579:53297373a894 2 * Copyright (c) 2006-2013 ARM Limited
mbed_official 579:53297373a894 3 *
mbed_official 579:53297373a894 4 * Licensed under the Apache License, Version 2.0 (the "License");
mbed_official 579:53297373a894 5 * you may not use this file except in compliance with the License.
mbed_official 579:53297373a894 6 * You may obtain a copy of the License at
mbed_official 579:53297373a894 7 *
mbed_official 579:53297373a894 8 * http://www.apache.org/licenses/LICENSE-2.0
mbed_official 579:53297373a894 9 *
mbed_official 579:53297373a894 10 * Unless required by applicable law or agreed to in writing, software
mbed_official 579:53297373a894 11 * distributed under the License is distributed on an "AS IS" BASIS,
mbed_official 579:53297373a894 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mbed_official 579:53297373a894 13 * See the License for the specific language governing permissions and
mbed_official 579:53297373a894 14 * limitations under the License.
mbed_official 579:53297373a894 15 */
mbed_official 579:53297373a894 16 #ifndef MBED_OBJECTS_H
mbed_official 579:53297373a894 17 #define MBED_OBJECTS_H
mbed_official 579:53297373a894 18
mbed_official 579:53297373a894 19 #include "cmsis.h"
mbed_official 579:53297373a894 20 #include "PortNames.h"
mbed_official 579:53297373a894 21 #include "PeripheralNames.h"
mbed_official 579:53297373a894 22 #include "gpio_object.h"
mbed_official 579:53297373a894 23
mbed_official 579:53297373a894 24 #ifdef __cplusplus
mbed_official 579:53297373a894 25 extern "C" {
mbed_official 579:53297373a894 26 #endif
mbed_official 579:53297373a894 27
mbed_official 579:53297373a894 28 struct gpio_irq_s {
mbed_official 579:53297373a894 29 uint32_t port;
mbed_official 579:53297373a894 30 uint32_t pin;
mbed_official 579:53297373a894 31 uint32_t ch;
mbed_official 579:53297373a894 32 };
mbed_official 579:53297373a894 33
mbed_official 579:53297373a894 34 struct port_s {
mbed_official 579:53297373a894 35 __IO uint32_t *OUTCLR;
mbed_official 579:53297373a894 36 __IO uint32_t *OUTSET;
mbed_official 579:53297373a894 37 __I uint32_t *IN;
mbed_official 579:53297373a894 38
mbed_official 579:53297373a894 39 PortName port;
mbed_official 579:53297373a894 40 uint32_t mask;
mbed_official 579:53297373a894 41 };
mbed_official 579:53297373a894 42
mbed_official 579:53297373a894 43 struct serial_s {
mbed_official 579:53297373a894 44 Sercom *usart;
mbed_official 579:53297373a894 45 uint32_t index;
mbed_official 579:53297373a894 46 uint32_t parity;
mbed_official 579:53297373a894 47 uint32_t stopbits;
mbed_official 579:53297373a894 48 uint32_t character_size;
mbed_official 579:53297373a894 49 uint32_t mux_setting;
mbed_official 579:53297373a894 50 uint32_t baudrate;
mbed_official 579:53297373a894 51 uint32_t pinmux_pad0;
mbed_official 579:53297373a894 52 uint32_t pinmux_pad1;
mbed_official 579:53297373a894 53 uint32_t pinmux_pad2;
mbed_official 579:53297373a894 54 uint32_t pinmux_pad3;
mbed_official 579:53297373a894 55 PinName rxpin;
mbed_official 579:53297373a894 56 PinName txpin;
mbed_official 579:53297373a894 57 #if DEVICE_SERIAL_ASYNCH
mbed_official 579:53297373a894 58 uint32_t events;
mbed_official 579:53297373a894 59 #endif
mbed_official 579:53297373a894 60 };
mbed_official 579:53297373a894 61 /*
mbed_official 579:53297373a894 62 struct pwmout_s {
mbed_official 579:53297373a894 63 __IO uint32_t *MR;
mbed_official 579:53297373a894 64 PWMName pwm;
mbed_official 579:53297373a894 65 };
mbed_official 579:53297373a894 66
mbed_official 579:53297373a894 67 struct serial_s {
mbed_official 579:53297373a894 68 LPC_UART_TypeDef *uart;
mbed_official 579:53297373a894 69 int index;
mbed_official 579:53297373a894 70 };
mbed_official 579:53297373a894 71
mbed_official 579:53297373a894 72 struct analogin_s {
mbed_official 579:53297373a894 73 ADCName adc;
mbed_official 579:53297373a894 74 };
mbed_official 579:53297373a894 75
mbed_official 579:53297373a894 76 struct dac_s {
mbed_official 579:53297373a894 77 DACName dac;
mbed_official 579:53297373a894 78 };
mbed_official 579:53297373a894 79
mbed_official 579:53297373a894 80 struct can_s {
mbed_official 579:53297373a894 81 LPC_CAN_TypeDef *dev;
mbed_official 579:53297373a894 82 int index;
mbed_official 579:53297373a894 83 };
mbed_official 579:53297373a894 84
mbed_official 579:53297373a894 85 struct i2c_s {
mbed_official 579:53297373a894 86 LPC_I2C_TypeDef *i2c;
mbed_official 579:53297373a894 87 };
mbed_official 579:53297373a894 88 */
mbed_official 579:53297373a894 89
mbed_official 579:53297373a894 90 struct spi_s {
mbed_official 579:53297373a894 91 Sercom *spi;
mbed_official 579:53297373a894 92 uint8_t mode;
mbed_official 579:53297373a894 93 #if DEVICE_SPI_ASYNCH
mbed_official 579:53297373a894 94 uint8_t status;
mbed_official 579:53297373a894 95 uint32_t mask;
mbed_official 579:53297373a894 96 uint32_t event;
mbed_official 579:53297373a894 97 void *tx_buffer;
mbed_official 579:53297373a894 98 void *rx_buffer;
mbed_official 579:53297373a894 99 uint8_t dma_usage;
mbed_official 579:53297373a894 100 #endif
mbed_official 579:53297373a894 101 };
mbed_official 579:53297373a894 102
mbed_official 579:53297373a894 103 #ifdef __cplusplus
mbed_official 579:53297373a894 104 }
mbed_official 579:53297373a894 105 #endif
mbed_official 579:53297373a894 106
mbed_official 579:53297373a894 107 #endif