ppc440.h

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

H
1,185
字号
/* Pin Function Control Register 1 */#define SDR0_PFC1                    0x4101#define   SDR0_PFC1_U1ME_MASK         0x02000000    /* UART1 Mode Enable */#define   SDR0_PFC1_U1ME_DSR_DTR      0x00000000      /* UART1 in DSR/DTR Mode */#define   SDR0_PFC1_U1ME_CTS_RTS      0x02000000      /* UART1 in CTS/RTS Mode */#define   SDR0_PFC1_U0ME_MASK         0x00080000    /* UART0 Mode Enable */#define   SDR0_PFC1_U0ME_DSR_DTR      0x00000000      /* UART0 in DSR/DTR Mode */#define   SDR0_PFC1_U0ME_CTS_RTS      0x00080000      /* UART0 in CTS/RTS Mode */#define   SDR0_PFC1_U0IM_MASK         0x00040000    /* UART0 Interface Mode */#define   SDR0_PFC1_U0IM_8PINS        0x00000000      /* UART0 Interface Mode 8 pins */#define   SDR0_PFC1_U0IM_4PINS        0x00040000      /* UART0 Interface Mode 4 pins */#define   SDR0_PFC1_SIS_MASK          0x00020000    /* SCP or IIC1 Selection */#define   SDR0_PFC1_SIS_SCP_SEL       0x00000000      /* SCP Selected */#define   SDR0_PFC1_SIS_IIC1_SEL      0x00020000      /* IIC1 Selected */#define   SDR0_PFC1_UES_MASK          0x00010000    /* USB2D_RX_Active / EBC_Hold Req Selection */#define   SDR0_PFC1_UES_USB2D_SEL     0x00000000      /* USB2D_RX_Active Selected */#define   SDR0_PFC1_UES_EBCHR_SEL     0x00010000      /* EBC_Hold Req Selected */#define   SDR0_PFC1_DIS_MASK          0x00008000    /* DMA_Req(1) / UIC_IRQ(5) Selection */#define   SDR0_PFC1_DIS_DMAR_SEL      0x00000000      /* DMA_Req(1) Selected */#define   SDR0_PFC1_DIS_UICIRQ5_SEL   0x00008000      /* UIC_IRQ(5) Selected */#define   SDR0_PFC1_ERE_MASK          0x00004000    /* EBC Mast.Ext.Req.En./GPIO0(27) Selection */#define   SDR0_PFC1_ERE_EXTR_SEL      0x00000000      /* EBC Mast.Ext.Req.En. Selected */#define   SDR0_PFC1_ERE_GPIO0_27_SEL  0x00004000      /* GPIO0(27) Selected */#define   SDR0_PFC1_UPR_MASK          0x00002000    /* USB2 Device Packet Reject Selection */#define   SDR0_PFC1_UPR_DISABLE       0x00000000      /* USB2 Device Packet Reject Disable */#define   SDR0_PFC1_UPR_ENABLE        0x00002000      /* USB2 Device Packet Reject Enable */#define   SDR0_PFC1_PLB_PME_MASK      0x00001000    /* PLB3/PLB4 Perf. Monitor En. Selection */#define   SDR0_PFC1_PLB_PME_PLB3_SEL  0x00000000      /* PLB3 Performance Monitor Enable */#define   SDR0_PFC1_PLB_PME_PLB4_SEL  0x00001000      /* PLB3 Performance Monitor Enable */#define   SDR0_PFC1_GFGGI_MASK        0x0000000F    /* GPT Frequency Generation Gated In */#endif /* 440EP || 440GR || 440EPX || 440GRX *//*----------------------------------------------------------------------------- | L2 Cache +----------------------------------------------------------------------------*/#if defined (CONFIG_440GX) || \    defined(CONFIG_440SP) || defined(CONFIG_440SPE) || \    defined(CONFIG_460EX) || defined(CONFIG_460GT)#define L2_CACHE_BASE	0x030#define l2_cache_cfg	(L2_CACHE_BASE+0x00)	/* L2 Cache Config	*/#define l2_cache_cmd	(L2_CACHE_BASE+0x01)	/* L2 Cache Command	*/#define l2_cache_addr	(L2_CACHE_BASE+0x02)	/* L2 Cache Address	*/#define l2_cache_data	(L2_CACHE_BASE+0x03)	/* L2 Cache Data	*/#define l2_cache_stat	(L2_CACHE_BASE+0x04)	/* L2 Cache Status	*/#define l2_cache_cver	(L2_CACHE_BASE+0x05)	/* L2 Cache Revision ID */#define l2_cache_snp0	(L2_CACHE_BASE+0x06)	/* L2 Cache Snoop reg 0 */#define l2_cache_snp1	(L2_CACHE_BASE+0x07)	/* L2 Cache Snoop reg 1 */#endif /* CONFIG_440GX *//*----------------------------------------------------------------------------- | Internal SRAM +----------------------------------------------------------------------------*/#if defined(CONFIG_440EPX) || defined(CONFIG_440GRX)#define ISRAM0_DCR_BASE 0x380#else#define ISRAM0_DCR_BASE 0x020#endif#define isram0_sb0cr	(ISRAM0_DCR_BASE+0x00)	/* SRAM bank config 0*/#define isram0_sb1cr	(ISRAM0_DCR_BASE+0x01)	/* SRAM bank config 1*/#define isram0_sb2cr	(ISRAM0_DCR_BASE+0x02)	/* SRAM bank config 2*/#define isram0_sb3cr	(ISRAM0_DCR_BASE+0x03)	/* SRAM bank config 3*/#define isram0_bear	(ISRAM0_DCR_BASE+0x04)	/* SRAM bus error addr reg */#define isram0_besr0	(ISRAM0_DCR_BASE+0x05)	/* SRAM bus error status reg 0 */#define isram0_besr1	(ISRAM0_DCR_BASE+0x06)	/* SRAM bus error status reg 1 */#define isram0_pmeg	(ISRAM0_DCR_BASE+0x07)	/* SRAM power management */#define isram0_cid	(ISRAM0_DCR_BASE+0x08)	/* SRAM bus core id reg */#define isram0_revid	(ISRAM0_DCR_BASE+0x09)	/* SRAM bus revision id reg */#define isram0_dpc	(ISRAM0_DCR_BASE+0x0a)	/* SRAM data parity check reg */#if defined(CONFIG_440EP) || defined(CONFIG_440GR) || \    defined(CONFIG_440EPX) || defined(CONFIG_440GRX) || \    defined(CONFIG_460EX) || defined(CONFIG_460GT)/* CUST0 Customer Configuration Register0 */#define SDR0_CUST0                   0x4000#define   SDR0_CUST0_MUX_E_N_G_MASK   0xC0000000     /* Mux_Emac_NDFC_GPIO */#define   SDR0_CUST0_MUX_EMAC_SEL     0x40000000       /* Emac Selection */#define   SDR0_CUST0_MUX_NDFC_SEL     0x80000000       /* NDFC Selection */#define   SDR0_CUST0_MUX_GPIO_SEL     0xC0000000       /* GPIO Selection */#define   SDR0_CUST0_NDFC_EN_MASK     0x20000000     /* NDFC Enable Mask */#define   SDR0_CUST0_NDFC_ENABLE      0x20000000       /* NDFC Enable */#define   SDR0_CUST0_NDFC_DISABLE     0x00000000       /* NDFC Disable */#define   SDR0_CUST0_NDFC_BW_MASK     0x10000000     /* NDFC Boot Width */#define   SDR0_CUST0_NDFC_BW_16_BIT   0x10000000       /* NDFC Boot Width = 16 Bit */#define   SDR0_CUST0_NDFC_BW_8_BIT    0x00000000       /* NDFC Boot Width =  8 Bit */#define   SDR0_CUST0_NDFC_BP_MASK     0x0F000000     /* NDFC Boot Page */#define   SDR0_CUST0_NDFC_BP_ENCODE(n) ((((unsigned long)(n))&0xF)<<24)#define   SDR0_CUST0_NDFC_BP_DECODE(n) ((((unsigned long)(n))>>24)&0x0F)#define   SDR0_CUST0_NDFC_BAC_MASK    0x00C00000     /* NDFC Boot Address Cycle */#define   SDR0_CUST0_NDFC_BAC_ENCODE(n) ((((unsigned long)(n))&0x3)<<22)#define   SDR0_CUST0_NDFC_BAC_DECODE(n) ((((unsigned long)(n))>>22)&0x03)#define   SDR0_CUST0_NDFC_ARE_MASK    0x00200000     /* NDFC Auto Read Enable */#define   SDR0_CUST0_NDFC_ARE_ENABLE  0x00200000       /* NDFC Auto Read Enable */#define   SDR0_CUST0_NDFC_ARE_DISABLE 0x00000000       /* NDFC Auto Read Disable */#define   SDR0_CUST0_NRB_MASK         0x00100000     /* NDFC Ready / Busy */#define   SDR0_CUST0_NRB_BUSY         0x00100000       /* Busy */#define   SDR0_CUST0_NRB_READY        0x00000000       /* Ready */#define   SDR0_CUST0_NDRSC_MASK       0x0000FFF0     /* NDFC Device Reset Count Mask */#define   SDR0_CUST0_NDRSC_ENCODE(n) ((((unsigned long)(n))&0xFFF)<<4)#define   SDR0_CUST0_NDRSC_DECODE(n) ((((unsigned long)(n))>>4)&0xFFF)#define   SDR0_CUST0_CHIPSELGAT_MASK  0x0000000F     /* Chip Select Gating Mask */#define   SDR0_CUST0_CHIPSELGAT_DIS   0x00000000       /* Chip Select Gating Disable */#define   SDR0_CUST0_CHIPSELGAT_ENALL 0x0000000F       /* All Chip Select Gating Enable */#define   SDR0_CUST0_CHIPSELGAT_EN0   0x00000008       /* Chip Select0 Gating Enable */#define   SDR0_CUST0_CHIPSELGAT_EN1   0x00000004       /* Chip Select1 Gating Enable */#define   SDR0_CUST0_CHIPSELGAT_EN2   0x00000002       /* Chip Select2 Gating Enable */#define   SDR0_CUST0_CHIPSELGAT_EN3   0x00000001       /* Chip Select3 Gating Enable */#endif/*----------------------------------------------------------------------------- | On-Chip Buses +----------------------------------------------------------------------------*//* TODO: as needed *//*----------------------------------------------------------------------------- | Clocking, Power Management and Chip Control +----------------------------------------------------------------------------*/#if defined(CONFIG_460EX) || defined(CONFIG_460GT)#define CNTRL_DCR_BASE 0x160#else#define CNTRL_DCR_BASE 0x0b0#endif#define cpc0_er		(CNTRL_DCR_BASE+0x00)	/* CPM enable register		*/#define cpc0_fr		(CNTRL_DCR_BASE+0x01)	/* CPM force register		*/#define cpc0_sr		(CNTRL_DCR_BASE+0x02)	/* CPM status register		*/#define cpc0_sys0	(CNTRL_DCR_BASE+0x30)	/* System configuration reg 0	*/#define cpc0_sys1	(CNTRL_DCR_BASE+0x31)	/* System configuration reg 1	*/#define cpc0_cust0	(CNTRL_DCR_BASE+0x32)	/* Customer configuration reg 0 */#define cpc0_cust1	(CNTRL_DCR_BASE+0x33)	/* Customer configuration reg 1 */#define cpc0_strp0	(CNTRL_DCR_BASE+0x34)	/* Power-on config reg 0 (RO)	*/#define cpc0_strp1	(CNTRL_DCR_BASE+0x35)	/* Power-on config reg 1 (RO)	*/#define cpc0_strp2	(CNTRL_DCR_BASE+0x36)	/* Power-on config reg 2 (RO)	*/#define cpc0_strp3	(CNTRL_DCR_BASE+0x37)	/* Power-on config reg 3 (RO)	*/#define cpc0_gpio	(CNTRL_DCR_BASE+0x38)	/* GPIO config reg (440GP)	*/#define cntrl0		(CNTRL_DCR_BASE+0x3b)	/* Control 0 register		*/#define cntrl1		(CNTRL_DCR_BASE+0x3a)	/* Control 1 register		*//*----------------------------------------------------------------------------- | Universal interrupt controller +----------------------------------------------------------------------------*/#define UIC_SR	0x0			/* UIC status			   */#define UIC_ER	0x2			/* UIC enable			   */#define UIC_CR	0x3			/* UIC critical			   */#define UIC_PR	0x4			/* UIC polarity			   */#define UIC_TR	0x5			/* UIC triggering		   */#define UIC_MSR 0x6			/* UIC masked status		   */#define UIC_VR	0x7			/* UIC vector			   */#define UIC_VCR 0x8			/* UIC vector configuration	   */#define UIC0_DCR_BASE 0xc0#define uic0sr	(UIC0_DCR_BASE+0x0)   /* UIC0 status			   */#define uic0er	(UIC0_DCR_BASE+0x2)   /* UIC0 enable			   */#define uic0cr	(UIC0_DCR_BASE+0x3)   /* UIC0 critical			   */#define uic0pr	(UIC0_DCR_BASE+0x4)   /* UIC0 polarity			   */#define uic0tr	(UIC0_DCR_BASE+0x5)   /* UIC0 triggering		   */#define uic0msr (UIC0_DCR_BASE+0x6)   /* UIC0 masked status		   */#define uic0vr	(UIC0_DCR_BASE+0x7)   /* UIC0 vector			   */#define uic0vcr (UIC0_DCR_BASE+0x8)   /* UIC0 vector configuration	   */#define UIC1_DCR_BASE 0xd0#define uic1sr	(UIC1_DCR_BASE+0x0)   /* UIC1 status			   */#define uic1er	(UIC1_DCR_BASE+0x2)   /* UIC1 enable			   */#define uic1cr	(UIC1_DCR_BASE+0x3)   /* UIC1 critical			   */#define uic1pr	(UIC1_DCR_BASE+0x4)   /* UIC1 polarity			   */#define uic1tr	(UIC1_DCR_BASE+0x5)   /* UIC1 triggering		   */#define uic1msr (UIC1_DCR_BASE+0x6)   /* UIC1 masked status		   */#define uic1vr	(UIC1_DCR_BASE+0x7)   /* UIC1 vector			   */#define uic1vcr (UIC1_DCR_BASE+0x8)   /* UIC1 vector configuration	   */#if defined(CONFIG_440SPE) || \    defined(CONFIG_440EPX) || defined(CONFIG_440GRX) || \    defined(CONFIG_460EX) || defined(CONFIG_460GT)#define UIC2_DCR_BASE 0xe0#define uic2sr	(UIC2_DCR_BASE+0x0)   /* UIC2 status-Read Clear		*/#define uic2srs	(UIC2_DCR_BASE+0x1)   /* UIC2 status-Read Set */#define uic2er	(UIC2_DCR_BASE+0x2)   /* UIC2 enable			*/#define uic2cr	(UIC2_DCR_BASE+0x3)   /* UIC2 critical			*/#define uic2pr	(UIC2_DCR_BASE+0x4)   /* UIC2 polarity			*/#define uic2tr	(UIC2_DCR_BASE+0x5)   /* UIC2 triggering		*/#define uic2msr (UIC2_DCR_BASE+0x6)   /* UIC2 masked status		*/#define uic2vr	(UIC2_DCR_BASE+0x7)   /* UIC2 vector			*/#define uic2vcr (UIC2_DCR_BASE+0x8)   /* UIC2 vector configuration	*/#define UIC3_DCR_BASE 0xf0#define uic3sr	(UIC3_DCR_BASE+0x0)   /* UIC3 status-Read Clear		*/#define uic3srs	(UIC3_DCR_BASE+0x1)   /* UIC3 status-Read Set */#define uic3er	(UIC3_DCR_BASE+0x2)   /* UIC3 enable			*/#define uic3cr	(UIC3_DCR_BASE+0x3)   /* UIC3 critical			*/#define uic3pr	(UIC3_DCR_BASE+0x4)   /* UIC3 polarity			*/#define uic3tr	(UIC3_DCR_BASE+0x5)   /* UIC3 triggering		*/#define uic3msr (UIC3_DCR_BASE+0x6)   /* UIC3 masked status		*/#define uic3vr	(UIC3_DCR_BASE+0x7)   /* UIC3 vector			*/#define uic3vcr (UIC3_DCR_BASE+0x8)   /* UIC3 vector configuration	*/#endif /* CONFIG_440SPE */#if defined(CONFIG_440GX)#define UIC2_DCR_BASE 0x210#define uic2sr	(UIC2_DCR_BASE+0x0)   /* UIC2 status			   */#define uic2er	(UIC2_DCR_BASE+0x2)   /* UIC2 enable			   */#define uic2cr	(UIC2_DCR_BASE+0x3)   /* UIC2 critical			   */#define uic2pr	(UIC2_DCR_BASE+0x4)   /* UIC2 polarity			   */#define uic2tr	(UIC2_DCR_BASE+0x5)   /* UIC2 triggering		   */#define uic2msr (UIC2_DCR_BASE+0x6)   /* UIC2 masked status		   */#define uic2vr	(UIC2_DCR_BASE+0x7)   /* UIC2 vector			   */#define uic2vcr (UIC2_DCR_BASE+0x8)   /* UIC2 vector configuration	   */#define UIC_DCR_BASE 0x200#define uicb0sr	 (UIC_DCR_BASE+0x0)   /* UIC Base Status Register	   */#define uicb0er	 (UIC_DCR_BASE+0x2)   /* UIC Base enable		   */#define uicb0cr	 (UIC_DCR_BASE+0x3)   /* UIC Base critical		   */#define uicb0pr	 (UIC_DCR_BASE+0x4)   /* UIC Base polarity		   */#define uicb0tr	 (UIC_DCR_BASE+0x5)   /* UIC Base triggering		   */#define uicb0msr (UIC_DCR_BASE+0x6)   /* UIC Base masked status		   */#define uicb0vr	 (UIC_DCR_BASE+0x7)   /* UIC Base vector		   */#define uicb0vcr (UIC_DCR_BASE+0x8)   /* UIC Base vector configuration	   */#endif /* CONFIG_440GX *//* The following is for compatibility with 405 code */#define uicsr  uic0sr#define uicer  uic0er

⌨️ 快捷键说明

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