| /**************************************************************************//** | |
| * @file | |
| * @brief DVK Board Support, master header file | |
| * @author Energy Micro AS | |
| * @version 1.0.1 | |
| ****************************************************************************** | |
| * @section License | |
| * <b>(C) Copyright 2009 Energy Micro AS, http://www.energymicro.com</b> | |
| ****************************************************************************** | |
| * | |
| * This source code is the property of Energy Micro AS. The source and compiled | |
| * code may only be used on Energy Micro "EFM32" microcontrollers. | |
| * | |
| * This copyright notice may not be removed from the source code nor changed. | |
| * | |
| * DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Energy Micro AS has no | |
| * obligation to support this Software. Energy Micro AS is providing the | |
| * Software "AS IS", with no express or implied warranties of any kind, | |
| * including, but not limited to, any implied warranties of merchantability | |
| * or fitness for any particular purpose or warranties against infringement | |
| * of any proprietary rights of a third party. | |
| * | |
| * Energy Micro AS will not be liable for any consequential, incidental, or | |
| * special damages, or any other relief, or for any claim by any third party, | |
| * arising from your use of this Software. | |
| * | |
| *****************************************************************************/ | |
| #ifndef __DVK_H | |
| #define __DVK_H | |
| #include <stdint.h> | |
| #include "dvk_boardcontrol.h" | |
| #include "dvk_bcregisters.h" | |
| /* IF not user overrides default, try to decide DVK access interface based on | |
| * part number */ | |
| #ifndef DVK_SPI_CONTROL | |
| #ifndef DVK_EBI_CONTROL | |
| #if defined(EFM32G200F16) | |
| #define DVK_SPI_CONTROL | |
| #elif defined(EFM32G200F32) | |
| #define DVK_SPI_CONTROL | |
| #elif defined(EFM32G200F64) | |
| #define DVK_SPI_CONTROL | |
| #elif defined(EFM32G210F128) | |
| #define DVK_SPI_CONTROL | |
| #elif defined(EFM32G230F128) | |
| #define DVK_SPI_CONTROL | |
| #elif defined(EFM32G230F32) | |
| #define DVK_SPI_CONTROL | |
| #elif defined(EFM32G230F64) | |
| #define DVK_SPI_CONTROL | |
| #elif defined(EFM32G280F128) | |
| #define DVK_EBI_CONTROL | |
| #elif defined(EFM32G280F32) | |
| #define DVK_EBI_CONTROL | |
| #elif defined(EFM32G280F64) | |
| #define DVK_EBI_CONTROL | |
| #elif defined(EFM32G290F128) | |
| #define DVK_EBI_CONTROL | |
| #elif defined(EFM32G290F32) | |
| #define DVK_EBI_CONTROL | |
| #elif defined(EFM32G290F64) | |
| #define DVK_EBI_CONTROL | |
| #elif defined(EFM32G840F128) | |
| #define DVK_SPI_CONTROL | |
| #elif defined(EFM32G840F32) | |
| #define DVK_SPI_CONTROL | |
| #elif defined(EFM32G840F64) | |
| #define DVK_SPI_CONTROL | |
| #elif defined(EFM32G880F128) | |
| #define DVK_SPI_CONTROL | |
| #elif defined(EFM32G880F32) | |
| #define DVK_SPI_CONTROL | |
| #elif defined(EFM32G880F64) | |
| #define DVK_SPI_CONTROL | |
| #elif defined(EFM32G890F128) | |
| #define DVK_SPI_CONTROL | |
| #elif defined(EFM32G890F32) | |
| #define DVK_SPI_CONTROL | |
| #elif defined(EFM32G890F64) | |
| #define DVK_SPI_CONTROL | |
| #else | |
| #define DVK_SPI_CONTROL | |
| #endif | |
| #endif | |
| #endif | |
| /* EBI access */ | |
| void DVK_EBI_init(void); | |
| void DVK_EBI_disable(void); | |
| void DVK_EBI_writeRegister(volatile uint16_t *addr, uint16_t data); | |
| uint16_t DVK_EBI_readRegister(volatile uint16_t *addr); | |
| /* SPI access */ | |
| void DVK_SPI_init(void); | |
| void DVK_SPI_disable(void); | |
| void DVK_SPI_writeRegister(volatile uint16_t *addr, uint16_t data); | |
| uint16_t DVK_SPI_readRegister(volatile uint16_t *addr); | |
| /* Accodring to configuration, use either SPI or EBI */ | |
| #ifdef DVK_EBI_CONTROL | |
| #define DVK_writeRegister(A, B) DVK_EBI_writeRegister(A, B) | |
| #define DVK_readRegister(A) DVK_EBI_readRegister(A) | |
| #endif | |
| #ifdef DVK_SPI_CONTROL | |
| #define DVK_writeRegister(A, B) DVK_SPI_writeRegister(A, B) | |
| #define DVK_readRegister(A) DVK_SPI_readRegister(A) | |
| #endif | |
| /* General initialization routines */ | |
| void DVK_init(void); | |
| void DVK_disable(void); | |
| #endif |