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

📄 mpc5xxx.h

📁 u-boot-1.1.6 源码包
💻 H
📖 第 1 页 / 共 2 页
字号:
#define PSC_IPCR_DCD		0x02/* PSC mode fields */#define PSC_MODE_5_BITS		0x00#define PSC_MODE_6_BITS		0x01#define PSC_MODE_7_BITS		0x02#define PSC_MODE_8_BITS		0x03#define PSC_MODE_PAREVEN	0x00#define PSC_MODE_PARODD		0x04#define PSC_MODE_PARFORCE	0x08#define PSC_MODE_PARNONE	0x10#define PSC_MODE_ERR		0x20#define PSC_MODE_FFULL		0x40#define PSC_MODE_RXRTS		0x80#define PSC_MODE_ONE_STOP_5_BITS	0x00#define PSC_MODE_ONE_STOP		0x07#define PSC_MODE_TWO_STOP		0x0f/* ATA config fields */#define MPC5xxx_ATA_HOSTCONF_SMR	0x80000000UL	/* State machine							   reset */#define MPC5xxx_ATA_HOSTCONF_FR		0x40000000UL	/* FIFO Reset */#define MPC5xxx_ATA_HOSTCONF_IE		0x02000000UL	/* Enable interrupt							   in PIO */#define MPC5xxx_ATA_HOSTCONF_IORDY	0x01000000UL	/* Drive supports							   IORDY protocol */#ifndef __ASSEMBLY__struct mpc5xxx_psc {	volatile u8	mode;		/* PSC + 0x00 */	volatile u8	reserved0[3];	union {				/* PSC + 0x04 */		volatile u16	status;		volatile u16	clock_select;	} sr_csr;#define psc_status	sr_csr.status#define psc_clock_select sr_csr.clock_select	volatile u16	reserved1;	volatile u8	command;	/* PSC + 0x08 */	volatile u8	reserved2[3];	union {				/* PSC + 0x0c */		volatile u8	buffer_8;		volatile u16	buffer_16;		volatile u32	buffer_32;	} buffer;#define psc_buffer_8	buffer.buffer_8#define psc_buffer_16	buffer.buffer_16#define psc_buffer_32	buffer.buffer_32	union {				/* PSC + 0x10 */		volatile u8	ipcr;		volatile u8	acr;	} ipcr_acr;#define psc_ipcr	ipcr_acr.ipcr#define psc_acr		ipcr_acr.acr	volatile u8	reserved3[3];	union {				/* PSC + 0x14 */		volatile u16	isr;		volatile u16	imr;	} isr_imr;#define psc_isr		isr_imr.isr#define psc_imr		isr_imr.imr	volatile u16	reserved4;	volatile u8	ctur;		/* PSC + 0x18 */	volatile u8	reserved5[3];	volatile u8	ctlr;		/* PSC + 0x1c */	volatile u8	reserved6[3];	volatile u16	ccr;		/* PSC + 0x20 */	volatile u8	reserved7[14];	volatile u8	ivr;		/* PSC + 0x30 */	volatile u8	reserved8[3];	volatile u8	ip;		/* PSC + 0x34 */	volatile u8	reserved9[3];	volatile u8	op1;		/* PSC + 0x38 */	volatile u8	reserved10[3];	volatile u8	op0;		/* PSC + 0x3c */	volatile u8	reserved11[3];	volatile u32	sicr;		/* PSC + 0x40 */	volatile u8	ircr1;		/* PSC + 0x44 */	volatile u8	reserved12[3];	volatile u8	ircr2;		/* PSC + 0x44 */	volatile u8	reserved13[3];	volatile u8	irsdr;		/* PSC + 0x4c */	volatile u8	reserved14[3];	volatile u8	irmdr;		/* PSC + 0x50 */	volatile u8	reserved15[3];	volatile u8	irfdr;		/* PSC + 0x54 */	volatile u8	reserved16[3];	volatile u16	rfnum;		/* PSC + 0x58 */	volatile u16	reserved17;	volatile u16	tfnum;		/* PSC + 0x5c */	volatile u16	reserved18;	volatile u32	rfdata;		/* PSC + 0x60 */	volatile u16	rfstat;		/* PSC + 0x64 */	volatile u16	reserved20;	volatile u8	rfcntl;		/* PSC + 0x68 */	volatile u8	reserved21[5];	volatile u16	rfalarm;	/* PSC + 0x6e */	volatile u16	reserved22;	volatile u16	rfrptr;		/* PSC + 0x72 */	volatile u16	reserved23;	volatile u16	rfwptr;		/* PSC + 0x76 */	volatile u16	reserved24;	volatile u16	rflrfptr;	/* PSC + 0x7a */	volatile u16	reserved25;	volatile u16	rflwfptr;	/* PSC + 0x7e */	volatile u32	tfdata;		/* PSC + 0x80 */	volatile u16	tfstat;		/* PSC + 0x84 */	volatile u16	reserved26;	volatile u8	tfcntl;		/* PSC + 0x88 */	volatile u8	reserved27[5];	volatile u16	tfalarm;	/* PSC + 0x8e */	volatile u16	reserved28;	volatile u16	tfrptr;		/* PSC + 0x92 */	volatile u16	reserved29;	volatile u16	tfwptr;		/* PSC + 0x96 */	volatile u16	reserved30;	volatile u16	tflrfptr;	/* PSC + 0x9a */	volatile u16	reserved31;	volatile u16	tflwfptr;	/* PSC + 0x9e */};struct mpc5xxx_intr {	volatile u32	per_mask;	/* INTR + 0x00 */	volatile u32	per_pri1;	/* INTR + 0x04 */	volatile u32	per_pri2;	/* INTR + 0x08 */	volatile u32	per_pri3;	/* INTR + 0x0c */	volatile u32	ctrl;		/* INTR + 0x10 */	volatile u32	main_mask;	/* INTR + 0x14 */	volatile u32	main_pri1;	/* INTR + 0x18 */	volatile u32	main_pri2;	/* INTR + 0x1c */	volatile u32	reserved1;	/* INTR + 0x20 */	volatile u32	enc_status;	/* INTR + 0x24 */	volatile u32	crit_status;	/* INTR + 0x28 */	volatile u32	main_status;	/* INTR + 0x2c */	volatile u32	per_status;	/* INTR + 0x30 */	volatile u32	reserved2;	/* INTR + 0x34 */	volatile u32	per_error;	/* INTR + 0x38 */};struct mpc5xxx_gpio {	volatile u32 port_config;	/* GPIO + 0x00 */	volatile u32 simple_gpioe;	/* GPIO + 0x04 */	volatile u32 simple_ode;	/* GPIO + 0x08 */	volatile u32 simple_ddr;	/* GPIO + 0x0c */	volatile u32 simple_dvo;	/* GPIO + 0x10 */	volatile u32 simple_ival;	/* GPIO + 0x14 */	volatile u8 outo_gpioe;		/* GPIO + 0x18 */	volatile u8 reserved1[3];	/* GPIO + 0x19 */	volatile u8 outo_dvo;		/* GPIO + 0x1c */	volatile u8 reserved2[3];	/* GPIO + 0x1d */	volatile u8 sint_gpioe;		/* GPIO + 0x20 */	volatile u8 reserved3[3];	/* GPIO + 0x21 */	volatile u8 sint_ode;		/* GPIO + 0x24 */	volatile u8 reserved4[3];	/* GPIO + 0x25 */	volatile u8 sint_ddr;		/* GPIO + 0x28 */	volatile u8 reserved5[3];	/* GPIO + 0x29 */	volatile u8 sint_dvo;		/* GPIO + 0x2c */	volatile u8 reserved6[3];	/* GPIO + 0x2d */	volatile u8 sint_inten;		/* GPIO + 0x30 */	volatile u8 reserved7[3];	/* GPIO + 0x31 */	volatile u16 sint_itype;	/* GPIO + 0x34 */	volatile u16 reserved8;		/* GPIO + 0x36 */	volatile u8 gpio_control;	/* GPIO + 0x38 */	volatile u8 reserved9[3];	/* GPIO + 0x39 */	volatile u8 sint_istat;		/* GPIO + 0x3c */	volatile u8 sint_ival;		/* GPIO + 0x3d */	volatile u8 bus_errs;		/* GPIO + 0x3e */	volatile u8 reserved10;		/* GPIO + 0x3f */};struct mpc5xxx_sdma {	volatile u32 taskBar;		/* SDMA + 0x00 */	volatile u32 currentPointer;	/* SDMA + 0x04 */	volatile u32 endPointer;	/* SDMA + 0x08 */	volatile u32 variablePointer;	/* SDMA + 0x0c */	volatile u8 IntVect1;		/* SDMA + 0x10 */	volatile u8 IntVect2;		/* SDMA + 0x11 */	volatile u16 PtdCntrl;		/* SDMA + 0x12 */	volatile u32 IntPend;		/* SDMA + 0x14 */	volatile u32 IntMask;		/* SDMA + 0x18 */	volatile u16 tcr_0;		/* SDMA + 0x1c */	volatile u16 tcr_1;		/* SDMA + 0x1e */	volatile u16 tcr_2;		/* SDMA + 0x20 */	volatile u16 tcr_3;		/* SDMA + 0x22 */	volatile u16 tcr_4;		/* SDMA + 0x24 */	volatile u16 tcr_5;		/* SDMA + 0x26 */	volatile u16 tcr_6;		/* SDMA + 0x28 */	volatile u16 tcr_7;		/* SDMA + 0x2a */	volatile u16 tcr_8;		/* SDMA + 0x2c */	volatile u16 tcr_9;		/* SDMA + 0x2e */	volatile u16 tcr_a;		/* SDMA + 0x30 */	volatile u16 tcr_b;		/* SDMA + 0x32 */	volatile u16 tcr_c;		/* SDMA + 0x34 */	volatile u16 tcr_d;		/* SDMA + 0x36 */	volatile u16 tcr_e;		/* SDMA + 0x38 */	volatile u16 tcr_f;		/* SDMA + 0x3a */	volatile u8 IPR0;		/* SDMA + 0x3c */	volatile u8 IPR1;		/* SDMA + 0x3d */	volatile u8 IPR2;		/* SDMA + 0x3e */	volatile u8 IPR3;		/* SDMA + 0x3f */	volatile u8 IPR4;		/* SDMA + 0x40 */	volatile u8 IPR5;		/* SDMA + 0x41 */	volatile u8 IPR6;		/* SDMA + 0x42 */	volatile u8 IPR7;		/* SDMA + 0x43 */	volatile u8 IPR8;		/* SDMA + 0x44 */	volatile u8 IPR9;		/* SDMA + 0x45 */	volatile u8 IPR10;		/* SDMA + 0x46 */	volatile u8 IPR11;		/* SDMA + 0x47 */	volatile u8 IPR12;		/* SDMA + 0x48 */	volatile u8 IPR13;		/* SDMA + 0x49 */	volatile u8 IPR14;		/* SDMA + 0x4a */	volatile u8 IPR15;		/* SDMA + 0x4b */	volatile u8 IPR16;		/* SDMA + 0x4c */	volatile u8 IPR17;		/* SDMA + 0x4d */	volatile u8 IPR18;		/* SDMA + 0x4e */	volatile u8 IPR19;		/* SDMA + 0x4f */	volatile u8 IPR20;		/* SDMA + 0x50 */	volatile u8 IPR21;		/* SDMA + 0x51 */	volatile u8 IPR22;		/* SDMA + 0x52 */	volatile u8 IPR23;		/* SDMA + 0x53 */	volatile u8 IPR24;		/* SDMA + 0x54 */	volatile u8 IPR25;		/* SDMA + 0x55 */	volatile u8 IPR26;		/* SDMA + 0x56 */	volatile u8 IPR27;		/* SDMA + 0x57 */	volatile u8 IPR28;		/* SDMA + 0x58 */	volatile u8 IPR29;		/* SDMA + 0x59 */	volatile u8 IPR30;		/* SDMA + 0x5a */	volatile u8 IPR31;		/* SDMA + 0x5b */	volatile u32 res1;		/* SDMA + 0x5c */	volatile u32 res2;		/* SDMA + 0x60 */	volatile u32 res3;		/* SDMA + 0x64 */	volatile u32 MDEDebug;		/* SDMA + 0x68 */	volatile u32 ADSDebug;		/* SDMA + 0x6c */	volatile u32 Value1;		/* SDMA + 0x70 */	volatile u32 Value2;		/* SDMA + 0x74 */	volatile u32 Control;		/* SDMA + 0x78 */	volatile u32 Status;		/* SDMA + 0x7c */	volatile u32 EU00;		/* SDMA + 0x80 */	volatile u32 EU01;		/* SDMA + 0x84 */	volatile u32 EU02;		/* SDMA + 0x88 */	volatile u32 EU03;		/* SDMA + 0x8c */	volatile u32 EU04;		/* SDMA + 0x90 */	volatile u32 EU05;		/* SDMA + 0x94 */	volatile u32 EU06;		/* SDMA + 0x98 */	volatile u32 EU07;		/* SDMA + 0x9c */	volatile u32 EU10;		/* SDMA + 0xa0 */	volatile u32 EU11;		/* SDMA + 0xa4 */	volatile u32 EU12;		/* SDMA + 0xa8 */	volatile u32 EU13;		/* SDMA + 0xac */	volatile u32 EU14;		/* SDMA + 0xb0 */	volatile u32 EU15;		/* SDMA + 0xb4 */	volatile u32 EU16;		/* SDMA + 0xb8 */	volatile u32 EU17;		/* SDMA + 0xbc */	volatile u32 EU20;		/* SDMA + 0xc0 */	volatile u32 EU21;		/* SDMA + 0xc4 */	volatile u32 EU22;		/* SDMA + 0xc8 */	volatile u32 EU23;		/* SDMA + 0xcc */	volatile u32 EU24;		/* SDMA + 0xd0 */	volatile u32 EU25;		/* SDMA + 0xd4 */	volatile u32 EU26;		/* SDMA + 0xd8 */	volatile u32 EU27;		/* SDMA + 0xdc */	volatile u32 EU30;		/* SDMA + 0xe0 */	volatile u32 EU31;		/* SDMA + 0xe4 */	volatile u32 EU32;		/* SDMA + 0xe8 */	volatile u32 EU33;		/* SDMA + 0xec */	volatile u32 EU34;		/* SDMA + 0xf0 */	volatile u32 EU35;		/* SDMA + 0xf4 */	volatile u32 EU36;		/* SDMA + 0xf8 */	volatile u32 EU37;		/* SDMA + 0xfc */};struct mpc5xxx_i2c {	volatile u32 madr;		/* I2Cn + 0x00 */	volatile u32 mfdr;		/* I2Cn + 0x04 */	volatile u32 mcr;		/* I2Cn + 0x08 */	volatile u32 msr;		/* I2Cn + 0x0C */	volatile u32 mdr;		/* I2Cn + 0x10 */};struct mpc5xxx_spi {	volatile u8 cr1;		/* SPI + 0x0F00 */	volatile u8 cr2;		/* SPI + 0x0F01 */	volatile u8 reserved1[2];	volatile u8 brr;		/* SPI + 0x0F04 */	volatile u8 sr;			/* SPI + 0x0F05 */	volatile u8 reserved2[3];	volatile u8 dr;			/* SPI + 0x0F09 */	volatile u8 reserved3[3];	volatile u8 pdr;		/* SPI + 0x0F0D */	volatile u8 reserved4[2];	volatile u8 ddr;		/* SPI + 0x0F10 */};struct mpc5xxx_gpt {	volatile u32 emsr;		/* GPT + Timer# * 0x10 + 0x00 */	volatile u32 cir;		/* GPT + Timer# * 0x10 + 0x04 */	volatile u32 pwmcr;		/* GPT + Timer# * 0x10 + 0x08 */	volatile u32 sr;		/* GPT + Timer# * 0x10 + 0x0c */};struct mpc5xxx_gpt_0_7 {	struct mpc5xxx_gpt gpt0;	struct mpc5xxx_gpt gpt1;	struct mpc5xxx_gpt gpt2;	struct mpc5xxx_gpt gpt3;	struct mpc5xxx_gpt gpt4;	struct mpc5xxx_gpt gpt5;	struct mpc5xxx_gpt gpt6;	struct mpc5xxx_gpt gpt7;};struct mscan_buffer {	volatile u8  idr[0x8];          /* 0x00 */	volatile u8  dsr[0x10];         /* 0x08 */	volatile u8  dlr;               /* 0x18 */	volatile u8  tbpr;              /* 0x19 */      /* This register is not applicable for receive buffers */	volatile u16 rsrv1;             /* 0x1A */	volatile u8  tsrh;              /* 0x1C */	volatile u8  tsrl;              /* 0x1D */	volatile u16 rsrv2;             /* 0x1E */};struct mpc5xxx_mscan {	volatile u8  canctl0;           /* MSCAN + 0x00 */	volatile u8  canctl1;           /* MSCAN + 0x01 */	volatile u16 rsrv1;             /* MSCAN + 0x02 */	volatile u8  canbtr0;           /* MSCAN + 0x04 */	volatile u8  canbtr1;           /* MSCAN + 0x05 */	volatile u16 rsrv2;             /* MSCAN + 0x06 */	volatile u8  canrflg;           /* MSCAN + 0x08 */	volatile u8  canrier;           /* MSCAN + 0x09 */	volatile u16 rsrv3;             /* MSCAN + 0x0A */	volatile u8  cantflg;           /* MSCAN + 0x0C */	volatile u8  cantier;           /* MSCAN + 0x0D */	volatile u16 rsrv4;             /* MSCAN + 0x0E */	volatile u8  cantarq;           /* MSCAN + 0x10 */	volatile u8  cantaak;           /* MSCAN + 0x11 */	volatile u16 rsrv5;             /* MSCAN + 0x12 */	volatile u8  cantbsel;          /* MSCAN + 0x14 */	volatile u8  canidac;           /* MSCAN + 0x15 */	volatile u16 rsrv6[3];          /* MSCAN + 0x16 */	volatile u8  canrxerr;          /* MSCAN + 0x1C */	volatile u8  cantxerr;          /* MSCAN + 0x1D */	volatile u16 rsrv7;             /* MSCAN + 0x1E */	volatile u8  canidar0;          /* MSCAN + 0x20 */	volatile u8  canidar1;          /* MSCAN + 0x21 */	volatile u16 rsrv8;             /* MSCAN + 0x22 */	volatile u8  canidar2;          /* MSCAN + 0x24 */	volatile u8  canidar3;          /* MSCAN + 0x25 */	volatile u16 rsrv9;             /* MSCAN + 0x26 */	volatile u8  canidmr0;          /* MSCAN + 0x28 */	volatile u8  canidmr1;          /* MSCAN + 0x29 */	volatile u16 rsrv10;            /* MSCAN + 0x2A */	volatile u8  canidmr2;          /* MSCAN + 0x2C */	volatile u8  canidmr3;          /* MSCAN + 0x2D */	volatile u16 rsrv11;            /* MSCAN + 0x2E */	volatile u8  canidar4;          /* MSCAN + 0x30 */	volatile u8  canidar5;          /* MSCAN + 0x31 */	volatile u16 rsrv12;            /* MSCAN + 0x32 */	volatile u8  canidar6;          /* MSCAN + 0x34 */	volatile u8  canidar7;          /* MSCAN + 0x35 */	volatile u16 rsrv13;            /* MSCAN + 0x36 */	volatile u8  canidmr4;          /* MSCAN + 0x38 */	volatile u8  canidmr5;          /* MSCAN + 0x39 */	volatile u16 rsrv14;            /* MSCAN + 0x3A */	volatile u8  canidmr6;          /* MSCAN + 0x3C */	volatile u8  canidmr7;          /* MSCAN + 0x3D */	volatile u16 rsrv15;            /* MSCAN + 0x3E */	struct mscan_buffer canrxfg;    /* MSCAN + 0x40 */    /* Foreground receive buffer */	struct mscan_buffer cantxfg;    /* MSCAN + 0x60 */    /* Foreground transmit buffer */	};/* function prototypes */void loadtask(int basetask, int tasks);#endif /* __ASSEMBLY__ */#endif /* __ASMPPC_MPC5XXX_H */

⌨️ 快捷键说明

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