📄 ppc4xx.h
字号:
#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 *//****************************************************************************** * 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 */ #define pb5cr 0x05 /* periph bank 5 config reg */ #define pb6cr 0x06 /* periph bank 6 config reg */ #define pb7cr 0x07 /* periph bank 7 config reg */ #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 */ #define pb5ap 0x15 /* periph bank 5 access parameters */ #define pb6ap 0x16 /* periph bank 6 access parameters */ #define pb7ap 0x17 /* periph bank 7 access parameters */ #define pbear 0x20 /* periph bus error addr reg */ #define pbesr0 0x21 /* periph bus error status reg 0 */ #define pbesr1 0x22 /* periph bus error status reg 1 */ #define epcr 0x23 /* external periph control reg *//****************************************************************************** * Control ******************************************************************************/#define CNTRL_DCR_BASE 0x0b0#define pllmd (CNTRL_DCR_BASE+0x0) /* PLL mode register */#define cntrl0 (CNTRL_DCR_BASE+0x1) /* Control 0 register */#define cntrl1 (CNTRL_DCR_BASE+0x2) /* Control 1 register */#define reset (CNTRL_DCR_BASE+0x3) /* reset register */#define strap (CNTRL_DCR_BASE+0x4) /* strap register *//* Bit definitions */#define PLLMR_FWD_DIV_MASK 0xE0000000 /* Forward Divisor */#define PLLMR_FWD_DIV_BYPASS 0xE0000000#define PLLMR_FWD_DIV_3 0xA0000000#define PLLMR_FWD_DIV_4 0x80000000#define PLLMR_FWD_DIV_6 0x40000000#define PLLMR_FB_DIV_MASK 0x1E000000 /* Feedback Divisor */#define PLLMR_FB_DIV_1 0x02000000#define PLLMR_FB_DIV_2 0x04000000#define PLLMR_FB_DIV_3 0x06000000#define PLLMR_FB_DIV_4 0x08000000#define PLLMR_TUNING_MASK 0x01F80000#define PLLMR_CPU_TO_PLB_MASK 0x00060000 /* CPU:PLB Frequency Divisor */#define PLLMR_CPU_PLB_DIV_1 0x00000000#define PLLMR_CPU_PLB_DIV_2 0x00020000#define PLLMR_CPU_PLB_DIV_3 0x00040000#define PLLMR_CPU_PLB_DIV_4 0x00060000#define PLLMR_OPB_TO_PLB_MASK 0x00018000 /* OPB:PLB Frequency Divisor */#define PLLMR_OPB_PLB_DIV_1 0x00000000#define PLLMR_OPB_PLB_DIV_2 0x00008000#define PLLMR_OPB_PLB_DIV_3 0x00010000#define PLLMR_OPB_PLB_DIV_4 0x00018000#define PLLMR_PCI_TO_PLB_MASK 0x00006000 /* PCI:PLB Frequency Divisor */#define PLLMR_PCI_PLB_DIV_1 0x00000000#define PLLMR_PCI_PLB_DIV_2 0x00002000#define PLLMR_PCI_PLB_DIV_3 0x00004000#define PLLMR_PCI_PLB_DIV_4 0x00006000#define PLLMR_EXB_TO_PLB_MASK 0x00001800 /* External Bus:PLB Divisor */#define PLLMR_EXB_PLB_DIV_2 0x00000000#define PLLMR_EXB_PLB_DIV_3 0x00000800#define PLLMR_EXB_PLB_DIV_4 0x00001000#define PLLMR_EXB_PLB_DIV_5 0x00001800#define PSR_PLL_FWD_MASK 0xC0000000#define PSR_PLL_FDBACK_MASK 0x30000000#define PSR_PLL_TUNING_MASK 0x0E000000#define PSR_PLB_CPU_MASK 0x01800000#define PSR_OPB_PLB_MASK 0x00600000#define PSR_PCI_PLB_MASK 0x00180000#define PSR_EB_PLB_MASK 0x00060000#define PSR_ROM_WIDTH_MASK 0x00018000#define PSR_ROM_LOC 0x00004000#define PSR_PCI_ASYNC_EN 0x00001000#define PSR_PCI_ARBIT_EN 0x00000400/* * PLL Voltage Controlled Oscillator (VCO) definitions * Maximum and minimum values (in MHz) for correct PLL operation. */#define VCO_MIN 400#define VCO_MAX 800/****************************************************************************** * Memory Access Layer ******************************************************************************/#define MAL_DCR_BASE 0x180#define malmcr (MAL_DCR_BASE+0x00) /* MAL Config reg */#define malesr (MAL_DCR_BASE+0x01) /* Error Status reg (Read/Clear) */#define malier (MAL_DCR_BASE+0x02) /* Interrupt enable reg */#define maldbr (MAL_DCR_BASE+0x03) /* Mal Debug reg (Read only) */#define maltxcasr (MAL_DCR_BASE+0x04) /* TX Channel active reg (set) */#define maltxcarr (MAL_DCR_BASE+0x05) /* TX Channel active reg (Reset) */#define maltxeobisr (MAL_DCR_BASE+0x06) /* TX End of buffer int status reg */#define maltxdeir (MAL_DCR_BASE+0x07) /* TX Descr. Error Int reg */#define malrxcasr (MAL_DCR_BASE+0x10) /* RX Channel active reg (set) */#define malrxcarr (MAL_DCR_BASE+0x11) /* RX Channel active reg (Reset) */#define malrxeobisr (MAL_DCR_BASE+0x12) /* RX End of buffer int status reg */#define malrxdeir (MAL_DCR_BASE+0x13) /* RX Descr. Error Int reg */#define maltxctp0r (MAL_DCR_BASE+0x20) /* TX 0 Channel table pointer reg */#define maltxctp1r (MAL_DCR_BASE+0x21) /* TX 1 Channel table pointer reg */#define malrxctp0r (MAL_DCR_BASE+0x40) /* RX 0 Channel table pointer reg */#define malrcbs0 (MAL_DCR_BASE+0x60) /* RX 0 Channel buffer size reg *//*-----------------------------------------------------------------------------| IIC Register Offsets'----------------------------------------------------------------------------*/#define IICMDBUF 0x00#define IICSDBUF 0x02#define IICLMADR 0x04#define IICHMADR 0x05#define IICCNTL 0x06#define IICMDCNTL 0x07#define IICSTS 0x08#define IICEXTSTS 0x09#define IICLSADR 0x0A#define IICHSADR 0x0B#define IICCLKDIV 0x0C#define IICINTRMSK 0x0D#define IICXFRCNT 0x0E#define IICXTCNTLSS 0x0F#define IICDIRECTCNTL 0x10/*-----------------------------------------------------------------------------| UART Register Offsets'----------------------------------------------------------------------------*/#define DATA_REG 0x00#define DL_LSB 0x00#define DL_MSB 0x01#define INT_ENABLE 0x01#define FIFO_CONTROL 0x02#define LINE_CONTROL 0x03#define MODEM_CONTROL 0x04#define LINE_STATUS 0x05#define MODEM_STATUS 0x06#define SCRATCH 0x07/****************************************************************************** * On Chip Memory ******************************************************************************/#define OCM_DCR_BASE 0x018#define ocmisarc (OCM_DCR_BASE+0x00) /* OCM I-side address compare reg */#define ocmiscntl (OCM_DCR_BASE+0x01) /* OCM I-side control reg */#define ocmdsarc (OCM_DCR_BASE+0x02) /* OCM D-side address compare reg */#define ocmdscntl (OCM_DCR_BASE+0x03) /* OCM D-side control reg */typedef struct{ unsigned long pllFwdDiv; unsigned long pllFbkDiv; unsigned long pllPlbDiv; unsigned long pllPciDiv; unsigned long pllExtBusDiv; unsigned long pllOpbDiv; unsigned long freqVCOMhz; /* in MHz */ unsigned long freqProcessor; unsigned long freqPLB; unsigned long freqPCI; unsigned long pciIntArbEn; /* Internal PCI arbiter is enabled */ unsigned long pciClkSync; /* PCI clock is synchronous */} PPC405_SYS_INFO;#endif /* __PPC4XX_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -