ppc440.h

来自「uboot详细解读可用启动引导LINUX2.6内核」· C头文件 代码 · 共 1,185 行 · 第 1/5 页

H
1,185
字号
/*----------------------------------------------------------------------------+||	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+----------------------------------------------------------------------------*//* * (C) Copyright 2006 * Sylvie Gohl,             AMCC/IBM, gohl.sylvie@fr.ibm.com * Jacqueline Pira-Ferriol, AMCC/IBM, jpira-ferriol@fr.ibm.com * Thierry Roman,           AMCC/IBM, thierry_roman@fr.ibm.com * Alain Saurel,            AMCC/IBM, alain.saurel@fr.ibm.com * Robert Snyder,           AMCC/IBM, rob.snyder@fr.ibm.com * * This program 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 of * the License, or (at your option) any later version. * * This program 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 this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA */#ifndef __PPC440_H__#define __PPC440_H__#define CFG_DCACHE_SIZE		(32 << 10)	/* For AMCC 440 CPUs	*//*--------------------------------------------------------------------- *//* Special Purpose Registers						*//*--------------------------------------------------------------------- */#define	 xer_reg 0x001#define	 lr_reg	0x008#define	 dec	0x016	/* decrementer */#define	 srr0	0x01a	/* save/restore register 0 */#define	 srr1	0x01b	/* save/restore register 1 */#define	 pid	0x030	/* process id */#define	 decar	0x036	/* decrementer auto-reload */#define	 csrr0	0x03a	/* critical save/restore register 0 */#define	 csrr1	0x03b	/* critical save/restore register 1 */#define	 dear	0x03d	/* data exception address register */#define	 esr	0x03e	/* exception syndrome register */#define	 ivpr	0x03f	/* interrupt prefix register */#define	 usprg0 0x100	/* user special purpose register general 0 */#define	 usprg1 0x110	/* user special purpose register general 1 */#define	 tblr	0x10c	/* time base lower, read only */#define	 tbur	0x10d	/* time base upper, read only */#define	 sprg1	0x111	/* special purpose register general 1 */#define	 sprg2	0x112	/* special purpose register general 2 */#define	 sprg3	0x113	/* special purpose register general 3 */#define	 sprg4	0x114	/* special purpose register general 4 */#define	 sprg5	0x115	/* special purpose register general 5 */#define	 sprg6	0x116	/* special purpose register general 6 */#define	 sprg7	0x117	/* special purpose register general 7 */#define	 tbl	0x11c	/* time base lower (supervisor)*/#define	 tbu	0x11d	/* time base upper (supervisor)*/#define	 pir	0x11e	/* processor id register *//*#define  pvr	0x11f	 processor version register */#define	 dbsr	0x130	/* debug status register */#define	 dbcr0	0x134	/* debug control register 0 */#define	 dbcr1	0x135	/* debug control register 1 */#define	 dbcr2	0x136	/* debug control register 2 */#define	 iac1	0x138	/* instruction address compare 1 */#define	 iac2	0x139	/* instruction address compare 2 */#define	 iac3	0x13a	/* instruction address compare 3 */#define	 iac4	0x13b	/* instruction address compare 4 */#define	 dac1	0x13c	/* data address compare 1 */#define	 dac2	0x13d	/* data address compare 2 */#define	 dvc1	0x13e	/* data value compare 1 */#define	 dvc2	0x13f	/* data value compare 2 */#define	 tsr	0x150	/* timer status register */#define	 tcr	0x154	/* timer control register */#define	 ivor0	0x190	/* interrupt vector offset register 0 */#define	 ivor1	0x191	/* interrupt vector offset register 1 */#define	 ivor2	0x192	/* interrupt vector offset register 2 */#define	 ivor3	0x193	/* interrupt vector offset register 3 */#define	 ivor4	0x194	/* interrupt vector offset register 4 */#define	 ivor5	0x195	/* interrupt vector offset register 5 */#define	 ivor6	0x196	/* interrupt vector offset register 6 */#define	 ivor7	0x197	/* interrupt vector offset register 7 */#define	 ivor8	0x198	/* interrupt vector offset register 8 */#define	 ivor9	0x199	/* interrupt vector offset register 9 */#define	 ivor10 0x19a	/* interrupt vector offset register 10 */#define	 ivor11 0x19b	/* interrupt vector offset register 11 */#define	 ivor12 0x19c	/* interrupt vector offset register 12 */#define	 ivor13 0x19d	/* interrupt vector offset register 13 */#define	 ivor14 0x19e	/* interrupt vector offset register 14 */#define	 ivor15 0x19f	/* interrupt vector offset register 15 */#if defined(CONFIG_440)#define	 mcsrr0 0x23a	/* machine check save/restore register 0 */#define	 mcsrr1 0x23b	/* mahcine check save/restore register 1 */#define	 mcsr	0x23c	/* machine check status register */#endif#define	 inv0	0x370	/* instruction cache normal victim 0 */#define	 inv1	0x371	/* instruction cache normal victim 1 */#define	 inv2	0x372	/* instruction cache normal victim 2 */#define	 inv3	0x373	/* instruction cache normal victim 3 */#define	 itv0	0x374	/* instruction cache transient victim 0 */#define	 itv1	0x375	/* instruction cache transient victim 1 */#define	 itv2	0x376	/* instruction cache transient victim 2 */#define	 itv3	0x377	/* instruction cache transient victim 3 */#define	 dnv0	0x390	/* data cache normal victim 0 */#define	 dnv1	0x391	/* data cache normal victim 1 */#define	 dnv2	0x392	/* data cache normal victim 2 */#define	 dnv3	0x393	/* data cache normal victim 3 */#define	 dtv0	0x394	/* data cache transient victim 0 */#define	 dtv1	0x395	/* data cache transient victim 1 */#define	 dtv2	0x396	/* data cache transient victim 2 */#define	 dtv3	0x397	/* data cache transient victim 3 */#define	 dvlim	0x398	/* data cache victim limit */#define	 ivlim	0x399	/* instruction cache victim limit */#define	 rstcfg 0x39b	/* reset configuration */#define	 dcdbtrl 0x39c	/* data cache debug tag register low */#define	 dcdbtrh 0x39d	/* data cache debug tag register high */#define	 icdbtrl 0x39e	/* instruction cache debug tag register low */#define	 icdbtrh 0x39f	/* instruction cache debug tag register high */#define	 mmucr	0x3b2	/* mmu control register */#define	 ccr0	0x3b3	/* core configuration register 0 */#define  ccr1	0x378	/* core configuration for 440x5 only */#define	 icdbdr 0x3d3	/* instruction cache debug data register */#define	 dbdr	0x3f3	/* debug data register *//****************************************************************************** * DCRs & Related ******************************************************************************//*----------------------------------------------------------------------------- | Clocking Controller +----------------------------------------------------------------------------*//* values for clkcfga register - indirect addressing of these regs */#define clk_clkukpd	0x0020#define clk_pllc	0x0040#define clk_plld	0x0060#define clk_primad	0x0080#define clk_primbd	0x00a0#define clk_opbd	0x00c0#define clk_perd	0x00e0#define clk_mald	0x0100#define clk_spcid	0x0120#define clk_icfg	0x0140/* 440gx sdr register definations */#define sdr_sdstp0	0x0020	    /* */#define sdr_sdstp1	0x0021	    /* */#define SDR_PINSTP	0x0040#define sdr_sdcs	0x0060#define sdr_ecid0	0x0080#define sdr_ecid1	0x0081#define sdr_ecid2	0x0082#define sdr_jtag	0x00c0#if !defined(CONFIG_440EPX) && !defined(CONFIG_440GRX)#define sdr_ddrdl	0x00e0#else#define sdr_cfg		0x00e0#define SDR_CFG_LT2_MASK          0x01000000 /* Leakage test 2*/#define SDR_CFG_64_32BITS_MASK    0x01000000 /* Switch DDR 64 bits or 32 bits */#define SDR_CFG_32BITS            0x00000000  /* 32 bits */#define SDR_CFG_64BITS            0x01000000  /* 64 bits */#define SDR_CFG_MC_V2518_MASK     0x02000000 /* Low VDD2518 (2.5 or 1.8V) */#define SDR_CFG_MC_V25            0x00000000  /* 2.5 V */#define SDR_CFG_MC_V18            0x02000000  /* 1.8 V */#endif /* !defined(CONFIG_440EPX) && !defined(CONFIG_440GRX) */#define sdr_ebc		0x0100#define sdr_uart0	0x0120	/* UART0 Config */#define sdr_uart1	0x0121	/* UART1 Config */#define sdr_uart2	0x0122	/* UART2 Config */#define sdr_uart3	0x0123	/* UART3 Config */#define sdr_cp440	0x0180#define sdr_xcr		0x01c0#define sdr_xpllc	0x01c1#define sdr_xplld	0x01c2#define sdr_srst	0x0200#define sdr_slpipe	0x0220#define sdr_amp0        0x0240  /* Override PLB4 prioritiy for up to 8 masters */#define sdr_amp1        0x0241  /* Override PLB3 prioritiy for up to 8 masters */#define sdr_mirq0	0x0260#define sdr_mirq1	0x0261#define sdr_maltbl	0x0280#define sdr_malrbl	0x02a0#define sdr_maltbs	0x02c0#define sdr_malrbs	0x02e0#define sdr_pci0	0x0300#define sdr_usb0	0x0320#define sdr_cust0	0x4000#define sdr_cust1	0x4002#define sdr_pfc0	0x4100	/* Pin Function 0 */#define sdr_pfc1	0x4101	/* Pin Function 1 */#define sdr_plbtr	0x4200#define sdr_mfr		0x4300	/* SDR0_MFR reg */#ifdef CONFIG_440GX#define sdr_amp		0x0240#define sdr_xpllc	0x01c1#define sdr_xplld	0x01c2#define sdr_xcr		0x01c0#define sdr_sdstp2	0x4001#define sdr_sdstp3	0x4003#endif	/* CONFIG_440GX *//*----------------------------------------------------------------------------+| Core Configuration/MMU configuration for 440 (CCR1 for 440x5 only).+----------------------------------------------------------------------------*/#define CCR0_PRE		0x40000000#define CCR0_CRPE		0x08000000#define CCR0_DSTG		0x00200000#define CCR0_DAPUIB		0x00100000#define CCR0_DTB		0x00008000#define CCR0_GICBT		0x00004000#define CCR0_GDCBT		0x00002000#define CCR0_FLSTA		0x00000100#define CCR0_ICSLC_MASK		0x0000000C#define CCR0_ICSLT_MASK		0x00000003#define CCR1_TCS_MASK		0x00000080#define CCR1_TCS_INTCLK		0x00000000#define CCR1_TCS_EXTCLK		0x00000080

⌨️ 快捷键说明

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