⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s3c2410x.h

📁 开放源码实时操作系统源码.
💻 H
📖 第 1 页 / 共 2 页
字号:
#ifndef CYGONCE_SMDK2410_H
#define CYGONCE_SMDK2410_H

//=============================================================================
//
//      s3c2410x.h
//
//      Platform specific support (register layout, etc)
//
//=============================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//=============================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s):    michael anburaj <michaelanburaj@hotmail.com>
// Contributors: michael anburaj <michaelanburaj@hotmail.com>
// Date:         2003-08-01
// Purpose:      SMDK2410 platform specific support definitions
// Description: 
// Usage:        #include <cyg/hal/s3c2410x.h>
//
//####DESCRIPTIONEND####
//
//=============================================================================

#include <pkgconf/hal_arm_arm9_smdk2410.h>

// Memory layout details needed by conversion macro
#define SMDK2410_SDRAM_PHYS_BASE         0x30000000
#define SMDK2410_SDRAM_VIRT_BASE         0x00000000

#define SMDK2410_FLASH_PHYS_BASE         0x00000000
#define SMDK2410_FLASH_VIRT_BASE         0x80000000


// Internal clocks
#define FCLK CYGNUM_HAL_ARM_SMDK2410_CPU_CLOCK
#define HCLK CYGNUM_HAL_ARM_SMDK2410_BUS_CLOCK

#define PCLK CYGNUM_HAL_ARM_SMDK2410_PERIPHERAL_CLOCK

#define UCLK 48000000


// Memory control 

#define BWSCON    0x48000000  //Bus width & wait status

#define BANKCON0  0x48000004  //Boot ROM control

#define BANKCON1  0x48000008  //BANK1 control

#define BANKCON2  0x4800000c  //BANK2 cControl

#define BANKCON3  0x48000010  //BANK3 control

#define BANKCON4  0x48000014  //BANK4 control

#define BANKCON5  0x48000018  //BANK5 control

#define BANKCON6  0x4800001c  //BANK6 control

#define BANKCON7  0x48000020  //BANK7 control

#define REFRESH   0x48000024  //DRAM/SDRAM refresh

#define BANKSIZE  0x48000028  //Flexible Bank Size

#define MRSRB6    0x4800002c  //Mode register set for SDRAM

#define MRSRB7    0x48000030  //Mode register set for SDRAM





// USB Host





// INTERRUPT

#define SRCPND     0x4a000000  //Interrupt request status

#define INTMOD     0x4a000004  //Interrupt mode control

#define INTMSK     0x4a000008  //Interrupt mask control

#define PRIORITY   0x4a00000a  //IRQ priority control

#define INTPND     0x4a000010  //Interrupt request status

// PENDING BIT

#define BIT_EINT0      (0x1)

#define BIT_EINT1      (0x1<<1)

#define BIT_EINT2      (0x1<<2)

#define BIT_EINT3      (0x1<<3)

#define BIT_EINT4_7    (0x1<<4)

#define BIT_EINT8_23   (0x1<<5)

#define BIT_NOTUSED6   (0x1<<6)

#define BIT_BAT_FLT    (0x1<<7)

#define BIT_TICK       (0x1<<8)

#define BIT_WDT        (0x1<<9)

#define BIT_TIMER0     (0x1<<10)

#define BIT_TIMER1     (0x1<<11)

#define BIT_TIMER2     (0x1<<12)

#define BIT_TIMER3     (0x1<<13)

#define BIT_TIMER4     (0x1<<14)

#define BIT_UART2      (0x1<<15)

#define BIT_LCD        (0x1<<16)

#define BIT_DMA0       (0x1<<17)

#define BIT_DMA1       (0x1<<18)

#define BIT_DMA2       (0x1<<19)

#define BIT_DMA3       (0x1<<20)

#define BIT_SDI        (0x1<<21)

#define BIT_SPI0       (0x1<<22)

#define BIT_UART1      (0x1<<23)

#define BIT_NOTUSED24  (0x1<<24)

#define BIT_USBD       (0x1<<25)

#define BIT_USBH       (0x1<<26)

#define BIT_IIC        (0x1<<27)

#define BIT_UART0      (0x1<<28)

#define BIT_SPI1       (0x1<<29)

#define BIT_RTCC       (0x1<<30)

#define BIT_ADC        (0x1<<31)

#define BIT_ALLMSK     (0xffffffff)


#define INTOFFSET  0x4a000014  //Interruot request source offset

#define SUBSRCPND  0x4a000018  //Sub source pending

#define INTSUBMSK  0x4a00001c  //Interrupt sub mask

#define BIT_SUB_ALLMSK (0x7ff)

#define BIT_SUB_ADC    (0x1<<10)

#define BIT_SUB_TC     (0x1<<9)

#define BIT_SUB_ERR2   (0x1<<8)

#define BIT_SUB_TXD2   (0x1<<7)

#define BIT_SUB_RXD2   (0x1<<6)

#define BIT_SUB_ERR1   (0x1<<5)

#define BIT_SUB_TXD1   (0x1<<4)

#define BIT_SUB_RXD1   (0x1<<3)

#define BIT_SUB_ERR0   (0x1<<2)

#define BIT_SUB_TXD0   (0x1<<1)

#define BIT_SUB_RXD0   (0x1<<0)





// DMA

#define DISRC0     0x4b000000  //DMA 0 Initial source

#define DISRCC0    0x4b000004  //DMA 0 Initial source control

#define DIDST0     0x4b000008  //DMA 0 Initial Destination

#define DIDSTC0    0x4b00000c  //DMA 0 Initial Destination control

#define DCON0      0x4b000010  //DMA 0 Control

#define DSTAT0     0x4b000014  //DMA 0 Status

#define DCSRC0     0x4b000018  //DMA 0 Current source

#define DCDST0     0x4b00001c  //DMA 0 Current destination

#define DMASKTRIG0 0x4b000020  //DMA 0 Mask trigger



#define DISRC1     0x4b000040  //DMA 1 Initial source

#define DISRCC1    0x4b000044  //DMA 1 Initial source control

#define DIDST1     0x4b000048  //DMA 1 Initial Destination

#define DIDSTC1    0x4b00004c  //DMA 1 Initial Destination control

#define DCON1      0x4b000050  //DMA 1 Control

#define DSTAT1     0x4b000054  //DMA 1 Status

#define DCSRC1     0x4b000058  //DMA 1 Current source

#define DCDST1     0x4b00005c  //DMA 1 Current destination

#define DMASKTRIG1 0x4b000060  //DMA 1 Mask trigger



#define DISRC2     0x4b000080  //DMA 2 Initial source

#define DISRCC2    0x4b000084  //DMA 2 Initial source control

#define DIDST2     0x4b000088  //DMA 2 Initial Destination

#define DIDSTC2    0x4b00008c  //DMA 2 Initial Destination control

#define DCON2      0x4b000090  //DMA 2 Control

#define DSTAT2     0x4b000094  //DMA 2 Status

#define DCSRC2     0x4b000098  //DMA 2 Current source

#define DCDST2     0x4b00009c  //DMA 2 Current destination

#define DMASKTRIG2 0x4b0000a0  //DMA 2 Mask trigger



#define DISRC3     0x4b0000c0  //DMA 3 Initial source

#define DISRCC3    0x4b0000c4  //DMA 3 Initial source control

#define DIDST3     0x4b0000c8  //DMA 3 Initial Destination

#define DIDSTC3    0x4b0000cc  //DMA 3 Initial Destination control

#define DCON3      0x4b0000d0  //DMA 3 Control

#define DSTAT3     0x4b0000d4  //DMA 3 Status

#define DCSRC3     0x4b0000d8  //DMA 3 Current source

#define DCDST3     0x4b0000dc  //DMA 3 Current destination

#define DMASKTRIG3 0x4b0000e0  //DMA 3 Mask trigger





// CLOCK & POWER MANAGEMENT

#define LOCKTIME   0x4c000000  //PLL lock time counter

#define MPLLCON    0x4c000004  //MPLL Control

#define UPLLCON    0x4c000008  //UPLL Control

#define CLKCON     0x4c00000c  //Clock generator control

#define CLKSLOW    0x4c000010  //Slow clock control

#define CLKDIVN    0x4c000014  //Clock divider control





// LCD CONTROLLER

#define LCDCON1    0x4d000000  //LCD control 1

#define LCDCON2    0x4d000004  //LCD control 2

#define LCDCON3    0x4d000008  //LCD control 3

#define LCDCON4    0x4d00000c  //LCD control 4

#define LCDCON5    0x4d000010  //LCD control 5

#define LCDSADDR1  0x4d000014  //STN/TFT Frame buffer start address 1

#define LCDSADDR2  0x4d000018  //STN/TFT Frame buffer start address 2

#define LCDSADDR3  0x4d00001c  //STN/TFT Virtual screen address set

#define REDLUT     0x4d000020  //STN Red lookup table

#define GREENLUT   0x4d000024  //STN Green lookup table 

#define BLUELUT    0x4d000028  //STN Blue lookup table

#define DITHMODE   0x4d00004c  //STN Dithering mode

#define TPAL       0x4d000050  //TFT Temporary palette

#define LCDINTPND  0x4d000054  //LCD Interrupt pending

#define LCDSRCPND  0x4d000058  //LCD Interrupt source

#define LCDINTMSK  0x4d00005c  //LCD Interrupt mask

#define LPCSEL     0x4d000060  //LPC3600 Control

#define PALETTE    0x4d000400  //Palette start address





// NAND flash

#define NFCONF     0x4e000000  //NAND Flash configuration

#define NFCMD      0x4e000004  //NADD Flash command

#define NFADDR     0x4e000008  //NAND Flash address

#define NFDATA     0x4e00000c  //NAND Flash data

#define NFSTAT     0x4e000010  //NAND Flash operation status

#define NFECC      0x4e000014  //NAND Flash ECC

#define NFECC0     0x4e000014

#define NFECC1     0x4e000015

#define NFECC2     0x4e000016




// UART

#define ULCON0     0x50000000  //UART 0 Line control

#define UCON0      0x50000004  //UART 0 Control

#define UFCON0     0x50000008  //UART 0 FIFO control

#define UMCON0     0x5000000c  //UART 0 Modem control

#define UTRSTAT0   0x50000010  //UART 0 Tx/Rx status

#define UERSTAT0   0x50000014  //UART 0 Rx error status

#define UFSTAT0    0x50000018  //UART 0 FIFO status

#define UMSTAT0    0x5000001c  //UART 0 Modem status

#define UBRDIV0    0x50000028  //UART 0 Baud rate divisor



#define ULCON1     0x50004000  //UART 1 Line control

#define UCON1      0x50004004  //UART 1 Control

#define UFCON1     0x50004008  //UART 1 FIFO control

#define UMCON1     0x5000400c  //UART 1 Modem control

#define UTRSTAT1   0x50004010  //UART 1 Tx/Rx status

#define UERSTAT1   0x50004014  //UART 1 Rx error status

#define UFSTAT1    0x50004018  //UART 1 FIFO status

#define UMSTAT1    0x5000401c  //UART 1 Modem status

#define UBRDIV1    0x50004028  //UART 1 Baud rate divisor



#define ULCON2     0x50008000  //UART 2 Line control

#define UCON2      0x50008004  //UART 2 Control

#define UFCON2     0x50008008  //UART 2 FIFO control

#define UMCON2     0x5000800c  //UART 2 Modem control

#define UTRSTAT2   0x50008010  //UART 2 Tx/Rx status

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -