📄 ppc440.h
字号:
/*----------------------------------------------------------------------------+|| 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 __PPC440_H__#define __PPC440_H__/*--------------------------------------------------------------------- *//* 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_440GX) || \ defined(CONFIG_440EP) || defined(CONFIG_440GR) || \ defined(CONFIG_440EPX) || defined(CONFIG_440GRX) || \ defined(CONFIG_440SP) || defined(CONFIG_440SPE)#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 +----------------------------------------------------------------------------*/#define CLOCKING_DCR_BASE 0x0c#define clkcfga (CLOCKING_DCR_BASE+0x0)#define clkcfgd (CLOCKING_DCR_BASE+0x1)/* 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_DCR_BASE 0x0e#define sdrcfga (SDR_DCR_BASE+0x0)#define sdrcfgd (SDR_DCR_BASE+0x1)#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 */#if defined(CONFIG_440EPX) || defined(CONFIG_440GRX) /* test-only!!!! */#define DDR0_00 0x00#define DDR0_01 0x01#define DDR0_02 0x02#define DDR0_03 0x03#define DDR0_04 0x04#define DDR0_05 0x05#define DDR0_06 0x06#define DDR0_07 0x07#define DDR0_08 0x08#define DDR0_09 0x09#define DDR0_10 0x0A#define DDR0_11 0x0B#define DDR0_12 0x0C#define DDR0_13 0x0D#define DDR0_14 0x0E#define DDR0_15 0x0F#define DDR0_16 0x10#define DDR0_17 0x11#define DDR0_18 0x12#define DDR0_19 0x13#define DDR0_20 0x14#define DDR0_21 0x15#define DDR0_22 0x16#define DDR0_23 0x17#define DDR0_24 0x18#define DDR0_25 0x19#define DDR0_26 0x1A#define DDR0_27 0x1B#define DDR0_28 0x1C#define DDR0_29 0x1D#define DDR0_30 0x1E#define DDR0_31 0x1F#define DDR0_32 0x20#define DDR0_33 0x21#define DDR0_34 0x22#define DDR0_35 0x23#define DDR0_36 0x24#define DDR0_37 0x25#define DDR0_38 0x26#define DDR0_39 0x27#define DDR0_40 0x28#define DDR0_41 0x29#define DDR0_42 0x2A#define DDR0_43 0x2B
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -