/* ------------------------------------------ | |
* Copyright (c) 2016, Synopsys, Inc. All rights reserved. | |
* Redistribution and use in source and binary forms, with or without modification, | |
* are permitted provided that the following conditions are met: | |
* 1) Redistributions of source code must retain the above copyright notice, this | |
* list of conditions and the following disclaimer. | |
* 2) Redistributions in binary form must reproduce the above copyright notice, | |
* this list of conditions and the following disclaimer in the documentation and/or | |
* other materials provided with the distribution. | |
* 3) Neither the name of the Synopsys, Inc., nor the names of its contributors may | |
* be used to endorse or promote products derived from this software without | |
* specific prior written permission. | |
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND | |
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | |
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR | |
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | |
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | |
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | |
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | |
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
* | |
* \version 2016.05 | |
* \date 2014-06-18 | |
* \author Wayne Ren(Wei.Ren@synopsys.com) | |
--------------------------------------------- */ | |
/** | |
* | |
* \file | |
* \ingroup BOARD_EMSK_COMMON_INIT | |
* \brief emsk resource definitions | |
*/ | |
/** | |
* \addtogroup BOARD_EMSK_COMMON_INIT | |
* @{ | |
*/ | |
#ifndef _EMSK_H_ | |
#define _EMSK_H_ | |
#include "inc/arc/arc_em.h" | |
#include "board/emsk/uart/dw_uart_obj.h" | |
#include "board/emsk/gpio/dw_gpio_obj.h" | |
#include "board/emsk/gpio/emsk_gpio.h" | |
#include "board/emsk/common/emsk_timer.h" | |
#include "board/emsk/emsk_hardware.h" | |
/* Additional hardware driver for embARC BSP */ | |
#include "board/emsk/spi/dw_spi_obj.h" | |
#include "board/emsk/pmrf/mrf24j40.h" | |
#include "board/emsk/pmrf/pmrf.h" | |
#include "board/emsk/spiflash/spiflash.h" | |
#define EMSK_GPIO_PORT_A DW_GPIO_PORT_A | |
#define EMSK_GPIO_PORT_B DW_GPIO_PORT_B | |
#define EMSK_GPIO_PORT_C DW_GPIO_PORT_C | |
#define EMSK_GPIO_PORT_D DW_GPIO_PORT_D | |
/* common macros must be defined by all boards */ | |
#define BOARD_CONSOLE_UART_ID DW_UART_1_ID | |
#define BOARD_CONSOLE_UART_BAUD UART_BAUDRATE_115200 | |
#define BOARD_ADC_IIC_ID DW_IIC_0_ID | |
#define BOARD_TEMP_SENSOR_IIC_ID DW_IIC_0_ID | |
#define BOARD_TEMP_IIC_SLVADDR TEMP_I2C_SLAVE_ADDRESS | |
#define BOARD_SDCARD_SPI_ID DW_SPI_0_ID | |
#define BOARD_WIFI_SPI_ID DW_SPI_0_ID | |
#define BOARD_SFLASH_SPI_ID DW_SPI_0_ID | |
#define BOARD_SDCARD_SPI_LINE EMSK_SPI_LINE_SDCARD | |
#define BOARD_WIFI_SPI_LINE EMSK_SPI_LINE_1 | |
#define BOARD_SFLASH_SPI_LINE EMSK_SPI_LINE_SFLASH | |
#ifndef BOARD_SPI_FREQ | |
#define BOARD_SPI_FREQ (1000000) | |
#endif | |
#ifndef BOARD_SPI_CLKMODE | |
#define BOARD_SPI_CLKMODE (SPI_CLK_MODE_0) | |
#endif | |
#define BOARD_SYS_TIMER_ID TIMER_0 | |
#define BOARD_SYS_TIMER_INTNO INTNO_TIMER0 | |
#define BOARD_SYS_TIMER_HZ (1000) | |
/** board timer count frequency (HZ) */ | |
#define BOARD_SYS_TIMER_MS_HZ (1000) | |
/** board timer count frequency convention based on the global timer counter */ | |
#define BOARD_SYS_TIMER_MS_CONV (BOARD_SYS_TIMER_MS_HZ/BOARD_SYS_TIMER_HZ) | |
#define BOARD_OS_TIMER_ID TIMER_0 | |
#define BOARD_OS_TIMER_INTNO INTNO_TIMER0 | |
#define BOARD_CPU_CLOCK CLK_CPU | |
#define BOARD_DEV_CLOCK CLK_BUS_APB | |
#define BOARD_LED_MASK (0x1ff) | |
#define BOARD_LED_CNT (9) | |
#define BOARD_BTN_MASK (0x7) | |
#define BOARD_BTN_CNT (3) | |
#define BOARD_SWT_MASK (0xf) | |
#define BOARD_SWT_CNT (4) | |
#define BOARD_ONBOARD_NTSHELL_ID (EMSK_NTSHELL_0_ID) | |
#define OSP_DELAY_OS_COMPAT_ENABLE (1) | |
#define OSP_DELAY_OS_COMPAT_DISABLE (0) | |
#define OSP_GET_CUR_SYSHZ() (gl_emsk_sys_hz_cnt) | |
#define OSP_GET_CUR_MS() (gl_emsk_ms_cnt) | |
#define OSP_GET_CUR_US() board_get_cur_us() | |
#define OSP_GET_CUR_HWTICKS() board_get_hwticks() | |
#ifdef __cplusplus | |
extern "C" { | |
#endif | |
extern void board_init(void); | |
extern void board_timer_update(uint32_t precision); | |
extern void board_delay_ms(uint32_t ms, uint8_t os_compat); | |
extern uint64_t board_get_hwticks(void); | |
extern uint64_t board_get_cur_us(void); | |
#ifdef __cplusplus | |
} | |
#endif | |
#endif /* _EMSK_H_ */ | |
/** @} end of group BOARD_EMSK_COMMON_INIT */ |