[EFM32] Condense common header files

First wave of squashing header files in order to get to a more sensible folder tree.
* Moved header files with 100% similarity to common folder
* Created a CommonPinNames.h header containing the base pin names P[A-F][0-15] and NC
pull/3122/head
Steven Cooreman 2016-10-22 16:40:38 +02:00
parent 9cd14e29a7
commit b766c48744
23 changed files with 112 additions and 831 deletions

View File

@ -23,30 +23,14 @@
#ifndef MBED_PINNAMES_H
#define MBED_PINNAMES_H
#include "cmsis.h"
#include "em_gpio.h"
#include "Modules.h"
#include "CommonPinNames.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
PIN_INPUT = 0,
PIN_OUTPUT = 1
} PinDirection;
typedef enum {
/* EFM32 Pin Names
* First 4 bits represent pin number, the remaining
* bits represent port number (A = 0, B = 1, ...)
*/
PA0 = 0 << 4, PA1, PA2, PA3, PA4, PA5, PA6, PA7, PA8, PA9, PA10, PA11, PA12, PA13, PA14, PA15,
PB0 = 1 << 4, PB1, PB2, PB3, PB4, PB5, PB6, PB7, PB8, PB9, PB10, PB11, PB12, PB13, PB14, PB15,
PC0 = 2 << 4, PC1, PC2, PC3, PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15,
PD0 = 3 << 4, PD1, PD2, PD3, PD4, PD5, PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15,
PE0 = 4 << 4, PE1, PE2, PE3, PE4, PE5, PE6, PE7, PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15,
PF0 = 5 << 4, PF1, PF2, PF3, PF4, PF5, PF6, PF7, PF8, PF9, PF10, PF11, PF12, PF13, PF14, PF15,
EFM32_STANDARD_PIN_DEFINITIONS,
/* Starter Kit says LED0 and LED1, but mbed expects 1 and 2. This way using 1 and 2 or 0 and 1 will work. */
LED0 = PE2,
@ -66,53 +50,9 @@ typedef enum {
SERIAL_RX = PD1,
USBTX = PE0,
USBRX = PE1,
EFM_BC_EN = PF7,
/* Not connected */
NC = (int) 0xFFFFFFFF
EFM_BC_EN = PF7
} PinName;
/* 0x10 represents setting the DOUT register (see efm32 modes in ref. manual) */
typedef enum {
// EFM32 pin modes
Disabled = gpioModeDisabled,
DisabledPullUp = gpioModeDisabled | 0x10,
Input = gpioModeInput,
InputFilter = gpioModeInput | 0x10,
InputPullDown = gpioModeInputPull,
InputPullUp = gpioModeInputPull | 0x10,
InputPullFilterDown = gpioModeInputPullFilter,
InputPullFilterUp = gpioModeInputPullFilter | 0x10,
PushPull = gpioModePushPull,
PushPullDrive = gpioModePushPullDrive,
WiredOr = gpioModeWiredOr,
WiredOrPullDown = gpioModeWiredOrPullDown,
WiredAnd = gpioModeWiredAnd,
WiredAndFilter = gpioModeWiredAndFilter,
WiredAndPullUp = gpioModeWiredAndPullUp,
WiredAndPullUpFilter = gpioModeWiredAndPullUpFilter,
WiredAndDrive = gpioModeWiredAndDrive,
WiredAndDriveFilter = gpioModeWiredAndDriveFilter,
WiredAndDrivePullUp = gpioModeWiredAndDrivePullUp,
WiredAndDrivePullUpFilter = gpioModeWiredAndDrivePullUpFilter,
/* mbed modes:
* PullUp, PullDown, PullNone, OpenDrain
*
* mbed default digital input mode:
* PullDefault
*
* mbed default digital output mode:
* PullNone
*/
PullUp = InputPullUp,
PullDown = InputPullDown,
OpenDrain = WiredAnd,
PullNone = PushPull,
PullDefault = PushPull
} PinMode;
#ifdef __cplusplus
}
#endif

View File

@ -23,29 +23,14 @@
#ifndef MBED_PINNAMES_H
#define MBED_PINNAMES_H
#include "cmsis.h"
#include "em_gpio.h"
#include "CommonPinNames.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
PIN_INPUT = 0,
PIN_OUTPUT = 1
} PinDirection;
typedef enum {
/* EFM32 Pin Names
* First 4 bits represent pin number, the remaining
* bits represent port number (A = 0, B = 1, ...)
*/
PA0 = 0 << 4, PA1, PA2, PA3, PA4, PA5, PA6, PA7, PA8, PA9, PA10, PA11, PA12, PA13, PA14, PA15,
PB0 = 1 << 4, PB1, PB2, PB3, PB4, PB5, PB6, PB7, PB8, PB9, PB10, PB11, PB12, PB13, PB14, PB15,
PC0 = 2 << 4, PC1, PC2, PC3, PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15,
PD0 = 3 << 4, PD1, PD2, PD3, PD4, PD5, PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15,
PE0 = 4 << 4, PE1, PE2, PE3, PE4, PE5, PE6, PE7, PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15,
PF0 = 5 << 4, PF1, PF2, PF3, PF4, PF5, PF6, PF7, PF8, PF9, PF10, PF11, PF12, PF13, PF14, PF15,
EFM32_STANDARD_PIN_DEFINITIONS,
/* Starter Kit says LED0 and LED1, but mbed expects 1 and 2. This way using 1 and 2 or 0 and 1 will work. */
LED0 = PF4,
@ -65,53 +50,9 @@ typedef enum {
SERIAL_RX = PE11,
USBTX = PF2,
USBRX = PA0,
EFM_BC_EN = PA9,
/* Not connected */
NC = (int) 0xFFFFFFFF
EFM_BC_EN = PA9
} PinName;
/* 0x10 represents setting the DOUT register (see efm32 modes in ref. manual) */
typedef enum {
/* EFM32 pin modes */
Disabled = gpioModeDisabled,
DisabledPullUp = gpioModeDisabled | 0x10,
Input = gpioModeInput,
InputFilter = gpioModeInput | 0x10,
InputPullDown = gpioModeInputPull,
InputPullUp = gpioModeInputPull | 0x10,
InputPullFilterDown = gpioModeInputPullFilter,
InputPullFilterUp = gpioModeInputPullFilter | 0x10,
PushPull = gpioModePushPull,
PushPullDrive = gpioModePushPullDrive,
WiredOr = gpioModeWiredOr,
WiredOrPullDown = gpioModeWiredOrPullDown,
WiredAnd = gpioModeWiredAnd,
WiredAndFilter = gpioModeWiredAndFilter,
WiredAndPullUp = gpioModeWiredAndPullUp,
WiredAndPullUpFilter = gpioModeWiredAndPullUpFilter,
WiredAndDrive = gpioModeWiredAndDrive,
WiredAndDriveFilter = gpioModeWiredAndDriveFilter,
WiredAndDrivePullUp = gpioModeWiredAndDrivePullUp,
WiredAndDrivePullUpFilter = gpioModeWiredAndDrivePullUpFilter,
/* mbed modes:
* PullUp, PullDown, PullNone, OpenDrain
*
* mbed default digital input mode:
* PullDefault
*
* mbed default digital output mode:
* PullNone
*/
PullUp = InputPullUp,
PullDown = InputPullDown,
OpenDrain = WiredAnd,
PullNone = PushPull,
PullDefault = PushPull
} PinMode;
#ifdef __cplusplus
}
#endif

View File

@ -1,44 +0,0 @@
/***************************************************************************//**
* @file PortNames.h
*******************************************************************************
* @section License
* <b>(C) Copyright 2015 Silicon Labs, http://www.silabs.com</b>
*******************************************************************************
*
* SPDX-License-Identifier: Apache-2.0
*
* 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_PORTNAMES_H
#define MBED_PORTNAMES_H
#include "em_gpio.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
PortA = gpioPortA, /**< Port A */
PortB = gpioPortB, /**< Port B */
PortC = gpioPortC, /**< Port C */
PortD = gpioPortD, /**< Port D */
PortE = gpioPortE, /**< Port E */
PortF = gpioPortF /**< Port F */
} PortName;
#ifdef __cplusplus
}
#endif
#endif

View File

@ -1,49 +0,0 @@
/***************************************************************************//**
* @file device.h
*******************************************************************************
* @section License
* <b>(C) Copyright 2015 Silicon Labs, http://www.silabs.com</b>
*******************************************************************************
*
* SPDX-License-Identifier: Apache-2.0
*
* 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_DEVICE_H
#define MBED_DEVICE_H
// Redefine OPEN_MAX from sys_limits.h to save on RAM.
// Effect: maximum amount of file handlers = OPEN_MAX
// This is not going to have an impact, since this is a RAM-limited part anyway.
#define OPEN_MAX 24
#include "objects.h"
#include "Modules.h"
#include "device_peripherals.h"
#endif

View File

@ -23,29 +23,14 @@
#ifndef MBED_PINNAMES_H
#define MBED_PINNAMES_H
#include "cmsis.h"
#include "em_gpio.h"
#include "CommonPinNames.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
PIN_INPUT = 0,
PIN_OUTPUT = 1
} PinDirection;
typedef enum {
/* EFM32 Pin Names
* First 4 bits represent pin number, the remaining
* bits represent port number (A = 0, B = 1, ...)
*/
PA0 = 0 << 4, PA1, PA2, PA3, PA4, PA5, PA6, PA7, PA8, PA9, PA10, PA11, PA12, PA13, PA14, PA15,
PB0 = 1 << 4, PB1, PB2, PB3, PB4, PB5, PB6, PB7, PB8, PB9, PB10, PB11, PB12, PB13, PB14, PB15,
PC0 = 2 << 4, PC1, PC2, PC3, PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15,
PD0 = 3 << 4, PD1, PD2, PD3, PD4, PD5, PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15,
PE0 = 4 << 4, PE1, PE2, PE3, PE4, PE5, PE6, PE7, PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15,
PF0 = 5 << 4, PF1, PF2, PF3, PF4, PF5, PF6, PF7, PF8, PF9, PF10, PF11, PF12, PF13, PF14, PF15,
EFM32_STANDARD_PIN_DEFINITIONS,
/* Starter Kit says LED0 and LED1, but mbed expects 1 and 2. This way using 1 and 2 or 0 and 1 will work. */
LED0 = PE2,
@ -65,53 +50,9 @@ typedef enum {
SERIAL_RX = PD1,
USBTX = PE0,
USBRX = PE1,
EFM_BC_EN = PF7,
/* Not connected */
NC = (int) 0xFFFFFFFF
EFM_BC_EN = PF7
} PinName;
/* 0x10 represents setting the DOUT register (see efm32 modes in ref. manual) */
typedef enum {
/* EFM32 pin modes */
Disabled = gpioModeDisabled,
DisabledPullUp = gpioModeDisabled | 0x10,
Input = gpioModeInput,
InputFilter = gpioModeInput | 0x10,
InputPullDown = gpioModeInputPull,
InputPullUp = gpioModeInputPull | 0x10,
InputPullFilterDown = gpioModeInputPullFilter,
InputPullFilterUp = gpioModeInputPullFilter | 0x10,
PushPull = gpioModePushPull,
PushPullDrive = gpioModePushPullDrive,
WiredOr = gpioModeWiredOr,
WiredOrPullDown = gpioModeWiredOrPullDown,
WiredAnd = gpioModeWiredAnd,
WiredAndFilter = gpioModeWiredAndFilter,
WiredAndPullUp = gpioModeWiredAndPullUp,
WiredAndPullUpFilter = gpioModeWiredAndPullUpFilter,
WiredAndDrive = gpioModeWiredAndDrive,
WiredAndDriveFilter = gpioModeWiredAndDriveFilter,
WiredAndDrivePullUp = gpioModeWiredAndDrivePullUp,
WiredAndDrivePullUpFilter = gpioModeWiredAndDrivePullUpFilter,
/* mbed modes:
* PullUp, PullDown, PullNone, OpenDrain
*
* mbed default digital input mode:
* PullDefault
*
* mbed default digital output mode:
* PullNone
*/
PullUp = InputPullUp,
PullDown = InputPullDown,
OpenDrain = WiredAnd,
PullNone = PushPull,
PullDefault = PushPull
} PinMode;
#ifdef __cplusplus
}
#endif

