|  | /* | 
|  | * CPM2 Internal Memory Map | 
|  | * Copyright (c) 1999 Dan Malek (dmalek@jlc.net) | 
|  | * | 
|  | * The Internal Memory Map for devices with CPM2 on them.  This | 
|  | * is the superset of all CPM2 devices (8260, 8266, 8280, 8272, | 
|  | * 8560). | 
|  | */ | 
|  | #ifdef __KERNEL__ | 
|  | #ifndef __IMMAP_CPM2__ | 
|  | #define __IMMAP_CPM2__ | 
|  |  | 
|  | #include <linux/types.h> | 
|  |  | 
|  | /* System configuration registers. | 
|  | */ | 
|  | typedef	struct sys_82xx_conf { | 
|  | u32	sc_siumcr; | 
|  | u32	sc_sypcr; | 
|  | u8	res1[6]; | 
|  | u16	sc_swsr; | 
|  | u8	res2[20]; | 
|  | u32	sc_bcr; | 
|  | u8	sc_ppc_acr; | 
|  | u8	res3[3]; | 
|  | u32	sc_ppc_alrh; | 
|  | u32	sc_ppc_alrl; | 
|  | u8	sc_lcl_acr; | 
|  | u8	res4[3]; | 
|  | u32	sc_lcl_alrh; | 
|  | u32	sc_lcl_alrl; | 
|  | u32	sc_tescr1; | 
|  | u32	sc_tescr2; | 
|  | u32	sc_ltescr1; | 
|  | u32	sc_ltescr2; | 
|  | u32	sc_pdtea; | 
|  | u8	sc_pdtem; | 
|  | u8	res5[3]; | 
|  | u32	sc_ldtea; | 
|  | u8	sc_ldtem; | 
|  | u8	res6[163]; | 
|  | } sysconf_82xx_cpm2_t; | 
|  |  | 
|  | typedef	struct sys_85xx_conf { | 
|  | u32	sc_cear; | 
|  | u16	sc_ceer; | 
|  | u16	sc_cemr; | 
|  | u8	res1[70]; | 
|  | u32	sc_smaer; | 
|  | u8	res2[4]; | 
|  | u32	sc_smevr; | 
|  | u32	sc_smctr; | 
|  | u32	sc_lmaer; | 
|  | u8	res3[4]; | 
|  | u32	sc_lmevr; | 
|  | u32	sc_lmctr; | 
|  | u8	res4[144]; | 
|  | } sysconf_85xx_cpm2_t; | 
|  |  | 
|  | typedef union sys_conf { | 
|  | sysconf_82xx_cpm2_t	siu_82xx; | 
|  | sysconf_85xx_cpm2_t	siu_85xx; | 
|  | } sysconf_cpm2_t; | 
|  |  | 
|  |  | 
|  |  | 
|  | /* Memory controller registers. | 
|  | */ | 
|  | typedef struct	mem_ctlr { | 
|  | u32	memc_br0; | 
|  | u32	memc_or0; | 
|  | u32	memc_br1; | 
|  | u32	memc_or1; | 
|  | u32	memc_br2; | 
|  | u32	memc_or2; | 
|  | u32	memc_br3; | 
|  | u32	memc_or3; | 
|  | u32	memc_br4; | 
|  | u32	memc_or4; | 
|  | u32	memc_br5; | 
|  | u32	memc_or5; | 
|  | u32	memc_br6; | 
|  | u32	memc_or6; | 
|  | u32	memc_br7; | 
|  | u32	memc_or7; | 
|  | u32	memc_br8; | 
|  | u32	memc_or8; | 
|  | u32	memc_br9; | 
|  | u32	memc_or9; | 
|  | u32	memc_br10; | 
|  | u32	memc_or10; | 
|  | u32	memc_br11; | 
|  | u32	memc_or11; | 
|  | u8	res1[8]; | 
|  | u32	memc_mar; | 
|  | u8	res2[4]; | 
|  | u32	memc_mamr; | 
|  | u32	memc_mbmr; | 
|  | u32	memc_mcmr; | 
|  | u8	res3[8]; | 
|  | u16	memc_mptpr; | 
|  | u8	res4[2]; | 
|  | u32	memc_mdr; | 
|  | u8	res5[4]; | 
|  | u32	memc_psdmr; | 
|  | u32	memc_lsdmr; | 
|  | u8	memc_purt; | 
|  | u8	res6[3]; | 
|  | u8	memc_psrt; | 
|  | u8	res7[3]; | 
|  | u8	memc_lurt; | 
|  | u8	res8[3]; | 
|  | u8	memc_lsrt; | 
|  | u8	res9[3]; | 
|  | u32	memc_immr; | 
|  | u32	memc_pcibr0; | 
|  | u32	memc_pcibr1; | 
|  | u8	res10[16]; | 
|  | u32	memc_pcimsk0; | 
|  | u32	memc_pcimsk1; | 
|  | u8	res11[52]; | 
|  | } memctl_cpm2_t; | 
|  |  | 
|  | /* System Integration Timers. | 
|  | */ | 
|  | typedef struct	sys_int_timers { | 
|  | u8	res1[32]; | 
|  | u16	sit_tmcntsc; | 
|  | u8	res2[2]; | 
|  | u32	sit_tmcnt; | 
|  | u8	res3[4]; | 
|  | u32	sit_tmcntal; | 
|  | u8	res4[16]; | 
|  | u16	sit_piscr; | 
|  | u8	res5[2]; | 
|  | u32	sit_pitc; | 
|  | u32	sit_pitr; | 
|  | u8      res6[94]; | 
|  | u8	res7[390]; | 
|  | } sit_cpm2_t; | 
|  |  | 
|  | #define PISCR_PIRQ_MASK		((u16)0xff00) | 
|  | #define PISCR_PS		((u16)0x0080) | 
|  | #define PISCR_PIE		((u16)0x0004) | 
|  | #define PISCR_PTF		((u16)0x0002) | 
|  | #define PISCR_PTE		((u16)0x0001) | 
|  |  | 
|  | /* PCI Controller. | 
|  | */ | 
|  | typedef struct pci_ctlr { | 
|  | u32	pci_omisr; | 
|  | u32	pci_omimr; | 
|  | u8	res1[8]; | 
|  | u32	pci_ifqpr; | 
|  | u32	pci_ofqpr; | 
|  | u8	res2[8]; | 
|  | u32	pci_imr0; | 
|  | u32	pci_imr1; | 
|  | u32	pci_omr0; | 
|  | u32	pci_omr1; | 
|  | u32	pci_odr; | 
|  | u8	res3[4]; | 
|  | u32	pci_idr; | 
|  | u8	res4[20]; | 
|  | u32	pci_imisr; | 
|  | u32	pci_imimr; | 
|  | u8	res5[24]; | 
|  | u32	pci_ifhpr; | 
|  | u8	res6[4]; | 
|  | u32	pci_iftpr; | 
|  | u8	res7[4]; | 
|  | u32	pci_iphpr; | 
|  | u8	res8[4]; | 
|  | u32	pci_iptpr; | 
|  | u8	res9[4]; | 
|  | u32	pci_ofhpr; | 
|  | u8	res10[4]; | 
|  | u32	pci_oftpr; | 
|  | u8	res11[4]; | 
|  | u32	pci_ophpr; | 
|  | u8	res12[4]; | 
|  | u32	pci_optpr; | 
|  | u8	res13[8]; | 
|  | u32	pci_mucr; | 
|  | u8	res14[8]; | 
|  | u32	pci_qbar; | 
|  | u8	res15[12]; | 
|  | u32	pci_dmamr0; | 
|  | u32	pci_dmasr0; | 
|  | u32	pci_dmacdar0; | 
|  | u8	res16[4]; | 
|  | u32	pci_dmasar0; | 
|  | u8	res17[4]; | 
|  | u32	pci_dmadar0; | 
|  | u8	res18[4]; | 
|  | u32	pci_dmabcr0; | 
|  | u32	pci_dmandar0; | 
|  | u8	res19[86]; | 
|  | u32	pci_dmamr1; | 
|  | u32	pci_dmasr1; | 
|  | u32	pci_dmacdar1; | 
|  | u8	res20[4]; | 
|  | u32	pci_dmasar1; | 
|  | u8	res21[4]; | 
|  | u32	pci_dmadar1; | 
|  | u8	res22[4]; | 
|  | u32	pci_dmabcr1; | 
|  | u32	pci_dmandar1; | 
|  | u8	res23[88]; | 
|  | u32	pci_dmamr2; | 
|  | u32	pci_dmasr2; | 
|  | u32	pci_dmacdar2; | 
|  | u8	res24[4]; | 
|  | u32	pci_dmasar2; | 
|  | u8	res25[4]; | 
|  | u32	pci_dmadar2; | 
|  | u8	res26[4]; | 
|  | u32	pci_dmabcr2; | 
|  | u32	pci_dmandar2; | 
|  | u8	res27[88]; | 
|  | u32	pci_dmamr3; | 
|  | u32	pci_dmasr3; | 
|  | u32	pci_dmacdar3; | 
|  | u8	res28[4]; | 
|  | u32	pci_dmasar3; | 
|  | u8	res29[4]; | 
|  | u32	pci_dmadar3; | 
|  | u8	res30[4]; | 
|  | u32	pci_dmabcr3; | 
|  | u32	pci_dmandar3; | 
|  | u8	res31[344]; | 
|  | u32	pci_potar0; | 
|  | u8	res32[4]; | 
|  | u32	pci_pobar0; | 
|  | u8	res33[4]; | 
|  | u32	pci_pocmr0; | 
|  | u8	res34[4]; | 
|  | u32	pci_potar1; | 
|  | u8	res35[4]; | 
|  | u32	pci_pobar1; | 
|  | u8	res36[4]; | 
|  | u32	pci_pocmr1; | 
|  | u8	res37[4]; | 
|  | u32	pci_potar2; | 
|  | u8	res38[4]; | 
|  | u32	pci_pobar2; | 
|  | u8	res39[4]; | 
|  | u32	pci_pocmr2; | 
|  | u8	res40[50]; | 
|  | u32	pci_ptcr; | 
|  | u32	pci_gpcr; | 
|  | u32	pci_gcr; | 
|  | u32	pci_esr; | 
|  | u32	pci_emr; | 
|  | u32	pci_ecr; | 
|  | u32	pci_eacr; | 
|  | u8	res41[4]; | 
|  | u32	pci_edcr; | 
|  | u8	res42[4]; | 
|  | u32	pci_eccr; | 
|  | u8	res43[44]; | 
|  | u32	pci_pitar1; | 
|  | u8	res44[4]; | 
|  | u32	pci_pibar1; | 
|  | u8	res45[4]; | 
|  | u32	pci_picmr1; | 
|  | u8	res46[4]; | 
|  | u32	pci_pitar0; | 
|  | u8	res47[4]; | 
|  | u32	pci_pibar0; | 
|  | u8	res48[4]; | 
|  | u32	pci_picmr0; | 
|  | u8	res49[4]; | 
|  | u32	pci_cfg_addr; | 
|  | u32	pci_cfg_data; | 
|  | u32	pci_int_ack; | 
|  | u8	res50[756]; | 
|  | } pci_cpm2_t; | 
|  |  | 
|  | /* Interrupt Controller. | 
|  | */ | 
|  | typedef struct interrupt_controller { | 
|  | u16	ic_sicr; | 
|  | u8	res1[2]; | 
|  | u32	ic_sivec; | 
|  | u32	ic_sipnrh; | 
|  | u32	ic_sipnrl; | 
|  | u32	ic_siprr; | 
|  | u32	ic_scprrh; | 
|  | u32	ic_scprrl; | 
|  | u32	ic_simrh; | 
|  | u32	ic_simrl; | 
|  | u32	ic_siexr; | 
|  | u8	res2[88]; | 
|  | } intctl_cpm2_t; | 
|  |  | 
|  | /* Clocks and Reset. | 
|  | */ | 
|  | typedef struct clk_and_reset { | 
|  | u32	car_sccr; | 
|  | u8	res1[4]; | 
|  | u32	car_scmr; | 
|  | u8	res2[4]; | 
|  | u32	car_rsr; | 
|  | u32	car_rmr; | 
|  | u8	res[104]; | 
|  | } car_cpm2_t; | 
|  |  | 
|  | /* Input/Output Port control/status registers. | 
|  | * Names consistent with processor manual, although they are different | 
|  | * from the original 8xx names....... | 
|  | */ | 
|  | typedef struct io_port { | 
|  | u32	iop_pdira; | 
|  | u32	iop_ppara; | 
|  | u32	iop_psora; | 
|  | u32	iop_podra; | 
|  | u32	iop_pdata; | 
|  | u8	res1[12]; | 
|  | u32	iop_pdirb; | 
|  | u32	iop_pparb; | 
|  | u32	iop_psorb; | 
|  | u32	iop_podrb; | 
|  | u32	iop_pdatb; | 
|  | u8	res2[12]; | 
|  | u32	iop_pdirc; | 
|  | u32	iop_pparc; | 
|  | u32	iop_psorc; | 
|  | u32	iop_podrc; | 
|  | u32	iop_pdatc; | 
|  | u8	res3[12]; | 
|  | u32	iop_pdird; | 
|  | u32	iop_ppard; | 
|  | u32	iop_psord; | 
|  | u32	iop_podrd; | 
|  | u32	iop_pdatd; | 
|  | u8	res4[12]; | 
|  | } iop_cpm2_t; | 
|  |  | 
|  | /* Communication Processor Module Timers | 
|  | */ | 
|  | typedef struct cpm_timers { | 
|  | u8	cpmt_tgcr1; | 
|  | u8	res1[3]; | 
|  | u8	cpmt_tgcr2; | 
|  | u8	res2[11]; | 
|  | u16	cpmt_tmr1; | 
|  | u16	cpmt_tmr2; | 
|  | u16	cpmt_trr1; | 
|  | u16	cpmt_trr2; | 
|  | u16	cpmt_tcr1; | 
|  | u16	cpmt_tcr2; | 
|  | u16	cpmt_tcn1; | 
|  | u16	cpmt_tcn2; | 
|  | u16	cpmt_tmr3; | 
|  | u16	cpmt_tmr4; | 
|  | u16	cpmt_trr3; | 
|  | u16	cpmt_trr4; | 
|  | u16	cpmt_tcr3; | 
|  | u16	cpmt_tcr4; | 
|  | u16	cpmt_tcn3; | 
|  | u16	cpmt_tcn4; | 
|  | u16	cpmt_ter1; | 
|  | u16	cpmt_ter2; | 
|  | u16	cpmt_ter3; | 
|  | u16	cpmt_ter4; | 
|  | u8	res3[584]; | 
|  | } cpmtimer_cpm2_t; | 
|  |  | 
|  | /* DMA control/status registers. | 
|  | */ | 
|  | typedef struct sdma_csr { | 
|  | u8	res0[24]; | 
|  | u8	sdma_sdsr; | 
|  | u8	res1[3]; | 
|  | u8	sdma_sdmr; | 
|  | u8	res2[3]; | 
|  | u8	sdma_idsr1; | 
|  | u8	res3[3]; | 
|  | u8	sdma_idmr1; | 
|  | u8	res4[3]; | 
|  | u8	sdma_idsr2; | 
|  | u8	res5[3]; | 
|  | u8	sdma_idmr2; | 
|  | u8	res6[3]; | 
|  | u8	sdma_idsr3; | 
|  | u8	res7[3]; | 
|  | u8	sdma_idmr3; | 
|  | u8	res8[3]; | 
|  | u8	sdma_idsr4; | 
|  | u8	res9[3]; | 
|  | u8	sdma_idmr4; | 
|  | u8	res10[707]; | 
|  | } sdma_cpm2_t; | 
|  |  | 
|  | /* Fast controllers | 
|  | */ | 
|  | typedef struct fcc { | 
|  | u32	fcc_gfmr; | 
|  | u32	fcc_fpsmr; | 
|  | u16	fcc_ftodr; | 
|  | u8	res1[2]; | 
|  | u16	fcc_fdsr; | 
|  | u8	res2[2]; | 
|  | u16	fcc_fcce; | 
|  | u8	res3[2]; | 
|  | u16	fcc_fccm; | 
|  | u8	res4[2]; | 
|  | u8	fcc_fccs; | 
|  | u8	res5[3]; | 
|  | u8	fcc_ftirr_phy[4]; | 
|  | } fcc_t; | 
|  |  | 
|  | /* Fast controllers continued | 
|  | */ | 
|  | typedef struct fcc_c { | 
|  | u32	fcc_firper; | 
|  | u32	fcc_firer; | 
|  | u32	fcc_firsr_hi; | 
|  | u32	fcc_firsr_lo; | 
|  | u8	fcc_gfemr; | 
|  | u8	res1[15]; | 
|  | } fcc_c_t; | 
|  |  | 
|  | /* TC Layer | 
|  | */ | 
|  | typedef struct tclayer { | 
|  | u16	tc_tcmode; | 
|  | u16	tc_cdsmr; | 
|  | u16	tc_tcer; | 
|  | u16	tc_rcc; | 
|  | u16	tc_tcmr; | 
|  | u16	tc_fcc; | 
|  | u16	tc_ccc; | 
|  | u16	tc_icc; | 
|  | u16	tc_tcc; | 
|  | u16	tc_ecc; | 
|  | u8	res1[12]; | 
|  | } tclayer_t; | 
|  |  | 
|  |  | 
|  | /* I2C | 
|  | */ | 
|  | typedef struct i2c { | 
|  | u8	i2c_i2mod; | 
|  | u8	res1[3]; | 
|  | u8	i2c_i2add; | 
|  | u8	res2[3]; | 
|  | u8	i2c_i2brg; | 
|  | u8	res3[3]; | 
|  | u8	i2c_i2com; | 
|  | u8	res4[3]; | 
|  | u8	i2c_i2cer; | 
|  | u8	res5[3]; | 
|  | u8	i2c_i2cmr; | 
|  | u8	res6[331]; | 
|  | } i2c_cpm2_t; | 
|  |  | 
|  | typedef struct scc {		/* Serial communication channels */ | 
|  | u32	scc_gsmrl; | 
|  | u32	scc_gsmrh; | 
|  | u16	scc_psmr; | 
|  | u8	res1[2]; | 
|  | u16	scc_todr; | 
|  | u16	scc_dsr; | 
|  | u16	scc_scce; | 
|  | u8	res2[2]; | 
|  | u16	scc_sccm; | 
|  | u8	res3; | 
|  | u8	scc_sccs; | 
|  | u8	res4[8]; | 
|  | } scc_t; | 
|  |  | 
|  | typedef struct smc {		/* Serial management channels */ | 
|  | u8	res1[2]; | 
|  | u16	smc_smcmr; | 
|  | u8	res2[2]; | 
|  | u8	smc_smce; | 
|  | u8	res3[3]; | 
|  | u8	smc_smcm; | 
|  | u8	res4[5]; | 
|  | } smc_t; | 
|  |  | 
|  | /* Serial Peripheral Interface. | 
|  | */ | 
|  | typedef struct spi_ctrl { | 
|  | u16	spi_spmode; | 
|  | u8	res1[4]; | 
|  | u8	spi_spie; | 
|  | u8	res2[3]; | 
|  | u8	spi_spim; | 
|  | u8	res3[2]; | 
|  | u8	spi_spcom; | 
|  | u8	res4[82]; | 
|  | } spictl_cpm2_t; | 
|  |  | 
|  | /* CPM Mux. | 
|  | */ | 
|  | typedef struct cpmux { | 
|  | u8	cmx_si1cr; | 
|  | u8	res1; | 
|  | u8	cmx_si2cr; | 
|  | u8	res2; | 
|  | u32	cmx_fcr; | 
|  | u32	cmx_scr; | 
|  | u8	cmx_smr; | 
|  | u8	res3; | 
|  | u16	cmx_uar; | 
|  | u8	res4[16]; | 
|  | } cpmux_t; | 
|  |  | 
|  | /* SIRAM control | 
|  | */ | 
|  | typedef struct siram { | 
|  | u16	si_amr; | 
|  | u16	si_bmr; | 
|  | u16	si_cmr; | 
|  | u16	si_dmr; | 
|  | u8	si_gmr; | 
|  | u8	res1; | 
|  | u8	si_cmdr; | 
|  | u8	res2; | 
|  | u8	si_str; | 
|  | u8	res3; | 
|  | u16	si_rsr; | 
|  | } siramctl_t; | 
|  |  | 
|  | typedef struct mcc { | 
|  | u16	mcc_mcce; | 
|  | u8	res1[2]; | 
|  | u16	mcc_mccm; | 
|  | u8	res2[2]; | 
|  | u8	mcc_mccf; | 
|  | u8	res3[7]; | 
|  | } mcc_t; | 
|  |  | 
|  | typedef struct comm_proc { | 
|  | u32	cp_cpcr; | 
|  | u32	cp_rccr; | 
|  | u8	res1[14]; | 
|  | u16	cp_rter; | 
|  | u8	res2[2]; | 
|  | u16	cp_rtmr; | 
|  | u16	cp_rtscr; | 
|  | u8	res3[2]; | 
|  | u32	cp_rtsr; | 
|  | u8	res4[12]; | 
|  | } cpm_cpm2_t; | 
|  |  | 
|  | /* USB Controller. | 
|  | */ | 
|  | typedef struct cpm_usb_ctlr { | 
|  | u8	usb_usmod; | 
|  | u8	usb_usadr; | 
|  | u8	usb_uscom; | 
|  | u8	res1[1]; | 
|  | __be16  usb_usep[4]; | 
|  | u8	res2[4]; | 
|  | __be16  usb_usber; | 
|  | u8	res3[2]; | 
|  | __be16  usb_usbmr; | 
|  | u8	usb_usbs; | 
|  | u8	res4[7]; | 
|  | } usb_cpm2_t; | 
|  |  | 
|  | /* ...and the whole thing wrapped up.... | 
|  | */ | 
|  |  | 
|  | typedef struct immap { | 
|  | /* Some references are into the unique and known dpram spaces, | 
|  | * others are from the generic base. | 
|  | */ | 
|  | #define im_dprambase	im_dpram1 | 
|  | u8		im_dpram1[16*1024]; | 
|  | u8		res1[16*1024]; | 
|  | u8		im_dpram2[4*1024]; | 
|  | u8		res2[8*1024]; | 
|  | u8		im_dpram3[4*1024]; | 
|  | u8		res3[16*1024]; | 
|  |  | 
|  | sysconf_cpm2_t	im_siu_conf;	/* SIU Configuration */ | 
|  | memctl_cpm2_t	im_memctl;	/* Memory Controller */ | 
|  | sit_cpm2_t	im_sit;		/* System Integration Timers */ | 
|  | pci_cpm2_t	im_pci;		/* PCI Controller */ | 
|  | intctl_cpm2_t	im_intctl;	/* Interrupt Controller */ | 
|  | car_cpm2_t	im_clkrst;	/* Clocks and reset */ | 
|  | iop_cpm2_t	im_ioport;	/* IO Port control/status */ | 
|  | cpmtimer_cpm2_t	im_cpmtimer;	/* CPM timers */ | 
|  | sdma_cpm2_t	im_sdma;	/* SDMA control/status */ | 
|  |  | 
|  | fcc_t		im_fcc[3];	/* Three FCCs */ | 
|  | u8		res4z[32]; | 
|  | fcc_c_t		im_fcc_c[3];	/* Continued FCCs */ | 
|  |  | 
|  | u8		res4[32]; | 
|  |  | 
|  | tclayer_t	im_tclayer[8];	/* Eight TCLayers */ | 
|  | u16		tc_tcgsr; | 
|  | u16		tc_tcger; | 
|  |  | 
|  | /* First set of baud rate generators. | 
|  | */ | 
|  | u8		res[236]; | 
|  | u32		im_brgc5; | 
|  | u32		im_brgc6; | 
|  | u32		im_brgc7; | 
|  | u32		im_brgc8; | 
|  |  | 
|  | u8		res5[608]; | 
|  |  | 
|  | i2c_cpm2_t	im_i2c;		/* I2C control/status */ | 
|  | cpm_cpm2_t	im_cpm;		/* Communication processor */ | 
|  |  | 
|  | /* Second set of baud rate generators. | 
|  | */ | 
|  | u32		im_brgc1; | 
|  | u32		im_brgc2; | 
|  | u32		im_brgc3; | 
|  | u32		im_brgc4; | 
|  |  | 
|  | scc_t		im_scc[4];	/* Four SCCs */ | 
|  | smc_t		im_smc[2];	/* Couple of SMCs */ | 
|  | spictl_cpm2_t	im_spi;		/* A SPI */ | 
|  | cpmux_t		im_cpmux;	/* CPM clock route mux */ | 
|  | siramctl_t	im_siramctl1;	/* First SI RAM Control */ | 
|  | mcc_t		im_mcc1;	/* First MCC */ | 
|  | siramctl_t	im_siramctl2;	/* Second SI RAM Control */ | 
|  | mcc_t		im_mcc2;	/* Second MCC */ | 
|  | usb_cpm2_t	im_usb;		/* USB Controller */ | 
|  |  | 
|  | u8		res6[1153]; | 
|  |  | 
|  | u16		im_si1txram[256]; | 
|  | u8		res7[512]; | 
|  | u16		im_si1rxram[256]; | 
|  | u8		res8[512]; | 
|  | u16		im_si2txram[256]; | 
|  | u8		res9[512]; | 
|  | u16		im_si2rxram[256]; | 
|  | u8		res10[512]; | 
|  | u8		res11[4096]; | 
|  | } cpm2_map_t; | 
|  |  | 
|  | extern cpm2_map_t __iomem *cpm2_immr; | 
|  |  | 
|  | #endif /* __IMMAP_CPM2__ */ | 
|  | #endif /* __KERNEL__ */ |