📄 sdk79524_board.h
字号:
/***********************************************************************
* $Workfile: evb79524_board.h $
* $Revision: 1.0 $
* $Author: ZhangJ $
* $Date: Oct 20 2004 09:41:34 $
*
* Project: EVB79524 Board
*
* Description:
* This file contains the following information for the
* EVB79524 Hardware Platform:
*
* Includes the LH79524 chip header file
* Declares for board-specific typedefs
* Defines for board-specific manifest constants
* Defines for board-specific manifest macros
* Defines for board-specific conditional constants
*
* References:
* (1) Sharp LH79524 SoC User's Guide
* (2) EVB79524 board Schematics
*
* Revision History:
* $Log:: //smaicnt2/pvcs/VM/sharpmcu/archives/sharpmcu/software/cs$
*
* Rev 1.0 Oct 20 2004 09:41:34 ZhangJ
* Initial revision.
*
* Rev 1.2 Jul 20 2004 16:51:04 PattamattaD
* Updated comments.
*
* Rev 1.1 Jun 25 2004 13:57:28 PattamattaD
* Added CPLD register set.
*
* Rev 1.0 Jun 15 2004 14:10:36 PattamattaD
* Initial revision.
*
*
***********************************************************************
*
* Copyright (c) 2004 Sharp Microelectronics of the Americas
*
* All rights reserved
*
* SHARP MICROELECTRONICS OF THE AMERICAS MAKES NO REPRESENTATION
* OR WARRANTIES WITH RESPECT TO THE PERFORMANCE OF THIS SOFTWARE,
* AND SPECIFICALLY DISCLAIMS ANY RESPONSIBILITY FOR ANY DAMAGES,
* SPECIAL OR CONSEQUENTIAL, CONNECTED WITH THE USE OF THIS SOFTWARE.
*
* SHARP MICROELECTRONICS OF THE AMERICAS PROVIDES THIS SOFTWARE SOLELY
* FOR THE PURPOSE OF SOFTWARE DEVELOPMENT INCORPORATING THE USE OF A
* SHARP MICROCONTROLLER OR SYSTEM-ON-CHIP PRODUCT. USE OF THIS SOURCE
* FILE IMPLIES ACCEPTANCE OF THESE CONDITIONS.
*
**********************************************************************/
#ifndef SDK79524_BOARD_H
#define SDK79524_BOARD_H
/***********************************************************************
* Library header files (#include)
**********************************************************************/
/***********************************************************************
* User header files (#include)
**********************************************************************/
#include "abl_types.h"
#include "lh79524_chip.h"
/***********************************************************************
* Constant definitions (#define)
**********************************************************************/
/***********************************************************************
* Clock Frequencies
**********************************************************************/
#define EVB79524_XTAL_IN (11289600)
/* Define standard console device. This macro is used in
evb79524_boot.c file.*/
#define STDOUT_DEVICE (UART0)
/***********************************************************************
* Delay constants in nanosecs for HM62W8511HLJP-12 SRAM on board
**********************************************************************/
#define EVB79524_SRAM_WAIT_WEN (8)
#define EVB79524_SRAM_WAIT_OEN (6)
#define EVB79524_SRAM_WAIT_RD (20)
#define EVB79524_SRAM_WAIT_PAGE (12)
#define EVB79524_SRAM_WAIT_WR (0)
#define EVB79524_SRAM_WAIT_TURN (20)
/***********************************************************************
* Delay constants in nanosecs for LH28F320BFE_PBTL80 NOR Flash on board
**********************************************************************/
#define EVB79524_FLASH_WAIT_WEN (20)
#define EVB79524_FLASH_WAIT_OEN (20)
#define EVB79524_FLASH_WAIT_RD (100)
#define EVB79524_FLASH_WAIT_PAGE (40)
#define EVB79524_FLASH_WAIT_WR (100)
#define EVB79524_FLASH_WAIT_TURN (40)
/***********************************************************************
* Delay constants in nanosecs for TC58DVM72A1FT00_1 NAND Flash on board
**********************************************************************/
#define EVB79524_NAND_WAIT_WEN (250)
#define EVB79524_NAND_WAIT_OEN (250)
#define EVB79524_NAND_WAIT_RD (250)
#define EVB79524_NAND_WAIT_PAGE (250)
#define EVB79524_NAND_WAIT_WR (250)
#define EVB79524_NAND_WAIT_TURN (250)
/***********************************************************************
* Delay constants in nanosecs for XC3256XL-12TQ144C CPLD on board
**********************************************************************/
#define EVB79524_CPLD_WAIT_WEN (40)
#define EVB79524_CPLD_WAIT_OEN (40)
#define EVB79524_CPLD_WAIT_RD (100)
#define EVB79524_CPLD_WAIT_PAGE (40)
#define EVB79524_CPLD_WAIT_WR (100)
#define EVB79524_CPLD_WAIT_TURN (40)
/***********************************************************************
* Delay constants in nanosecs for MT48LC16LFFG SDRAM on board
**********************************************************************/
#define EVB79524_SDRAM_TRP (20)
#define EVB79524_SDRAM_TRAS (60)
#define EVB79524_SDRAM_TREX (120)
#define EVB79524_SDRAM_TARP (120)
#define EVB79524_SDRAM_TDAL (120)
#define EVB79524_SDRAM_TWR (40)
#define EVB79524_SDRAM_TRC (120)
#define EVB79524_SDRAM_TRFC (120)
#define EVB79524_SDRAM_TXSR (120)
#define EVB79524_SDRAM_TRRD (40)
#define EVB79524_SDRAM_TMRD (40)
#define EVB79524_SDRAM_REFRESH (100)
#define EVB79524_SDRAM_OPER_REFRESH (7812)
/***********************************************************************
* Memory base addresses
**********************************************************************/
#define FLASH_PHYS_BASE EMC_STATIC_CS1_BASE
#define FLASH_PHYS_SIZE (0x00400000) /* 4MB */
#define SDRAM_PHYS_BASE EMC_SDRAMC_DCS0_BASE
#define SDRAM_PHYS_SIZE (0x02000000) /* 32MB */
#define SDRAM1_PHYS_BASE EMC_SDRAMC_DCS1_BASE
#define SDRAM1_PHYS_SIZE (0x02000000) /* 32MB */
#define SRAM_PHYS_BASE EMC_STATIC_CS2_BASE
#define SRAM_PHYS_SIZE (0x00200000) /* 2MB */
#define CPLD_BASE (EMC_STATIC_CS3_BASE + 0x600000)
#define CPLD_7SEG_BASE (CPLD_BASE + 0xF8)
/***********************************************************************
* LED Constants
**********************************************************************/
#define LED_GPIOA_D8 _BIT(0)
#define LED_GPIOA_D11 _BIT(1)
/***********************************************************************
* CPLD Register structures and Constants
**********************************************************************/
typedef struct
{
volatile UNS_16 control1;
volatile UNS_16 control2;
volatile UNS_16 status1;
volatile UNS_16 status2;
volatile UNS_16 status3;
volatile UNS_16 status4;
} CPLD_REGS_T;
#define EVB79524_CTRL1_BCK_LIGHTON _BIT(0)
#define EVB79524_CTRL1_LCD_OE _BIT(1)
#define EVB79524_CTRL1_LCD_PWR_EN _BIT(2)
#define EVB79524_CTRL1_CF_PWR _BIT(3)
#define EVB79524_CTRL1_CF_RESET _BIT(4)
#define EVB79524_CTRL1_DMA_ON _BIT(5)
#define EVB79524_STAT1_DPSW_MASK _BITMASK(8)
#define EVB79524_STAT1_DPSW1 _BIT(0)
#define EVB79524_STAT1_DPSW2 _BIT(1)
#define EVB79524_STAT1_DPSW3 _BIT(2)
#define EVB79524_STAT1_DPSW4 _BIT(3)
#define EVB79524_STAT1_DPSW5 _BIT(4)
#define EVB79524_STAT1_DPSW6 _BIT(5)
#define EVB79524_STAT1_DPSW7 _BIT(6)
#define EVB79524_STAT1_DPSW8 _BIT(7)
#define EVB79524_STAT1_SW_USER1 _BIT(8)
#define EVB79524_STAT1_SW_USER2 _BIT(9)
#define EVB79524_STAT1_SW_USER3 _BIT(10)
#define EVB79524_STAT1_SW_USER4 _BIT(11)
#define EVB79524_STAT2_SW_UP _BIT(0)
#define EVB79524_STAT2_SW_DOWN _BIT(1)
#define EVB79524_STAT2_SW_LEFT _BIT(2)
#define EVB79524_STAT2_SW_RIGHT _BIT(3)
#define EVB79524_STAT2_SW_SEL _BIT(4)
#define EVB79524_STAT2_NAV_INT _BIT(5)
#define EVB79524_STAT2_CF_CD1 _BIT(6)
#define EVB79524_STAT2_CF_CD2 _BIT(7)
#define EVB79524_STAT2_CF_RDY _BIT(8)
#define EVB79524_STAT2_INT7 _BIT(9)
#define EVB79524_STAT4_DMA_STATE _BITMASK(4)
#define EVB79524_STAT4_DMA_WER _BIT(4)
#define EVB79524_STAT4_DMA_ACK _BIT(4)
/* Macro pointing to CPLD registers */
#define CPLD ((CPLD_REGS_T *)(CPLD_BASE))
/***********************************************************************
* Put User Entries below this line
**********************************************************************/
#endif /* EVB79524_BOARD_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -