sdk7a400_board.h
来自「Sharp LH7A400 BSP平台无关部分的代码,有很高的参考价值,尤其是系」· C头文件 代码 · 共 497 行 · 第 1/2 页
H
497 行
/***********************************************************************
* Interrupt/mask register and bits
* Bit 0 = read only
* 0 = LAN interrupt pending
* 1 = LAN interrupt NOT pending
* Bit 1 = read only
* 0 = Touchscreen interrupt pending
* 1 = Touchscreen interrupt NOT pending
* Bit 2 = read/write
* 0 = LAN interrupt is enabled
* 1 = LAN interrupt is masked
* Bit 3 = read/write
* 0 = Touchscreen interrupt is enabled
* 1 = Touchscreen interrupt is masked
* Bit 4 = read/write
* 0 = Pen interrupt is output
* 1 = Pen interrupt is input
* Bit 5 = not used
* Bit 6 = read only
* 0 = CPLD interrupt is pending
* 1 = CPLD interrupt is not pending
* Bit 7 = read/write
* 0 = Pen interrupt is output
* 1 = Pen interrupt is input
**********************************************************************/
/* Interrupt/mask register address */
#define INTMSK_REG_BASE (CPLD_FAST_BASE + 0x00C00000)
/* Interrupt/mask LAN interrupt pending bit */
#define INTMSK_LAN_PENDING 0x0001
/* Interrupt/mask Touchscreen interrupt pending bit */
#define INTMSK_TS_PENDING 0x0002
/* Interrupt/mask LAN interrupt disable bit */
#define INTMSK_LAN_DISABLE 0x0004
/* Interrupt/mask Touchscreen interrupt disable bit */
#define INTMSK_TS_DISABLE 0x0008
/* PEN interrupt configured as input bit */
#define INTMSK_PENIRQ_IN 0x0010
/* CPLD interrupt pending bit */
#define INTMSK_CPLD_PENDING 0x0040
/* CPLD interrupt enable bit */
#define INTMSK_CPLD_ENABLE 0x0080
/***********************************************************************
* Mode register and bits
* Bits 0..1 = read only
* 01 = 8-bit boot bus width
* 10 = 16-bit boot bus width
* 11 = 32-bit boot bus width
* Bit 2 = read only (ignored on the LH7A400, little endian only)
* 0 = Big endian operation
* 1 = Little endian operation
* Bit 3 = read only
* 0 = Boot device was an external device
* 1 = Boot device was an internal device
* Bit 4 = read only
* 0 = PCMCIA card detect 1 is low
* 1 = PCMCIA card detect 1 is high
* Bit 5 = read only
* 0 = PCMCIA IOIS16 interrupt is enabled
* 1 = PCMCIA IOIS16 interrupt is not enabled
* Bit 6 = read only
* 0 = PCMCIA card detect 2 is low
* 1 = PCMCIA card detect 2 is high
* Bit 7 = read only
* 0 = PCMCIA voltage sense 1 is low
* 1 = PCMCIA voltage sense 1 is high
**********************************************************************/
/* Mode register address */
#define MODE_REG_BASE (CPLD_FAST_BASE + 0x00E00000)
/* Mode register, bus width is 8-bits value */
#define MODE_BUS_8_WIDTH 0x0001
/* Mode register, bus width is 16-bits value */
#define MODE_BUS_16_WIDTH 0x0002
/* Mode register, bus width is 32-bits value */
#define MODE_BUS_32_WIDTH 0x0003
/* Mode register, bus width value mask */
#define MODE_BUS_WIDTH_MASK 0x0003
/* Mode register little endian mask bit */
#define MODE_LITTLE_ENDIAN 0x0004
/* Mode register boot device internal mask bit */
#define MODE_BOOTDEV_INT 0x0008
/* Mode register PCMCIA card detect 1 mask bit */
#define MODE_PCC_CD1_MASK 0x0010
/* Mode register IOIS16 interrupt enable bit */
#define MODE_PCCIOIS16_ENABLE 0x0020
/* Mode register PCMCIA card detect 2 mask bit */
#define MODE_PCC_CD2_MASK 0x0040
/* Mode register PCMCIA voltage sense 1 mask bit */
#define MODE_PCC_VS1_MASK 0x0080
/***********************************************************************
* Flash register and bits
* Bit 0 = read/write
* 0 = Normal FLASH operation
* 1 = Allow FLASH programming
* Bit 1 = read only
* Returns state of FLASH_STS1 signal
* Bit 2 = read only
* Returns state of FLASH_STS2 signal
* Bit 3 = read/write
* 0 = FLASH populated
* 1 = No FLASH populated
**********************************************************************/
/* Flash register address */
#define FLASH_REG_BASE (CPLD_FAST_BASE + 0x01000000)
/* Flash register enable programming bit */
#define FLASH_PROG_ENABLE 0x0001
/* Flash register STS1 mask bit */
#define FLASH_STS1_MASK 0x0002
/* Flash register STS2 mask bit */
#define FLASH_STS2_MASK 0x0004
/* Flash register populated bit */
#define FLASH_POP_BIT 0x0008
/***********************************************************************
* Power management register and bits
* Bit 2 = read only returns state of suspend signal
* Bit 4 = read only returns state of standby signal
**********************************************************************/
/* Power management register address */
#define PWMAN_REG_BASE (CPLD_FAST_BASE + 0x01200000)
/* Power management register suspend signal bit mask */
#define PWMAN_SUSPEND_BIT 0x0004
/* Power management register suspend signal bit mask */
#define PWMAN_STANDBY_BIT 0x0010
/***********************************************************************
* CPLD revision register and bits
* Bits 0..7 = read only returns 8-bit CPLD revision code
**********************************************************************/
/* CPLD revision register address */
#define CPREV_REG_BASE (CPLD_FAST_BASE + 0x01400000)
/***********************************************************************
* LED register and bits
* Bit 0 = read/write
* 0 = Turn GPIO app board LED on
* 1 = Turn GPIO app board LED off
* Bit 1 = read/write
* 0 = Turn status2 app board LED on
* 1 = Turn status2 app board LED off
* Bit 2 = read/write
* 0 = Turn status1 app board LED on
* 1 = Turn status1 app board LED off
**********************************************************************/
/* LED register address */
#define LED_REG_BASE (CPLD_FAST_BASE + 0x01600000)
/* LED register GPIO app board LED disable bit (status2) */
#define LED_GPIO_DISABLE 0x0001
/* LED register GPIO app board LED disable bit (status2) */
#define LED_STATUS2_DISABLE 0x0002
/* LED register GPIO app board LED disable bit (status1) */
#define LED_STATUS1_DISABLE 0x0004
/***********************************************************************
* GPIO data register and bits
* Bits 0 = read/write of GPIO data value for bit 0
**********************************************************************/
/* GPIO data register address - reading this 8-bit register returns the
value of signal CPLD_GPIO_2 on bit 0 */
#define GPDAT_REG_BASE (CPLD_FAST_BASE + 0x01800000)
/***********************************************************************
* GPIO data direction register and bits
* Bit 0 = read/write
* 0 = GPIO data register is an input
* 1 = GPIO data register is an output
**********************************************************************/
/* GPIO data direction register address */
#define GPDIR_REG_BASE (CPLD_FAST_BASE + 0x01A00000)
/* GPIO data register bit 2 is an input */
#define GPDIR_INPUT_CPLD2_SEL 0x0001
/***********************************************************************
* SDRAM interface specific defines
**********************************************************************/
#define SDRAM1_SEG1_ADDR 0xC0000000 /* SDRAM 1 segment 1 address */
#define SDRAM1_SEG2_ADDR 0xC1000000 /* SDRAM 1 segment 2 address */
#define SDRAM1_SEG3_ADDR 0xC4000000 /* SDRAM 1 segment 3 address */
#define SDRAM1_SEG4_ADDR 0xC5000000 /* SDRAM 1 segment 4 address */
#define SDRAM1_SEG5_ADDR 0xC8000000 /* SDRAM 1 segment 5 address */
#define SDRAM1_SEG6_ADDR 0xC9000000 /* SDRAM 1 segment 6 address */
#define SDRAM1_SEG7_ADDR 0xCC000000 /* SDRAM 1 segment 7 address */
#define SDRAM1_SEG8_ADDR 0xCD000000 /* SDRAM 1 segment 8 address */
/* The following SDRAM segments are only available on 64MByte card
engines */
#define SDRAM2_SEG1_ADDR 0xD0000000 /* SDRAM 2 segment 1 address */
#define SDRAM2_SEG2_ADDR 0xD1000000 /* SDRAM 2 segment 2 address */
#define SDRAM2_SEG3_ADDR 0xD4000000 /* SDRAM 2 segment 3 address */
#define SDRAM2_SEG4_ADDR 0xD5000000 /* SDRAM 2 segment 4 address */
#define SDRAM2_SEG5_ADDR 0xD8000000 /* SDRAM 2 segment 5 address */
#define SDRAM2_SEG6_ADDR 0xD9000000 /* SDRAM 2 segment 6 address */
#define SDRAM2_SEG7_ADDR 0xDC000000 /* SDRAM 2 segment 7 address */
#define SDRAM2_SEG8_ADDR 0xDD000000 /* SDRAM 2 segment 8 address */
/* Size of an SDRAM segment, 16 segments total */
#define SDRAM_SEG_SIZE (4 * 1024 * 1024)
/* SDRAM chip select 0/1 configuration values */
#define SDRAM_CS_CONFIG (SDRAM_NSDCS_RASTOCAS_RASL2 | \
SDRAM_NSDCS_CASLAT3 | SDRAM_NSDCS_BANKCOUNT4 | SDRAM_NSDCS_EBW32)
/* SDRAM mode word for burst size of 4 words, non-interleaved, CAS3 */
#define SDRAM_MODE_WORD 0x32
/* Refresh interval reciprocal value used to determine optimal refresh
value (64000 = 1 / 15.625uS) */
#define SDRAM_REFRESH_INTERVAL 64000
#endif /* SDK7A400_BOARD_H */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?