View File

@ -1,44 +0,0 @@
/***************************************************************************//**
* @file PortNames.h
*******************************************************************************
* @section License
* <b>(C) Copyright 2015 Silicon Labs, http://www.silabs.com</b>
*******************************************************************************
*
* SPDX-License-Identifier: Apache-2.0
*
* 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_PORTNAMES_H
#define MBED_PORTNAMES_H
#include "em_gpio.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
PortA = gpioPortA, /**< Port A */
PortB = gpioPortB, /**< Port B */
PortC = gpioPortC, /**< Port C */
PortD = gpioPortD, /**< Port D */
PortE = gpioPortE, /**< Port E */
PortF = gpioPortF /**< Port F */
} PortName;
#ifdef __cplusplus
}
#endif
#endif

View File

@ -1,44 +0,0 @@
/***************************************************************************//**
* @file device.h
*******************************************************************************
* @section License
* <b>(C) Copyright 2015 Silicon Labs, http://www.silabs.com</b>
*******************************************************************************
*
* SPDX-License-Identifier: Apache-2.0
*
* 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_DEVICE_H
#define MBED_DEVICE_H
#include "objects.h"
#include "Modules.h"
#include "device_peripherals.h"
#endif

View File

@ -23,29 +23,14 @@
#ifndef MBED_PINNAMES_H
#define MBED_PINNAMES_H
#include "cmsis.h"
#include "em_gpio.h"
#include "CommonPinNames.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
PIN_INPUT = 0,
PIN_OUTPUT = 1
} PinDirection;
typedef enum {
/* EFM32 Pin Names
* First 4 bits represent pin number, the remaining
* bits represent port number (A = 0, B = 1, ...)
*/
PA0 = 0 << 4, PA1, PA2, PA3, PA4, PA5, PA6, PA7, PA8, PA9, PA10, PA11, PA12, PA13, PA14, PA15,
PB0 = 1 << 4, PB1, PB2, PB3, PB4, PB5, PB6, PB7, PB8, PB9, PB10, PB11, PB12, PB13, PB14, PB15,
PC0 = 2 << 4, PC1, PC2, PC3, PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15,
PD0 = 3 << 4, PD1, PD2, PD3, PD4, PD5, PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15,
PE0 = 4 << 4, PE1, PE2, PE3, PE4, PE5, PE6, PE7, PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15,
PF0 = 5 << 4, PF1, PF2, PF3, PF4, PF5, PF6, PF7, PF8, PF9, PF10, PF11, PF12, PF13, PF14, PF15,
EFM32_STANDARD_PIN_DEFINITIONS,
/* Starter Kit says LED0 and LED1, but mbed expects 1 and 2. This way using 1 and 2 or 0 and 1 will work. */
LED0 = PF4,
@ -67,48 +52,9 @@ typedef enum {
/* Board Controller UART (USB) + enable pin */
USBTX = PA0,
USBRX = PA1,
EFM_BC_EN = PA5,
/* Not connected */
NC = (int) 0xFFFFFFFF
EFM_BC_EN = PA5
} PinName;
/* 0x10 represents setting the DOUT register (see efm32 modes in ref. manual) */
typedef enum {
/* EFM32 pin modes */
Disabled = gpioModeDisabled,
DisabledPullUp = gpioModeDisabled | 0x10,
Input = gpioModeInput,
InputFilter = gpioModeInput | 0x10,
InputPullDown = gpioModeInputPull,
InputPullUp = gpioModeInputPull | 0x10,
InputPullFilterDown = gpioModeInputPullFilter,
InputPullFilterUp = gpioModeInputPullFilter | 0x10,
PushPull = gpioModePushPull,
WiredOr = gpioModeWiredOr,
WiredOrPullDown = gpioModeWiredOrPullDown,
WiredAnd = gpioModeWiredAnd,
WiredAndFilter = gpioModeWiredAndFilter,
WiredAndPullUp = gpioModeWiredAndPullUp,
WiredAndPullUpFilter = gpioModeWiredAndPullUpFilter,
/* mbed modes:
* PullUp, PullDown, PullNone, OpenDrain
*
* mbed default digital input mode:
* PullDefault
*
* mbed default digital output mode:
* PullNone
*/
PullUp = InputPullUp,
PullDown = InputPullDown,
OpenDrain = WiredAnd,
PullNone = PushPull,
PullDefault = PushPull
} PinMode;
#ifdef __cplusplus
}
#endif

