blob: 57561dc7d316e2a8956e04c0afb3e076931dd2d6 [file] [log] [blame]
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
* $Id$
*
* Copyright (C) 2007 by Karl Kurbjun
*
* All files in this archive are subject to the GNU General Public License.
* See the file COPYING in the source tree root for full license agreement.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
/** All register offset definitions for the TI DM320
* Taken from: http://svn.neurostechnology.com/filedetails.php?repname=neuros-bsp&path=%2Ftrunk%2Fkernels%2Flinux-2.6.15%2Finclude%2Fasm-arm%2Farch-ntosd-dm320%2Fio_registers.h&rev=0&sc=0
*/
#ifndef __DM320_H__
#define __DM320_H__
#define LCD_BUFFER_SIZE (640*480*2)
#define TTB_SIZE (0x4000)
/* must be 16Kb (0x4000) aligned */
#define TTB_BASE ((unsigned int *)(0x04900000 - TTB_SIZE)) /* End of memory */
#define FRAME ((short *) ((char*)TTB_BASE - LCD_BUFFER_SIZE)) /* Right before TTB */
#define PHY_IO_BASE 0x00030000
#define DM320_REG(addr) (*(volatile unsigned short *)(PHY_IO_BASE + (addr)))
/* Timer 0-3 */
#define IO_TIMER0_TMMD DM320_REG(0x0000)
#define IO_TIMER0_TMRSV0 DM320_REG(0x0002)
#define IO_TIMER0_TMPRSCL DM320_REG(0x0004)
#define IO_TIMER0_TMDIV DM320_REG(0x0006)
#define IO_TIMER0_TMTRG DM320_REG(0x0008)
#define IO_TIMER0_TMCNT DM320_REG(0x000A)
#define IO_TIMER1_TMMD DM320_REG(0x0080)
#define IO_TIMER1_TMRSV0 DM320_REG(0x0082)
#define IO_TIMER1_TMPRSCL DM320_REG(0x0084)
#define IO_TIMER1_TMDIV DM320_REG(0x0086)
#define IO_TIMER1_TMTRG DM320_REG(0x0088)
#define IO_TIMER1_TMCNT DM320_REG(0x008A)
#define IO_TIMER2_TMMD DM320_REG(0x0100)
#define IO_TIMER2_TMVDCLR DM320_REG(0x0102)
#define IO_TIMER2_TMPRSCL DM320_REG(0x0104)
#define IO_TIMER2_TMDIV DM320_REG(0x0106)
#define IO_TIMER2_TMTRG DM320_REG(0x0108)
#define IO_TIMER2_TMCNT DM320_REG(0x010A)
#define IO_TIMER3_TMMD DM320_REG(0x0180)
#define IO_TIMER3_TMVDCLR DM320_REG(0x0182)
#define IO_TIMER3_TMPRSCL DM320_REG(0x0184)
#define IO_TIMER3_TMDIV DM320_REG(0x0186)
#define IO_TIMER3_TMTRG DM320_REG(0x0188)
#define IO_TIMER3_TMCNT DM320_REG(0x018A)
/* Serial 0/1 */
#define IO_SERIAL0_TX_DATA DM320_REG(0x0200)
#define IO_SERIAL0_RX_DATA DM320_REG(0x0202)
#define IO_SERIAL0_TX_ENABLE DM320_REG(0x0204)
#define IO_SERIAL0_MODE DM320_REG(0x0206)
#define IO_SERIAL0_DMA_TRIGGER DM320_REG(0x0208)
#define IO_SERIAL0_DMA_MODE DM320_REG(0x020A)
#define IO_SERIAL0_DMA_SDRAM_LOW DM320_REG(0x020C)
#define IO_SERIAL0_DMA_SDRAM_HI DM320_REG(0x020E)
#define IO_SERIAL0_DMA_STATUS DM320_REG(0x0210)
#define IO_SERIAL1_TX_DATA DM320_REG(0x0280)
#define IO_SERIAL1_RX_DATA DM320_REG(0x0282)
#define IO_SERIAL1_TX_ENABLE DM320_REG(0x0284)
#define IO_SERIAL1_MODE DM320_REG(0x0286)
/* UART 0/1 */
#define IO_UART0_DTRR DM320_REG(0x0300)
#define IO_UART0_BRSR DM320_REG(0x0302)
#define IO_UART0_MSR DM320_REG(0x0304)
#define IO_UART0_RFCR DM320_REG(0x0306)
#define IO_UART0_TFCR DM320_REG(0x0308)
#define IO_UART0_LCR DM320_REG(0x030A)
#define IO_UART0_SR DM320_REG(0x030C)
#define IO_UART1_DTRR DM320_REG(0x0380)
#define IO_UART1_BRSR DM320_REG(0x0382)
#define IO_UART1_MSR DM320_REG(0x0384)
#define IO_UART1_RFCR DM320_REG(0x0386)
#define IO_UART1_TFCR DM320_REG(0x0388)
#define IO_UART1_LCR DM320_REG(0x038A)
#define IO_UART1_SR DM320_REG(0x038C)
/* Watchdog Timer */
#define IO_WATCHDOG_MODE 0x0400
#define IO_WATCHDOG_RESET 0x0402
#define IO_WATCHDOG_PRESCALAR 0x0404
#define IO_WATCHDOG_DIVISOR 0x0406
#define IO_WATCHDOG_EXT_RESET 0x0408
/* MMC/SD Controller */
#define IO_MMC_CONTROL 0x0480
#define IO_MMC_MEM_CLK_CONTROL 0x0482
#define IO_MMC_STATUS0 0x0484
#define IO_MMC_STATUS1 0x0486
#define IO_MMC_INT_ENABLE 0x0488
#define IO_MMC_RESPONSE_TIMEOUT 0x048A
#define IO_MMC_READ_TIMEOUT 0x048C
#define IO_MMC_BLOCK_LENGTH 0x048E
#define IO_MMC_NR_BLOCKS 0x0490
#define IO_MMC_NR_BLOCKS_COUNT 0x0492
#define IO_MMC_RX_DATA 0x0494
#define IO_MMC_TX_DATA 0x0496
#define IO_MMC_COMMAND 0x0498
#define IO_MMC_ARG_LOW 0x049A
#define IO_MMC_ARG_HI 0x049C
#define IO_MMC_RESPONSE0 0x049E
#define IO_MMC_RESPONSE1 0x04A0
#define IO_MMC_RESPONSE2 0x04A2
#define IO_MMC_RESPONSE3 0x04A4
#define IO_MMC_RESPONSE4 0x04A6
#define IO_MMC_RESPONSE5 0x04A8
#define IO_MMC_RESPONSE6 0x04AA
#define IO_MMC_RESPONSE7 0x04AC
#define IO_MMC_SPI_DATA 0x04AE
#define IO_MMC_SPI_ERR 0x04B0
#define IO_MMC_COMMAND_INDEX 0x04B2
#define IO_MMC_CLK_START_PHASE 0x04B4
#define IO_MMC_RESPONSE_TOUT_CNT 0x04B6
#define IO_MMC_READ_TOUT_CNT 0x04B8
#define IO_MMC_BLOCK_LENGTH_CNT 0x04BA
#define IO_MMC_SD_DMA_TRIGGER 0x04BC
#define IO_MMC_SD_DMA_MODE 0x04BE
#define IO_MMC_SD_DMA_ADDR_LOW 0x04C0
#define IO_MMC_SD_DMA_ADDR_HI 0x04C2
#define IO_MMC_SD_DMA_STATUS0 0x04C4
#define IO_MMC_SD_DMA_STATUS1 0x04C6
#define IO_MMC_SD_DMA_TIMEOUT 0x04C8
#define IO_SDIO_CONTROL 0x04CA
#define IO_SDIO_STATUS0 0x04CC
#define IO_SDIO_INT_ENABLE 0x04CE
#define IO_SDIO_INT_STATUS 0x04D0
/* Interrupt Controller */
#define IO_INTC_FIQ0 DM320_REG(0x0500)
#define IO_INTC_FIQ1 DM320_REG(0x0502)
#define IO_INTC_FIQ2 DM320_REG(0x0504)
#define IO_INTC_IRQ0 DM320_REG(0x0508)
#define IO_INTC_IRQ1 DM320_REG(0x050A)
#define IO_INTC_IRQ2 DM320_REG(0x050C)
#define IO_INTC_FIQENTRY0 DM320_REG(0x0510)
#define IO_INTC_FIQENTRY1 DM320_REG(0x0512)
#define IO_INTC_FIQ_LOCK_ADDR0 DM320_REG(0x0514)
#define IO_INTC_FIQ_LOCK_ADDR1 DM320_REG(0x0516)
#define IO_INTC_IRQENTRY0 DM320_REG(0x0518)
#define IO_INTC_IRQENTRY1 DM320_REG(0x051A)
#define IO_INTC_IRQ_LOCK_ADDR0 DM320_REG(0x051C)
#define IO_INTC_IRQ_LOCK_ADDR1 DM320_REG(0x051E)
#define IO_INTC_FISEL0 DM320_REG(0x0520)
#define IO_INTC_FISEL1 DM320_REG(0x0522)
#define IO_INTC_FISEL2 DM320_REG(0x0524)
#define IO_INTC_EINT0 DM320_REG(0x0528)
#define IO_INTC_EINT1 DM320_REG(0x052A)
#define IO_INTC_EINT2 DM320_REG(0x052C)
#define IO_INTC_RAW DM320_REG(0x0530)
#define IO_INTC_ENTRY_TBA0 DM320_REG(0x0538)
#define IO_INTC_ENTRY_TBA1 DM320_REG(0x053A)
#define IO_INTC_PRIORITY0 DM320_REG(0x0540)
#define IO_INTC_PRIORITY1 DM320_REG(0x0542)
#define IO_INTC_PRIORITY2 DM320_REG(0x0544)
#define IO_INTC_PRIORITY3 DM320_REG(0x0546)
#define IO_INTC_PRIORITY4 DM320_REG(0x0548)
#define IO_INTC_PRIORITY5 DM320_REG(0x054A)
#define IO_INTC_PRIORITY6 DM320_REG(0x054C)
#define IO_INTC_PRIORITY7 DM320_REG(0x054E)
#define IO_INTC_PRIORITY8 DM320_REG(0x0550)
#define IO_INTC_PRIORITY9 DM320_REG(0x0552)
#define IO_INTC_PRIORITY10 DM320_REG(0x0554)
#define IO_INTC_PRIORITY11 DM320_REG(0x0556)
#define IO_INTC_PRIORITY12 DM320_REG(0x0558)
#define IO_INTC_PRIORITY13 DM320_REG(0x055A)
#define IO_INTC_PRIORITY14 DM320_REG(0x055C)
#define IO_INTC_PRIORITY15 DM320_REG(0x055E)
#define IO_INTC_PRIORITY16 DM320_REG(0x0560)
#define IO_INTC_PRIORITY17 DM320_REG(0x0562)
#define IO_INTC_PRIORITY18 DM320_REG(0x0564)
#define IO_INTC_PRIORITY19 DM320_REG(0x0566)
#define IO_INTC_PRIORITY20 DM320_REG(0x0568)
#define IO_INTC_PRIORITY21 DM320_REG(0x056A)
#define IO_INTC_PRIORITY22 DM320_REG(0x056C)
/* GIO Controller */
#define IO_GIO_DIR0 DM320_REG(0x0580)
#define IO_GIO_DIR1 DM320_REG(0x0582)
#define IO_GIO_DIR2 DM320_REG(0x0584)
#define IO_GIO_INV0 DM320_REG(0x0586)
#define IO_GIO_INV1 DM320_REG(0x0588)
#define IO_GIO_INV2 DM320_REG(0x058A)
#define IO_GIO_BITSET0 DM320_REG(0x058C)
#define IO_GIO_BITSET1 DM320_REG(0x058E)
#define IO_GIO_BITSET2 DM320_REG(0x0590)
#define IO_GIO_BITCLR0 DM320_REG(0x0592)
#define IO_GIO_BITCLR1 DM320_REG(0x0594)
#define IO_GIO_BITCLR2 DM320_REG(0x0596)
#define IO_GIO_IRQPORT DM320_REG(0x0598)
#define IO_GIO_IRQEDGE DM320_REG(0x059A)
#define IO_GIO_CHAT0 DM320_REG(0x059C)
#define IO_GIO_CHAT1 DM320_REG(0x059E)
#define IO_GIO_CHAT2 DM320_REG(0x05A0)
#define IO_GIO_NCHAT DM320_REG(0x05A2)
#define IO_GIO_FSEL0 DM320_REG(0x05A4)
#define IO_GIO_FSEL1 DM320_REG(0x05A6)
#define IO_GIO_FSEL2 DM320_REG(0x05A8)
#define IO_GIO_FSEL3 DM320_REG(0x05AA)
#define IO_GIO_FSEL4 DM320_REG(0x05AC)
#define IO_GIO_CARD_SET DM320_REG(0x05AE)
#define IO_GIO_CARD_ST DM320_REG(0x05B0)
/* DSP Controller */
#define IO_DSPC_HPIB_CONTROL 0x0600
#define IO_DSPC_HPIB_STATUS 0x0602
/* OSD Controller */
#define IO_OSD_MODE DM320_REG(0x0680)
#define IO_OSD_VIDWINMD DM320_REG(0x0682)
#define IO_OSD_OSDWINMD0 DM320_REG(0x0684)
#define IO_OSD_OSDWINMD1 DM320_REG(0x0686)
#define IO_OSD_ATRMD DM320_REG(0x0688)
#define IO_OSD_RECTCUR DM320_REG(0x0688)
#define IO_OSD_RESERVED DM320_REG(0x068A)
#define IO_OSD_VIDWIN0OFST DM320_REG(0x068C)
#define IO_OSD_VIDWIN1OFST DM320_REG(0x068E)
#define IO_OSD_OSDWIN0OFST DM320_REG(0x0690)
#define IO_OSD_OSDWIN1OFST DM320_REG(0x0692)
#define IO_OSD_VIDWINADH DM320_REG(0x0694)
#define IO_OSD_VIDWIN0ADL DM320_REG(0x0696)
#define IO_OSD_VIDWIN1ADL DM320_REG(0x0698)
#define IO_OSD_OSDWINADH DM320_REG(0x069A)
#define IO_OSD_OSDWIN0ADL DM320_REG(0x069C)
#define IO_OSD_OSDWIN1ADL DM320_REG(0x069E)
#define IO_OSD_BASEPX DM320_REG(0x06A0)
#define IO_OSD_BASEPY DM320_REG(0x06A2)
#define IO_OSD_VIDWIN0XP DM320_REG(0x06A4)
#define IO_OSD_VIDWIN0YP DM320_REG(0x06A6)
#define IO_OSD_VIDWIN0XL DM320_REG(0x06A8)
#define IO_OSD_VIDWIN0YL DM320_REG(0x06AA)
#define IO_OSD_VIDWIN1XP DM320_REG(0x06AC)
#define IO_OSD_VIDWIN1YP DM320_REG(0x06AE)
#define IO_OSD_VIDWIN1XL DM320_REG(0x06B0)
#define IO_OSD_VIDWIN1YL DM320_REG(0x06B2)
#define IO_OSD_OSDWIN0XP DM320_REG(0x06B4)
#define IO_OSD_OSDWIN0YP DM320_REG(0x06B6)
#define IO_OSD_OSDWIN0XL DM320_REG(0x06B8)
#define IO_OSD_OSDWIN0YL DM320_REG(0x06BA)
#define IO_OSD_OSDWIN1XP DM320_REG(0x06BC)
#define IO_OSD_OSDWIN1YP DM320_REG(0x06BE)
#define IO_OSD_OSDWIN1XL DM320_REG(0x06C0)
#define IO_OSD_OSDWIN1YL DM320_REG(0x06C2)
#define IO_OSD_CURXP DM320_REG(0x06C4)
#define IO_OSD_CURYP DM320_REG(0x06C6)
#define IO_OSD_CURXL DM320_REG(0x06C8)
#define IO_OSD_CURYL DM320_REG(0x06CA)
#define IO_OSD_W0BMP01 DM320_REG(0x06D0)
#define IO_OSD_W0BMP23 DM320_REG(0x06D2)
#define IO_OSD_W0BMP45 DM320_REG(0x06D4)
#define IO_OSD_W0BMP67 DM320_REG(0x06D6)
#define IO_OSD_W0BMP89 DM320_REG(0x06D8)
#define IO_OSD_W0BMPAB DM320_REG(0x06DA)
#define IO_OSD_W0BMPCD DM320_REG(0x06DC)
#define IO_OSD_W0BMPEF DM320_REG(0x06DE)
#define IO_OSD_W1BMP01 DM320_REG(0x06E0)
#define IO_OSD_W1BMP23 DM320_REG(0x06E2)
#define IO_OSD_W1BMP45 DM320_REG(0x06E4)
#define IO_OSD_W1BMP67 DM320_REG(0x06E6)
#define IO_OSD_W1BMP89 DM320_REG(0x06E8)
#define IO_OSD_W1BMPAB DM320_REG(0x06EA)
#define IO_OSD_W1BMPCD DM320_REG(0x06EC)
#define IO_OSD_W1BMPEF DM320_REG(0x06EE)
#define IO_OSD_MISCCTL DM320_REG(0x06F4)
#define IO_OSD_CLUTRAMYCB DM320_REG(0x06F6)
#define IO_OSD_CLUTRAMCR DM320_REG(0x06F8)
#define IO_OSD_PPWIN0ADH DM320_REG(0x06FC)
#define IO_OSD_PPWIN0ADL DM320_REG(0x06FE)
/* CCD Controller */
#define IO_CCD_SYNCEN 0x0700
#define IO_CCD_MODESET 0x0702
#define IO_CCD_HDWIDTH 0x0704
#define IO_CCD_VDWIDTH 0x0706
#define IO_CCD_PPLN 0x0708
#define IO_CCD_LPFR 0x070A
#define IO_CCD_SPH 0x070C
#define IO_CCD_NPH 0x070E
#define IO_CCD_SLV0 0x0710
#define IO_CCD_SLV1 0x0712
#define IO_CCD_NLV 0x0714
#define IO_CCD_CULH 0x0716
#define IO_CCD_CULV 0x0718
#define IO_CCD_HSIZE 0x071A
#define IO_CCD_SDOFST 0x071C
#define IO_CCD_STADRH 0x071E
#define IO_CCD_STADRL 0x0720
#define IO_CCD_CLAMP 0x0722
#define IO_CCD_DCSUB 0x0724
#define IO_CCD_COLPTN 0x0726
#define IO_CCD_BLKCMP0 0x0728
#define IO_CCD_BLKCMP1 0x072A
#define IO_CCD_MEDFILT 0x072C
#define IO_CCD_RYEGAIN 0x072E
#define IO_CCD_GRCYGAIN 0x0730
#define IO_CCD_GBGGAIN 0x0732
#define IO_CCD_BMGGAIN 0x0734
#define IO_CCD_OFFSET 0x0736
#define IO_CCD_OUTCLP 0x0738
#define IO_CCD_VDINT0 0x073A
#define IO_CCD_VDINT1 0x073C
#define IO_CCD_RSV0 0x073E
#define IO_CCD_GAMMAWD 0x0740
#define IO_CCD_REC656IF 0x0742
#define IO_CCD_CCDFG 0x0744
#define IO_CCD_FMTCFG 0x0746
#define IO_CCD_FMTSPH 0x0748
#define IO_CCD_FMTLNH 0x074A
#define IO_CCD_FMTSLV 0x074C
#define IO_CCD_FMTSNV 0x074E
#define IO_CCD_FMTOFST 0x0750
#define IO_CCD_FMTRLEN 0x0752
#define IO_CCD_FMTHCNT 0x0754
#define IO_CCD_FMTPTNA 0x0756
#define IO_CCD_FMTPTNB 0x0758
/* NTSC/PAL Encoder */
#define IO_VID_ENC_VMOD 0x0800
#define IO_VID_ENC_VDCTL 0x0802
#define IO_VID_ENC_VDPRO 0x0804
#define IO_VID_ENC_SYNCCTL 0x0806
#define IO_VID_ENC_HSPLS 0x0808
#define IO_VID_ENC_VSPLS 0x080A
#define IO_VID_ENC_HINT 0x080C
#define IO_VID_ENC_HSTART 0x080E
#define IO_VID_ENC_HVALID 0x0810
#define IO_VID_ENC_VINT 0x0812
#define IO_VID_ENC_VSTART 0x0814
#define IO_VID_ENC_VVALID 0x0816
#define IO_VID_ENC_HSDLY 0x0818
#define IO_VID_ENC_VSDLY 0x081A
#define IO_VID_ENC_YCCTL 0x081C
#define IO_VID_ENC_RGBCTL 0x081E
#define IO_VID_ENC_RGBCLP 0x0820
#define IO_VID_ENC_LNECTL 0x0822
#define IO_VID_ENC_CULLLNE 0x0824
#define IO_VID_ENC_LCDOUT 0x0826
#define IO_VID_ENC_BRTS 0x0828
#define IO_VID_ENC_BRTW 0x082A
#define IO_VID_ENC_ACCTL 0x082C
#define IO_VID_ENC_PWMP 0x082E
#define IO_VID_ENC_PWMW 0x0830
#define IO_VID_ENC_DCLKCTL 0x0832
#define IO_VID_ENC_DCLKPTN0 0x0834
#define IO_VID_ENC_DCLKPTN1 0x0836
#define IO_VID_ENC_DCLKPTN2 0x0838
#define IO_VID_ENC_DCLKPTN3 0x083A
#define IO_VID_ENC_DCLKPTN0A 0x083C
#define IO_VID_ENC_DCLKPTN1A 0x083E
#define IO_VID_ENC_DCLKPTN2A 0x0840
#define IO_VID_ENC_DCLKPTN3A 0x0842
#define IO_VID_ENC_DCLKHS 0x0844
#define IO_VID_ENC_DCLKHSA 0x0846
#define IO_VID_ENC_DCLKHR 0x0848
#define IO_VID_ENC_DCLKVS 0x084A
#define IO_VID_ENC_DCLKVR 0x084C
#define IO_VID_ENC_CAPCTL 0x084E
#define IO_VID_ENC_CAPDO 0x0850
#define IO_VID_ENC_CAPDE 0x0852
#define IO_VID_ENC_ATR0 0x0854
/* Clock Controller */
#define IO_CLK_PLLA DM320_REG(0x0880)
#define IO_CLK_PLLB DM320_REG(0x0882)
#define IO_CLK_SEL0 DM320_REG(0x0884)
#define IO_CLK_SEL1 DM320_REG(0x0886)
#define IO_CLK_SEL2 DM320_REG(0x0888)
#define IO_CLK_DIV0 DM320_REG(0x088A)
#define IO_CLK_DIV1 DM320_REG(0x088C)
#define IO_CLK_DIV2 DM320_REG(0x088E)
#define IO_CLK_DIV3 DM320_REG(0x0890)
#define IO_CLK_DIV4 DM320_REG(0x0892)
#define IO_CLK_BYP DM320_REG(0x0894)
#define IO_CLK_INV DM320_REG(0x0896)
#define IO_CLK_MOD0 DM320_REG(0x0898)
#define IO_CLK_MOD1 DM320_REG(0x089A)
#define IO_CLK_MOD2 DM320_REG(0x089C)
#define IO_CLK_LPCTL0 DM320_REG(0x089E)
#define IO_CLK_LPCTL1 DM320_REG(0x08A0)
#define IO_CLK_OSEL DM320_REG(0x08A2)
#define IO_CLK_00DIV DM320_REG(0x08A4)
#define IO_CLK_O1DIV DM320_REG(0x08A6)
#define IO_CLK_02DIV DM320_REG(0x08A8)
#define IO_CLK_PWM0C DM320_REG(0x08AA)
#define IO_CLK_PWM0H DM320_REG(0x08AC)
#define IO_CLK_PWM1C DM320_REG(0x08AE)
#define IO_CLK_PWM1H DM320_REG(0x08B0)
/* Bus Controller */
#define IO_BUSC_ECR 0x0900
#define IO_BUSC_EBYTER 0x0902
#define IO_BUSC_EBITR 0x0904
#define IO_BUSC_REVR 0x0906
/* SDRAM Controller */
#define IO_SDRAM_SDBUFD0L 0x0980
#define IO_SDRAM_SDBUFD0H 0x0982
#define IO_SDRAM_SDBUFD1L 0x0984
#define IO_SDRAM_SDBUFD1H 0x0986
#define IO_SDRAM_SDBUFD2L 0x0988
#define IO_SDRAM_SDBUFD2H 0x098A
#define IO_SDRAM_SDBUFD3L 0x098C
#define IO_SDRAM_SDBUFD3H 0x098E
#define IO_SDRAM_SDBUFD4L 0x0990
#define IO_SDRAM_SDBUFD4H 0x0992
#define IO_SDRAM_SDBUFD5L 0x0994
#define IO_SDRAM_SDBUFD5H 0x0996
#define IO_SDRAM_SDBUFD6L 0x0998
#define IO_SDRAM_SDBUFD6H 0x099A
#define IO_SDRAM_SDBUFD7L 0x099C
#define IO_SDRAM_SDBUFD7H 0x099E
#define IO_SDRAM_SDBUFAD1 0x09A0
#define IO_SDRAM_SDBUFAD2 0x09A2
#define IO_SDRAM_SDBUFCTL 0x09A4
#define IO_SDRAM_SDMODE 0x09A6
#define IO_SDRAM_REFCTL 0x09A8
#define IO_SDRAM_SDPRTY1 0x09AA
#define IO_SDRAM_SDPRTY2 0x09AC
#define IO_SDRAM_SDPRTY3 0x09AE
#define IO_SDRAM_SDPRTY4 0x09B0
#define IO_SDRAM_SDPRTY5 0x09B2
#define IO_SDRAM_SDPRTY6 0x09B4
#define IO_SDRAM_SDPRTY7 0x09B6
#define IO_SDRAM_SDPRTY8 0x09B8
#define IO_SDRAM_SDPRTY9 0x09BA
#define IO_SDRAM_SDPRTY10 0x09BC
#define IO_SDRAM_SDPRTY11 0x09BE
#define IO_SDRAM_SDPRTY12 0x09C0
#define IO_SDRAM_RSV 0x09C2
#define IO_SDRAM_SDPRTYON 0x09C4
#define IO_SDRAM_SDDMASEL 0x09C6
/* EMIF Controller */
#define IO_EMIF_CS0CTRL1 0x0A00
#define IO_EMIF_CS0CTRL2 0x0A02
#define IO_EMIF_CS0CTRL3 0x0A04
#define IO_EMIF_CS1CTRL1A 0x0A06
#define IO_EMIF_CS1CTRL1B 0x0A08
#define IO_EMIF_CS1CTRL2 0x0A0A
#define IO_EMIF_CS2CTRL1 0x0A0C
#define IO_EMIF_CS2CTRL2 0x0A0E
#define IO_EMIF_CS3CTRL1 0x0A10
#define IO_EMIF_CS3CTRL2 0x0A12
#define IO_EMIF_CS4CTRL1 0x0A14
#define IO_EMIF_CS4CTRL2 0x0A16
#define IO_EMIF_BUSCTRL 0x0A18
#define IO_EMIF_BUSRLS 0x0A1A
#define IO_EMIF_CFCTRL1 0x0A1C
#define IO_EMIF_CFCTRL2 0x0A1E
#define IO_EMIF_SMCTRL 0x0A20
#define IO_EMIF_BUSINTEN 0x0A22
#define IO_EMIF_BUSSTS 0x0A24
#define IO_EMIF_BUSWAITMD 0x0A26
#define IO_EMIF_ECC1CP 0x0A28
#define IO_EMIF_ECC1LP 0x0A2A
#define IO_EMIF_ECC2CP 0x0A2C
#define IO_EMIF_ECC2LP 0x0A2E
#define IO_EMIF_ECC3CP 0x0A30
#define IO_EMIF_ECC3LP 0x0A32
#define IO_EMIF_ECC4CP 0x0A34
#define IO_EMIF_ECC4LP 0x0A36
#define IO_EMIF_ECC5CP 0x0A38
#define IO_EMIF_ECC5LP 0x0A3A
#define IO_EMIF_ECC6CP 0x0A3C
#define IO_EMIF_ECC6LP 0x0A3E
#define IO_EMIF_ECC7CP 0x0A40
#define IO_EMIF_ECC7LP 0x0A42
#define IO_EMIF_ECC8CP 0x0A44
#define IO_EMIF_ECC8LP 0x0A46
#define IO_EMIF_ECCCLR 0x0A48
#define IO_EMIF_PAGESZ 0x0A4A
#define IO_EMIF_PRIORCTL 0x0A4C
#define IO_EMIF_MGDSPDEST 0x0A4E
#define IO_EMIF_MGDSPADDH 0x0A50
#define IO_EMIF_MGDSPADDL 0x0A52
#define IO_EMIF_AHBADDH 0x0A54
#define IO_EMIF_AHBADDL 0x0A56
#define IO_EMIF_MTCADDH 0x0A58
#define IO_EMIF_MTCADDL 0x0A5A
#define IO_EMIF_DMASIZE 0x0A5C
#define IO_EMIF_DMAMTCSEL 0x0A5E
#define IO_EMIF_DMACTL 0x0A60
/* Preivew Engine */
#define IO_PREV_ENG_PVEN 0x0A80
#define IO_PREV_ENG_PVSET1 0x0A82
#define IO_PREV_ENG_RADRH 0x0A84
#define IO_PREV_ENG_RADRL 0x0A86
#define IO_PREV_ENG_WADRH 0x0A88
#define IO_PREV_ENG_WADRL 0x0A8A
#define IO_PREV_ENG_HSTART 0x0A8C
#define IO_PREV_ENG_HSIZE 0x0A8E
#define IO_PREV_ENG_VSTART 0x0A90
#define IO_PREV_ENG_VSIZE 0x0A92
#define IO_PREV_ENG_PVSET2 0x0A94
#define IO_PREV_ENG_NFILT 0x0A96
#define IO_PREV_ENG_DGAIN 0x0A98
#define IO_PREV_ENG_WBGAIN0 0x0A9A
#define IO_PREV_ENG_WBGAIN1 0x0A9C
#define IO_PREV_ENG_SMTH 0x0A9E
#define IO_PREV_ENG_HRSZ 0x0AA0
#define IO_PREV_ENG_VRSZ 0x0AA2
#define IO_PREV_ENG_BLOFST0 0x0AA4
#define IO_PREV_ENG_BLOFST1 0x0AA6
#define IO_PREV_ENG_MTXGAIN0 0x0AA8
#define IO_PREV_ENG_MTXGAIN1 0x0AAA
#define IO_PREV_ENG_MTXGAIN2 0x0AAC
#define IO_PREV_ENG_MTXGAIN3 0x0AAE
#define IO_PREV_ENG_MTXGAIN4 0x0AB0
#define IO_PREV_ENG_MTXGAIN5 0x0AB2
#define IO_PREV_ENG_MTXGAIN6 0x0AB4
#define IO_PREV_ENG_MTXGAIN7 0x0AB6
#define IO_PREV_ENG_MTXGAIN8 0x0AB8
#define IO_PREV_ENG_MTXOFST0 0x0ABA
#define IO_PREV_ENG_MTXOFST1 0x0ABC
#define IO_PREV_ENG_MTXOFST2 0x0ABE
#define IO_PREV_ENG_GAMTBYP 0x0AC0
#define IO_PREV_ENG_CSC0 0x0AC2
#define IO_PREV_ENG_CSC1 0x0AC4
#define IO_PREV_ENG_CSC2 0x0AC6
#define IO_PREV_ENG_CSC3 0x0AC8
#define IO_PREV_ENG_CSC4 0x0ACA
#define IO_PREV_ENG_YOFST 0x0ACC
#define IO_PREV_ENG_COFST 0x0ACE
#define IO_PREV_ENG_CNTBRT 0x0AD0
#define IO_PREV_ENG_CSUP0 0x0AD2
#define IO_PREV_ENG_CSUP1 0x0AD4
#define IO_PREV_ENG_SETUPY 0x0AD4
#define IO_PREV_ENG_SETUPC 0x0AD8
#define IO_PREV_ENG_TABLE_ADDR 0x0ADA
#define IO_PREV_ENG_TABLE_DATA 0x0ADC
#define IO_PREV_ENG_HG_CTL 0x0ADE
#define IO_PREV_ENG_HG_R0_HSTART 0x0AE0
#define IO_PREV_ENG_HG_R0_HSIZE 0x0AE2
#define IO_PREV_ENG_HG_R0_VSTART 0x0AE4
#define IO_PREV_ENG_HR_R0_VSIZE 0x0AE6
#define IO_PREV_ENG_HG_R1_HSTART 0x0AE8
#define IO_PREV_ENG_HG_R1_HSIZE 0x0AEA
#define IO_PREV_ENG_HG_R1_VSTART 0x0AEC
#define IO_PREV_ENG_HG_R1_VSIZE 0x0AEE
#define IO_PREV_ENG_HG_R2_HSTART 0x0AF0
#define IO_PREV_ENG_HG_R2_HSIZE 0x0AF2
#define IO_PREV_ENG_HG_R2_VSTART 0x0AF4
#define IO_PREV_ENG_HG_R2_VSIZE 0x0AF6
#define IO_PREV_ENG_HG_R3_HSTART 0x0AF8
#define IO_PREV_ENG_HG_R3_HSIZE 0x0AFA
#define IO_PREV_ENG_HG_R3_VSTART 0x0AFC
#define IO_PREV_ENG_HG_R3_VSIZE 0x0AFE
#define IO_PREV_ENG_HG_ADDR 0x0B00
#define IO_PREV_ENG_HG_DATA 0x0B02
/* H3A Hardware */
#define IO_H3A_H3ACTRL 0x0B80
#define IO_H3A_AFCTRL 0x0B82
#define IO_H3A_AFPAX1 0x0B84
#define IO_H3A_AFPAX2 0x0B86
#define IO_H3A_AFPAX3 0x0B88
#define IO_H3A_AFPAX4 0x0B8A
#define IO_H3A_AFIRSH 0x0B8C
#define IO_H3A_AFPAX5 0x0B8E
#define IO_H3A_AFSDRA1 0x0B90
#define IO_H3A_AFSDRA2 0x0B92
#define IO_H3A_AFSDRFLG 0x0B94
#define IO_H3A_AFCOEFF10 0x0B96
#define IO_H3A_AFCOEFF11 0x0B98
#define IO_H3A_AFCOEFF12 0x0B9A
#define IO_H3A_AFCOEFF13 0x0B9C
#define IO_H3A_AFCOEFF14 0x0B9E
#define IO_H3A_AFCOEFF15 0x0BA0
#define IO_H3A_AFCOEFF16 0x0BA2
#define IO_H3A_AFCOEFF17 0x0BA4
#define IO_H3A_AFCOEFF18 0x0BA6
#define IO_H3A_AFCOEFF19 0x0BA8
#define IO_H3A_AFCOEFF110 0x0BAA
#define IO_H3A_AFCOEFF20 0x0BAC
#define IO_H3A_AFCOEFF21 0x0BAE
#define IO_H3A_AFCOEFF22 0x0BB0
#define IO_H3A_AFCOEFF23 0x0BB2
#define IO_H3A_AFCOEFF24 0x0BB4
#define IO_H3A_AFCOEFF25 0x0BB6
#define IO_H3A_AFCOEFF26 0x0BB8
#define IO_H3A_AFCOEFF27 0x0BBA
#define IO_H3A_AFCOEFF28 0x0BBC
#define IO_H3A_AFCOEFF29 0x0BBE
#define IO_H3A_AFCOEFF210 0x0BC0
#define IO_H3A_AEWCTRL 0x0BC2
#define IO_H3A_AEWWIN1 0x0BC4
#define IO_H3A_AEWWIN2 0x0BC6
#define IO_H3A_AEWWIN3 0x0BC8
#define IO_H3A_AEWWIN4 0x0BCA
#define IO_H3A_AEWWIN5 0x0BCC
#define IO_H3A_AEWSDRA1 0x0BCE
#define IO_H3A_AEWSDRA2 0x0BD0
#define IO_H3A_AEWSDRFLG 0x0BD2
/* Reserved 0x0C00 - 0x0CCFF */
/* Memory Stick Controller : */
#define IO_MEM_STICK_MODE 0x0C80
#define IO_MEM_STICK_CMD 0x0C82
#define IO_MEM_STICK_DATA 0x0C84
#define IO_MEM_STICK_STATUS 0x0C86
#define IO_MEM_STICK_SYS 0x0C88
#define IO_MEM_STICK_ENDIAN 0x0C8A
#define IO_MEM_STICK_INT_STATUS 0x0C8C
#define IO_MEM_STICK_DMA_TRG 0x0C8E
#define IO_MEM_STICK_DMA_MODE 0x0C90
#define IO_MEM_STICK_SDRAM_ADDL 0x0C92
#define IO_MEM_STICK_SDRAM_ADDH 0x0C94
#define IO_MEM_STICK_DMA_STATUS 0x0C96
/* ATM : WBB Need to find these Register values */
#define IO_ATM_ 0x0D00
/* I2C */
#define IO_I2C_TXDATA 0x0D80
#define IO_I2C_RXDATA 0x0D82
#define IO_I2C_SCS 0x0D84
/* Taken from linux/include/asm-arm/arch-itdm320/irqs.h
*
* Copyright (C) 1999 ARM Limited
* Copyright (C) 2004 Ingenient Technologies
*/
/*
* Interrupt numbers
*/
#define IRQ_TIMER0 0
#define IRQ_TIMER1 1
#define IRQ_TIMER2 2
#define IRQ_TIMER3 3
#define IRQ_CCD_VD0 4
#define IRQ_CCD_VD1 5
#define IRQ_CCD_WEN 6
#define IRQ_VENC 7
#define IRQ_SERIAL0 8
#define IRQ_SERIAL1 9
#define IRQ_EXT_HOST 10
#define IRQ_DSPHINT 11
#define IRQ_UART0 12
#define IRQ_UART1 13
#define IRQ_USB_DMA 14
#define IRQ_USB_CORE 15
#define IRQ_VLYNQ 16
#define IRQ_MTC0 17
#define IRQ_MTC1 18
#define IRQ_SD_MMC 19
#define IRQ_SDIO_MS 20
#define IRQ_GIO0 21
#define IRQ_GIO1 22
#define IRQ_GIO2 23
#define IRQ_GIO3 24
#define IRQ_GIO4 25
#define IRQ_GIO5 26
#define IRQ_GIO6 27
#define IRQ_GIO7 28
#define IRQ_GIO8 29
#define IRQ_GIO9 30
#define IRQ_GIO10 31
#define IRQ_GIO11 32
#define IRQ_GIO12 33
#define IRQ_GIO13 34
#define IRQ_GIO14 35
#define IRQ_GIO15 36
#define IRQ_PREVIEW0 37
#define IRQ_PREVIEW1 38
#define IRQ_WATCHDOG 39
#define IRQ_I2C 40
#define IRQ_CLKC 41
/* Embedded Debugging Interrupts */
#define IRQ_ICE 42
#define IRQ_ARMCOM_RX 43
#define IRQ_ARMCOM_TX 44
#define IRQ_RESERVED 45
#define NR_IRQS 46
/* Taken from linux/include/asm-arm/arch-integrator/timex.h
*
* Copyright (C) 1999 ARM Limited
*/
#define CONFIG_TIMER0_TMMD_STOP 0x0000
#define CONFIG_TIMER0_TMMD_ONE_SHOT 0x0001
#define CONFIG_TIMER0_TMMD_FREE_RUN 0x0002
#define CONFIG_TIMER1_TMMD_STOP 0x0000
#define CONFIG_TIMER1_TMMD_ONE_SHOT 0x0001
#define CONFIG_TIMER1_TMMD_FREE_RUN 0x0002
#define CONFIG_TIMER2_TMMD_STOP 0x0000
#define CONFIG_TIMER2_TMMD_ONE_SHOT 0x0001
#define CONFIG_TIMER2_TMMD_FREE_RUN 0x0002
#define CONFIG_TIMER2_TMMD_CCD_SHUTTER 0x0100
#define CONFIG_TIMER2_TMMD_CCD_STROBE 0x0200
#define CONFIG_TIMER2_TMMD_POLARITY 0x0400
#define CONFIG_TIMER2_TMMD_TRG_SELECT 0x0800
#define CONFIG_TIMER2_TMMD_TRG_READY 0x1000
#define CONFIG_TIMER2_TMMD_SIGNAL 0x2000
#define CONFIG_TIMER3_TMMD_STOP 0x0000
#define CONFIG_TIMER3_TMMD_ONE_SHOT 0x0001
#define CONFIG_TIMER3_TMMD_FREE_RUN 0x0002
#define CONFIG_TIMER3_TMMD_CCD_SHUTTER 0x0100
#define CONFIG_TIMER3_TMMD_CCD_STROBE 0x0200
#define CONFIG_TIMER3_TMMD_POLARITY 0x0400
#define CONFIG_TIMER3_TMMD_TRG_SELECT 0x0800
#define CONFIG_TIMER3_TMMD_TRG_READY 0x1000
#define CONFIG_TIMER3_TMMD_SIGNAL 0x2000
#endif