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

📄 ppc405.h

📁 F:worksip2440a board可启动u-boot-like.tar.gz F:worksip2440a board可启动u-boot-like.tar.gz
💻 H
📖 第 1 页 / 共 3 页
字号:
/*----------------------------------------------------------------------------+||       This source code has been made available to you by IBM on an AS-IS|       basis.  Anyone receiving this source is licensed under IBM|       copyrights to use it in any way he or she deems fit, including|       copying it, modifying it, compiling it, and redistributing it either|       with or without modifications.  No license under IBM patents or|       patent applications is to be implied by the copyright license.||       Any user of this software should understand that IBM cannot provide|       technical support for this software and will not be responsible for|       any consequences resulting from the use of this software.||       Any person who transfers this source code or any derivative work|       must include the IBM copyright notice, this paragraph, and the|       preceding two paragraphs in the transferred software.||       COPYRIGHT   I B M   CORPORATION 1999|       LICENSED MATERIAL  -  PROGRAM PROPERTY OF I B M+----------------------------------------------------------------------------*/#ifndef	__PPC405_H__#define __PPC405_H__/*--------------------------------------------------------------------- *//* Special Purpose Registers						*//*--------------------------------------------------------------------- */	#define  srr2  0x3de      /* save/restore register 2 */	#define  srr3  0x3df      /* save/restore register 3 */	#define  dbsr  0x3f0      /* debug status register */	#define  dbcr0 0x3f2      /* debug control register 0 */	#define  dbcr1 0x3bd      /* debug control register 1 */	#define  iac1  0x3f4      /* instruction address comparator 1 */	#define  iac2  0x3f5      /* instruction address comparator 2 */	#define  iac3  0x3b4      /* instruction address comparator 3 */	#define  iac4  0x3b5      /* instruction address comparator 4 */	#define  dac1  0x3f6      /* data address comparator 1 */	#define  dac2  0x3f7      /* data address comparator 2 */	#define  dccr  0x3fa      /* data cache control register */	#define  iccr  0x3fb      /* instruction cache control register */	#define  esr   0x3d4      /* execption syndrome register */	#define  dear  0x3d5      /* data exeption address register */	#define  evpr  0x3d6      /* exeption vector prefix register */	#define  tsr   0x3d8      /* timer status register */	#define  tcr   0x3da      /* timer control register */	#define  pit   0x3db      /* programmable interval timer */	#define  sgr   0x3b9      /* storage guarded reg      */	#define  dcwr  0x3ba      /* data cache write-thru reg*/	#define  sler  0x3bb      /* storage little-endian reg */	#define  cdbcr 0x3d7      /* cache debug cntrl reg    */	#define  icdbdr 0x3d3     /* instr cache dbug data reg*/	#define  ccr0  0x3b3      /* core configuration register */	#define  dvc1  0x3b6      /* data value compare register 1 */	#define  dvc2  0x3b7      /* data value compare register 2 */	#define  pid   0x3b1      /* process ID */	#define  su0r  0x3bc      /* storage user-defined register 0 */	#define  zpr   0x3b0      /* zone protection regsiter */	#define  tbl   0x11c      /* time base lower - privileged write */	#define  tbu   0x11d      /* time base upper - privileged write */	#define  sprg4r 0x104     /* Special purpose general 4 - read only */	#define  sprg5r 0x105     /* Special purpose general 5 - read only */	#define  sprg6r 0x106     /* Special purpose general 6 - read only */	#define  sprg7r 0x107     /* Special purpose general 7 - read only */	#define  sprg4w 0x114     /* Special purpose general 4 - write only */	#define  sprg5w 0x115     /* Special purpose general 5 - write only */	#define  sprg6w 0x116     /* Special purpose general 6 - write only */	#define  sprg7w 0x117     /* Special purpose general 7 - write only *//****************************************************************************** * Special for PPC405GP ******************************************************************************//****************************************************************************** * DMA ******************************************************************************/#define DMA_DCR_BASE 0x100#define dmacr0  (DMA_DCR_BASE+0x00)  /* DMA channel control register 0       */#define dmact0  (DMA_DCR_BASE+0x01)  /* DMA count register 0                 */#define dmada0  (DMA_DCR_BASE+0x02)  /* DMA destination address register 0   */#define dmasa0  (DMA_DCR_BASE+0x03)  /* DMA source address register 0        */#define dmasb0  (DMA_DCR_BASE+0x04)  /* DMA scatter/gather descriptor addr 0 */#define dmacr1  (DMA_DCR_BASE+0x08)  /* DMA channel control register 1       */#define dmact1  (DMA_DCR_BASE+0x09)  /* DMA count register 1                 */#define dmada1  (DMA_DCR_BASE+0x0a)  /* DMA destination address register 1   */#define dmasa1  (DMA_DCR_BASE+0x0b)  /* DMA source address register 1        */#define dmasb1  (DMA_DCR_BASE+0x0c)  /* DMA scatter/gather descriptor addr 1 */#define dmacr2  (DMA_DCR_BASE+0x10)  /* DMA channel control register 2       */#define dmact2  (DMA_DCR_BASE+0x11)  /* DMA count register 2                 */#define dmada2  (DMA_DCR_BASE+0x12)  /* DMA destination address register 2   */#define dmasa2  (DMA_DCR_BASE+0x13)  /* DMA source address register 2        */#define dmasb2  (DMA_DCR_BASE+0x14)  /* DMA scatter/gather descriptor addr 2 */#define dmacr3  (DMA_DCR_BASE+0x18)  /* DMA channel control register 3       */#define dmact3  (DMA_DCR_BASE+0x19)  /* DMA count register 3                 */#define dmada3  (DMA_DCR_BASE+0x1a)  /* DMA destination address register 3   */#define dmasa3  (DMA_DCR_BASE+0x1b)  /* DMA source address register 3        */#define dmasb3  (DMA_DCR_BASE+0x1c)  /* DMA scatter/gather descriptor addr 3 */#define dmasr   (DMA_DCR_BASE+0x20)  /* DMA status register                  */#define dmasgc  (DMA_DCR_BASE+0x23)  /* DMA scatter/gather command register  */#define dmaadr  (DMA_DCR_BASE+0x24)  /* DMA address decode register          *//****************************************************************************** * Universal interrupt controller ******************************************************************************/#define UIC_DCR_BASE 0xc0#define uicsr        (UIC_DCR_BASE+0x0)  /* UIC status                       */#define uicsrs       (UIC_DCR_BASE+0x1)  /* UIC status set                   */#define uicer        (UIC_DCR_BASE+0x2)  /* UIC enable                       */#define uiccr        (UIC_DCR_BASE+0x3)  /* UIC critical                     */#define uicpr        (UIC_DCR_BASE+0x4)  /* UIC polarity                     */#define uictr        (UIC_DCR_BASE+0x5)  /* UIC triggering                   */#define uicmsr       (UIC_DCR_BASE+0x6)  /* UIC masked status                */#define uicvr        (UIC_DCR_BASE+0x7)  /* UIC vector                       */#define uicvcr       (UIC_DCR_BASE+0x8)  /* UIC vector configuration         *//*-----------------------------------------------------------------------------+|  Universal interrupt controller interrupts+-----------------------------------------------------------------------------*/#define UIC_UART0     0x80000000      /* UART 0                             */#define UIC_UART1     0x40000000      /* UART 1                             */#define UIC_IIC       0x20000000      /* IIC                                */#define UIC_EXT_MAST  0x10000000      /* External Master                    */#define UIC_PCI       0x08000000      /* PCI write to command reg           */#define UIC_DMA0      0x04000000      /* DMA chan. 0                        */#define UIC_DMA1      0x02000000      /* DMA chan. 1                        */#define UIC_DMA2      0x01000000      /* DMA chan. 2                        */#define UIC_DMA3      0x00800000      /* DMA chan. 3                        */#define UIC_EMAC_WAKE 0x00400000      /* EMAC wake up                       */#define UIC_MAL_SERR  0x00200000      /* MAL SERR                           */#define UIC_MAL_TXEOB 0x00100000      /* MAL TXEOB                          */#define UIC_MAL_RXEOB 0x00080000      /* MAL RXEOB                          */#define UIC_MAL_TXDE  0x00040000      /* MAL TXDE                           */#define UIC_MAL_RXDE  0x00020000      /* MAL RXDE                           */#define UIC_ENET      0x00010000      /* Ethernet0                          */#define UIC_ENET1     0x00004000      /* Ethernet1 on 405EP                 */#define UIC_ECC_CE    0x00004000      /* ECC Correctable Error on 405GP     */#define UIC_EXT_PCI_SERR 0x00008000   /* External PCI SERR#                 */#define UIC_PCI_PM    0x00002000      /* PCI Power Management               */#define UIC_EXT0      0x00000040      /* External  interrupt 0              */#define UIC_EXT1      0x00000020      /* External  interrupt 1              */#define UIC_EXT2      0x00000010      /* External  interrupt 2              */#define UIC_EXT3      0x00000008      /* External  interrupt 3              */#define UIC_EXT4      0x00000004      /* External  interrupt 4              */#define UIC_EXT5      0x00000002      /* External  interrupt 5              */#define UIC_EXT6      0x00000001      /* External  interrupt 6              *//****************************************************************************** * SDRAM Controller ******************************************************************************/#define SDRAM_DCR_BASE 0x10#define memcfga  (SDRAM_DCR_BASE+0x0)   /* Memory configuration address reg  */#define memcfgd  (SDRAM_DCR_BASE+0x1)   /* Memory configuration data    reg  */  /* values for memcfga register - indirect addressing of these regs */#ifndef CONFIG_405EP  #define mem_besra   0x00    /* bus error syndrome reg a	     */  #define mem_besrsa  0x04    /* bus error syndrome reg set a	     */  #define mem_besrb   0x08    /* bus error syndrome reg b	     */  #define mem_besrsb  0x0c    /* bus error syndrome reg set b	     */  #define mem_bear    0x10    /* bus error address reg		     */#endif  #define mem_mcopt1  0x20    /* memory controller options 1	     */  #define mem_rtr     0x30    /* refresh timer reg		     */  #define mem_pmit    0x34    /* power management idle timer	     */  #define mem_mb0cf   0x40    /* memory bank 0 configuration	     */  #define mem_mb1cf   0x44    /* memory bank 1 configuration	     */#ifndef CONFIG_405EP  #define mem_mb2cf   0x48    /* memory bank 2 configuration	     */  #define mem_mb3cf   0x4c    /* memory bank 3 configuration	     */#endif  #define mem_sdtr1   0x80    /* timing reg 1			     */#ifndef CONFIG_405EP  #define mem_ecccf   0x94    /* ECC configuration		     */  #define mem_eccerr  0x98    /* ECC error status		     */#endif#ifndef CONFIG_405EP/****************************************************************************** * Decompression Controller ******************************************************************************/#define DECOMP_DCR_BASE 0x14#define kiar  (DECOMP_DCR_BASE+0x0)  /* Decompression controller addr reg    */#define kidr  (DECOMP_DCR_BASE+0x1)  /* Decompression controller data reg    */  /* values for kiar register - indirect addressing of these regs */  #define kitor0      0x00    /* index table origin register 0	      */  #define kitor1      0x01    /* index table origin register 1	      */  #define kitor2      0x02    /* index table origin register 2	      */  #define kitor3      0x03    /* index table origin register 3	      */  #define kaddr0      0x04    /* address decode definition regsiter 0 */  #define kaddr1      0x05    /* address decode definition regsiter 1 */  #define kconf       0x40    /* decompression core config register   */  #define kid         0x41    /* decompression core ID     register   */  #define kver        0x42    /* decompression core version # reg     */  #define kpear       0x50    /* bus error addr reg (PLB addr)        */  #define kbear       0x51    /* bus error addr reg (DCP to EBIU addr)*/  #define kesr0       0x52    /* bus error status reg 0  (R/clear)    */  #define kesr0s      0x53    /* bus error status reg 0  (set)        */  /* There are 0x400 of the following registers, from krom0 to krom3ff*/  /* Only the first one is given here.                                */  #define krom0      0x400    /* SRAM/ROM read/write                  */#endif/****************************************************************************** * Power Management ******************************************************************************/#define POWERMAN_DCR_BASE 0xb8#define cpmsr (POWERMAN_DCR_BASE+0x0) /* Power management status             */#define cpmer (POWERMAN_DCR_BASE+0x1) /* Power management enable             */#define cpmfr (POWERMAN_DCR_BASE+0x2) /* Power management force              *//****************************************************************************** * Extrnal Bus Controller ******************************************************************************/#define EBC_DCR_BASE 0x12#define ebccfga (EBC_DCR_BASE+0x0)   /* External bus controller addr reg     */#define ebccfgd (EBC_DCR_BASE+0x1)   /* External bus controller data reg     */  /* values for ebccfga register - indirect addressing of these regs */  #define pb0cr       0x00    /* periph bank 0 config reg            */  #define pb1cr       0x01    /* periph bank 1 config reg            */  #define pb2cr       0x02    /* periph bank 2 config reg            */  #define pb3cr       0x03    /* periph bank 3 config reg            */  #define pb4cr       0x04    /* periph bank 4 config reg            */#ifndef CONFIG_405EP  #define pb5cr       0x05    /* periph bank 5 config reg            */  #define pb6cr       0x06    /* periph bank 6 config reg            */  #define pb7cr       0x07    /* periph bank 7 config reg            */#endif  #define pb0ap       0x10    /* periph bank 0 access parameters     */  #define pb1ap       0x11    /* periph bank 1 access parameters     */  #define pb2ap       0x12    /* periph bank 2 access parameters     */  #define pb3ap       0x13    /* periph bank 3 access parameters     */  #define pb4ap       0x14    /* periph bank 4 access parameters     */

⌨️ 快捷键说明

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