View File

@ -1,43 +0,0 @@
/***************************************************************************//**
* @file PortNames.h
*******************************************************************************
* @section License
* <b>(C) Copyright 2015 Silicon Labs, http://www.silabs.com</b>
*******************************************************************************
*
* SPDX-License-Identifier: Apache-2.0
*
* 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_PORTNAMES_H
#define MBED_PORTNAMES_H
#include "em_gpio.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
PortA = gpioPortA, /**< Port A */
PortB = gpioPortB, /**< Port B */
PortC = gpioPortC, /**< Port C */
PortD = gpioPortD, /**< Port D */
PortF = gpioPortF /**< Port F */
} PortName;
#ifdef __cplusplus
}
#endif
#endif

View File

@ -1,44 +0,0 @@
/***************************************************************************//**
* @file device.h
*******************************************************************************
* @section License
* <b>(C) Copyright 2015 Silicon Labs, http://www.silabs.com</b>
*******************************************************************************
*
* SPDX-License-Identifier: Apache-2.0
*
* 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_DEVICE_H
#define MBED_DEVICE_H
#include "objects.h"
#include "Modules.h"
#include "device_peripherals.h"
#endif

View File

@ -23,29 +23,14 @@
#ifndef MBED_PINNAMES_H
#define MBED_PINNAMES_H
#include "cmsis.h"
#include "em_gpio.h"
#include "CommonPinNames.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
PIN_INPUT = 0,
PIN_OUTPUT = 1
} PinDirection;
typedef enum {
/* EFM32 Pin Names
* First 4 bits represent pin number, the remaining
* bits represent port number (A = 0, B = 1, ...)
*/
PA0 = 0 << 4, PA1, PA2, PA3, PA4, PA5, PA6, PA7, PA8, PA9, PA10, PA11, PA12, PA13, PA14, PA15,
PB0 = 1 << 4, PB1, PB2, PB3, PB4, PB5, PB6, PB7, PB8, PB9, PB10, PB11, PB12, PB13, PB14, PB15,
PC0 = 2 << 4, PC1, PC2, PC3, PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15,
PD0 = 3 << 4, PD1, PD2, PD3, PD4, PD5, PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15,
PE0 = 4 << 4, PE1, PE2, PE3, PE4, PE5, PE6, PE7, PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15,
PF0 = 5 << 4, PF1, PF2, PF3, PF4, PF5, PF6, PF7, PF8, PF9, PF10, PF11, PF12, PF13, PF14, PF15,
EFM32_STANDARD_PIN_DEFINITIONS,
/* Starter Kit says LED0 and LED1, but mbed expects 1 and 2. This way using 1 and 2 or 0 and 1 will work. */
LED0 = PE2,
@ -65,53 +50,9 @@ typedef enum {
SERIAL_RX = PD1,
USBTX = PE0,
USBRX = PE1,
EFM_BC_EN = PF7,
/* Not connected */
NC = (int) 0xFFFFFFFF
EFM_BC_EN = PF7
} PinName;
/* 0x10 represents setting the DOUT register (see efm32 modes in ref. manual) */
typedef enum {
/* EFM32 pin modes */
Disabled = gpioModeDisabled,
DisabledPullUp = gpioModeDisabled | 0x10,
Input = gpioModeInput,
InputFilter = gpioModeInput | 0x10,
InputPullDown = gpioModeInputPull,
InputPullUp = gpioModeInputPull | 0x10,
InputPullFilterDown = gpioModeInputPullFilter,
InputPullFilterUp = gpioModeInputPullFilter | 0x10,
PushPull = gpioModePushPull,
PushPullDrive = gpioModePushPullDrive,
WiredOr = gpioModeWiredOr,
WiredOrPullDown = gpioModeWiredOrPullDown,
WiredAnd = gpioModeWiredAnd,
WiredAndFilter = gpioModeWiredAndFilter,
WiredAndPullUp = gpioModeWiredAndPullUp,
WiredAndPullUpFilter = gpioModeWiredAndPullUpFilter,
WiredAndDrive = gpioModeWiredAndDrive,
WiredAndDriveFilter = gpioModeWiredAndDriveFilter,
WiredAndDrivePullUp = gpioModeWiredAndDrivePullUp,
WiredAndDrivePullUpFilter = gpioModeWiredAndDrivePullUpFilter,
/* mbed modes:
* PullUp, PullDown, PullNone, OpenDrain
*
* mbed default digital input mode:
* PullDefault
*
* mbed default digital output mode:
* PullNone
*/
PullUp = InputPullUp,
PullDown = InputPullDown,
OpenDrain = WiredAnd,
PullNone = PushPull,
PullDefault = PushPull
} PinMode;
#ifdef __cplusplus
}
#endif

View File

@ -1,44 +0,0 @@
/***************************************************************************//**
* @file PortNames.h
*******************************************************************************
* @section License
* <b>(C) Copyright 2015 Silicon Labs, http://www.silabs.com</b>
*******************************************************************************
*
* SPDX-License-Identifier: Apache-2.0
*
* 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_PORTNAMES_H
#define MBED_PORTNAMES_H
#include "em_gpio.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
PortA = gpioPortA, /**< Port A */
PortB = gpioPortB, /**< Port B */
PortC = gpioPortC, /**< Port C */
PortD = gpioPortD, /**< Port D */
PortE = gpioPortE, /**< Port E */
PortF = gpioPortF /**< Port F */
} PortName;
#ifdef __cplusplus
}
#endif
#endif

View File

@ -1,44 +0,0 @@
/***************************************************************************//**
* @file device.h
*******************************************************************************
* @section License
* <b>(C) Copyright 2015 Silicon Labs, http://www.silabs.com</b>
*******************************************************************************
*
* SPDX-License-Identifier: Apache-2.0
*
* 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_DEVICE_H
#define MBED_DEVICE_H
#include "objects.h"
#include "Modules.h"
#include "device_peripherals.h"
#endif

View File

@ -23,29 +23,14 @@
#ifndef MBED_PINNAMES_H
#define MBED_PINNAMES_H
#include "cmsis.h"
#include "em_gpio.h"
#include "CommonPinNames.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
PIN_INPUT = 0,
PIN_OUTPUT = 1
} PinDirection;
typedef enum {
/* EFM32 Pin Names
* First 4 bits represent pin number, the remaining
* bits represent port number (A = 0, B = 1, ...)
*/
PA0 = 0 << 4, PA1, PA2, PA3, PA4, PA5, PA6, PA7, PA8, PA9, PA10, PA11, PA12, PA13, PA14, PA15,
PB0 = 1 << 4, PB1, PB2, PB3, PB4, PB5, PB6, PB7, PB8, PB9, PB10, PB11, PB12, PB13, PB14, PB15,
PC0 = 2 << 4, PC1, PC2, PC3, PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15,
PD0 = 3 << 4, PD1, PD2, PD3, PD4, PD5, PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15,
PE0 = 4 << 4, PE1, PE2, PE3, PE4, PE5, PE6, PE7, PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15,
PF0 = 5 << 4, PF1, PF2, PF3, PF4, PF5, PF6, PF7, PF8, PF9, PF10, PF11, PF12, PF13, PF14, PF15,
EFM32_STANDARD_PIN_DEFINITIONS,
/* Starter Kit says LED0 and LED1, but mbed expects 1 and 2. This way using 1 and 2 or 0 and 1 will work. */
LED0 = PC10,
@ -65,53 +50,9 @@ typedef enum {
SERIAL_RX = PD6,
USBTX = PD4,
USBRX = PD5,
EFM_BC_EN = PA9,
/* Not connected */
NC = (int) 0xFFFFFFFF
EFM_BC_EN = PA9
} PinName;
/* 0x10 represents setting the DOUT register (see efm32 modes in ref. manual) */
typedef enum {
/* EFM32 pin modes */
Disabled = gpioModeDisabled,
DisabledPullUp = gpioModeDisabled | 0x10,
Input = gpioModeInput,
InputFilter = gpioModeInput | 0x10,
InputPullDown = gpioModeInputPull,
InputPullUp = gpioModeInputPull | 0x10,
InputPullFilterDown = gpioModeInputPullFilter,
InputPullFilterUp = gpioModeInputPullFilter | 0x10,
PushPull = gpioModePushPull,
PushPullDrive = gpioModePushPullDrive,
WiredOr = gpioModeWiredOr,
WiredOrPullDown = gpioModeWiredOrPullDown,
WiredAnd = gpioModeWiredAnd,
WiredAndFilter = gpioModeWiredAndFilter,
WiredAndPullUp = gpioModeWiredAndPullUp,
WiredAndPullUpFilter = gpioModeWiredAndPullUpFilter,
WiredAndDrive = gpioModeWiredAndDrive,
WiredAndDriveFilter = gpioModeWiredAndDriveFilter,
WiredAndDrivePullUp = gpioModeWiredAndDrivePullUp,
WiredAndDrivePullUpFilter = gpioModeWiredAndDrivePullUpFilter,
/* mbed modes:
* PullUp, PullDown, PullNone, OpenDrain
*
* mbed default digital input mode:
* PullDefault
*
* mbed default digital output mode:
* PullNone
*/
PullUp = InputPullUp,
PullDown = InputPullDown,
OpenDrain = WiredAnd,
PullNone = PushPull,
PullDefault = PushPull
} PinMode;
#ifdef __cplusplus
}
#endif

View File

@ -1,44 +0,0 @@
/***************************************************************************//**
* @file PortNames.h
*******************************************************************************
* @section License
* <b>(C) Copyright 2015 Silicon Labs, http://www.silabs.com</b>
*******************************************************************************
*
* SPDX-License-Identifier: Apache-2.0
*
* 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_PORTNAMES_H
#define MBED_PORTNAMES_H
#include "em_gpio.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
PortA = gpioPortA, /**< Port A */
PortB = gpioPortB, /**< Port B */
PortC = gpioPortC, /**< Port C */
PortD = gpioPortD, /**< Port D */
PortE = gpioPortE, /**< Port E */
PortF = gpioPortF /**< Port F */
} PortName;
#ifdef __cplusplus
}
#endif
#endif

View File

@ -1,49 +0,0 @@
/***************************************************************************//**
* @file device.h
*******************************************************************************
* @section License
* <b>(C) Copyright 2015 Silicon Labs, http://www.silabs.com</b>
*******************************************************************************
*
* SPDX-License-Identifier: Apache-2.0
*
* 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_DEVICE_H
#define MBED_DEVICE_H
// Redefine OPEN_MAX from sys_limits.h to save on RAM.
// Effect: maximum amount of file handlers = OPEN_MAX
// This is not going to have an impact, since this is a RAM-limited part anyway.
#define OPEN_MAX 8
#include "objects.h"
#include "Modules.h"
#include "device_peripherals.h"
#endif

View File

@ -0,0 +1,94 @@
/***************************************************************************//**
* @file PinNames.h
*******************************************************************************
* @section License
* <b>(C) Copyright 2015 Silicon Labs, http://www.silabs.com</b>
*******************************************************************************
*
* SPDX-License-Identifier: Apache-2.0
*
* 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_COMMONPINNAMES_H
#define MBED_COMMONPINNAMES_H
#include "em_gpio.h"
/* EFM32 Pin Names
* First 4 bits represent pin number, the remaining
* bits represent port number (A = 0, B = 1, ...)
*/
#define EFM32_STANDARD_PIN_DEFINITIONS \
PA0 = 0 << 4, PA1, PA2, PA3, PA4, PA5, PA6, PA7, PA8, PA9, PA10, PA11, PA12, PA13, PA14, PA15, \
PB0 = 1 << 4, PB1, PB2, PB3, PB4, PB5, PB6, PB7, PB8, PB9, PB10, PB11, PB12, PB13, PB14, PB15, \
PC0 = 2 << 4, PC1, PC2, PC3, PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, \
PD0 = 3 << 4, PD1, PD2, PD3, PD4, PD5, PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, \
PE0 = 4 << 4, PE1, PE2, PE3, PE4, PE5, PE6, PE7, PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, \
PF0 = 5 << 4, PF1, PF2, PF3, PF4, PF5, PF6, PF7, PF8, PF9, PF10, PF11, PF12, PF13, PF14, PF15, \
NC = (int) 0xFFFFFFFF
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
PIN_INPUT = 0,
PIN_OUTPUT = 1
} PinDirection;
/* 0x10 represents setting the DOUT register (see efm32 modes in ref. manual) */
typedef enum {
/* EFM32 pin modes */
Disabled = gpioModeDisabled,
DisabledPullUp = gpioModeDisabled | 0x10,
Input = gpioModeInput,
InputFilter = gpioModeInput | 0x10,
InputPullDown = gpioModeInputPull,
InputPullUp = gpioModeInputPull | 0x10,
InputPullFilterDown = gpioModeInputPullFilter,
InputPullFilterUp = gpioModeInputPullFilter | 0x10,
PushPull = gpioModePushPull,
PushPullDrive = gpioModePushPullDrive,
WiredOr = gpioModeWiredOr,
WiredOrPullDown = gpioModeWiredOrPullDown,
WiredAnd = gpioModeWiredAnd,
WiredAndFilter = gpioModeWiredAndFilter,
WiredAndPullUp = gpioModeWiredAndPullUp,
WiredAndPullUpFilter = gpioModeWiredAndPullUpFilter,
WiredAndDrive = gpioModeWiredAndDrive,
WiredAndDriveFilter = gpioModeWiredAndDriveFilter,
WiredAndDrivePullUp = gpioModeWiredAndDrivePullUp,
WiredAndDrivePullUpFilter = gpioModeWiredAndDrivePullUpFilter,
/* mbed modes:
* PullUp, PullDown, PullNone, OpenDrain
*
* mbed default digital input mode:
* PullDefault
*
* mbed default digital output mode:
* PullNone
*/
PullUp = InputPullUp,
PullDown = InputPullDown,
OpenDrain = WiredAnd,
PullNone = PushPull,
PullDefault = PushPull
} PinMode;
#ifdef __cplusplus
}
#endif
#endif

View File

@ -23,20 +23,6 @@
#ifndef MBED_DEVICE_H
#define MBED_DEVICE_H
#include "objects.h"
#include "device_peripherals.h"