| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 | /****************************************************************************//* *	m532xsim.h -- ColdFire 5329 registers *//****************************************************************************/#ifndef	m532xsim_h#define	m532xsim_h/****************************************************************************/#define	CPU_NAME		"COLDFIRE(m532x)"#define	CPU_INSTR_PER_JIFFY	3#define	MCF_BUSCLK		(MCF_CLK / 3)#include <asm/m53xxacr.h>#define MCFINT_VECBASE      64#define MCFINT_UART0        26          /* Interrupt number for UART0 */#define MCFINT_UART1        27          /* Interrupt number for UART1 */#define MCFINT_UART2        28          /* Interrupt number for UART2 */#define MCFINT_QSPI         31          /* Interrupt number for QSPI */#define MCFINT_FECRX0	    36		/* Interrupt number for FEC */#define MCFINT_FECTX0	    40		/* Interrupt number for FEC */#define MCFINT_FECENTC0	    42		/* Interrupt number for FEC */#define MCF_IRQ_UART0       (MCFINT_VECBASE + MCFINT_UART0)#define MCF_IRQ_UART1       (MCFINT_VECBASE + MCFINT_UART1)#define MCF_IRQ_UART2       (MCFINT_VECBASE + MCFINT_UART2)#define MCF_IRQ_FECRX0	    (MCFINT_VECBASE + MCFINT_FECRX0)#define MCF_IRQ_FECTX0	    (MCFINT_VECBASE + MCFINT_FECTX0)#define MCF_IRQ_FECENTC0    (MCFINT_VECBASE + MCFINT_FECENTC0)#define	MCF_IRQ_QSPI	    (MCFINT_VECBASE + MCFINT_QSPI)#define MCF_WTM_WCR		0xFC098000/* *	Define the 532x SIM register set addresses. */#define	MCFSIM_IPRL		0xFC048004#define	MCFSIM_IPRH		0xFC048000#define	MCFSIM_IPR		MCFSIM_IPRL#define	MCFSIM_IMRL		0xFC04800C#define	MCFSIM_IMRH		0xFC048008#define	MCFSIM_IMR		MCFSIM_IMRL#define	MCFSIM_ICR0		0xFC048040	#define	MCFSIM_ICR1		0xFC048041	#define	MCFSIM_ICR2		0xFC048042	#define	MCFSIM_ICR3		0xFC048043	#define	MCFSIM_ICR4		0xFC048044	#define	MCFSIM_ICR5		0xFC048045	#define	MCFSIM_ICR6		0xFC048046	#define	MCFSIM_ICR7		0xFC048047	#define	MCFSIM_ICR8		0xFC048048	#define	MCFSIM_ICR9		0xFC048049	#define	MCFSIM_ICR10		0xFC04804A#define	MCFSIM_ICR11		0xFC04804B/* *	Some symbol defines for the above... */#define	MCFSIM_SWDICR		MCFSIM_ICR0	/* Watchdog timer ICR */#define	MCFSIM_TIMER1ICR	MCFSIM_ICR1	/* Timer 1 ICR */#define	MCFSIM_TIMER2ICR	MCFSIM_ICR2	/* Timer 2 ICR */#define	MCFSIM_UART1ICR		MCFSIM_ICR4	/* UART 1 ICR */#define	MCFSIM_UART2ICR		MCFSIM_ICR5	/* UART 2 ICR */#define	MCFSIM_DMA0ICR		MCFSIM_ICR6	/* DMA 0 ICR */#define	MCFSIM_DMA1ICR		MCFSIM_ICR7	/* DMA 1 ICR */#define	MCFSIM_DMA2ICR		MCFSIM_ICR8	/* DMA 2 ICR */#define	MCFSIM_DMA3ICR		MCFSIM_ICR9	/* DMA 3 ICR */#define	MCFINTC0_SIMR		0xFC04801C#define	MCFINTC0_CIMR		0xFC04801D#define	MCFINTC0_ICR0		0xFC048040#define	MCFINTC1_SIMR		0xFC04C01C#define	MCFINTC1_CIMR		0xFC04C01D#define	MCFINTC1_ICR0		0xFC04C040#define MCFINTC2_SIMR		(0)#define MCFINTC2_CIMR		(0)#define MCFINTC2_ICR0		(0)#define MCFSIM_ICR_TIMER1	(0xFC048040+32)#define MCFSIM_ICR_TIMER2	(0xFC048040+33)/* *	Define system peripheral IRQ usage. */#define	MCF_IRQ_TIMER		(64 + 32)	/* Timer0 */#define	MCF_IRQ_PROFILER	(64 + 33)	/* Timer1 *//* *  UART module. */#define MCFUART_BASE0		0xFC060000	/* Base address of UART1 */#define MCFUART_BASE1		0xFC064000	/* Base address of UART2 */#define MCFUART_BASE2		0xFC068000	/* Base address of UART3 *//* *  FEC module. */#define	MCFFEC_BASE0		0xFC030000	/* Base address of FEC0 */#define	MCFFEC_SIZE0		0x800		/* Size of FEC0 region *//* *  QSPI module. */#define	MCFQSPI_BASE		0xFC058000	/* Base address of QSPI */#define	MCFQSPI_SIZE		0x40		/* Size of QSPI region */#define	MCFQSPI_CS0		84#define	MCFQSPI_CS1		85#define	MCFQSPI_CS2		86/* *  Timer module. */#define MCFTIMER_BASE1		0xFC070000	/* Base address of TIMER1 */#define MCFTIMER_BASE2		0xFC074000	/* Base address of TIMER2 */#define MCFTIMER_BASE3		0xFC078000	/* Base address of TIMER3 */#define MCFTIMER_BASE4		0xFC07C000	/* Base address of TIMER4 *//********************************************************************* * * Reset Controller Module * *********************************************************************/#define	MCF_RCR			0xFC0A0000#define	MCF_RSR			0xFC0A0001#define	MCF_RCR_SWRESET		0x80		/* Software reset bit */#define	MCF_RCR_FRCSTOUT	0x40		/* Force external reset *//* * Power Management */#define MCFPM_WCR		0xfc040013#define MCFPM_PPMSR0		0xfc04002c#define MCFPM_PPMCR0		0xfc04002d#define MCFPM_PPMSR1		0xfc04002e#define MCFPM_PPMCR1		0xfc04002f#define MCFPM_PPMHR0		0xfc040030#define MCFPM_PPMLR0		0xfc040034#define MCFPM_PPMHR1		0xfc040038#define MCFPM_LPCR		0xec090007/* *	The M5329EVB board needs a help getting its devices initialized  *	at kernel start time if dBUG doesn't set it up (for example  *	it is not used), so we need to do it manually. */#ifdef __ASSEMBLER__.macro m5329EVB_setup	movel	#0xFC098000, %a7	movel	#0x0, (%a7)#define CORE_SRAM	0x80000000	#define CORE_SRAM_SIZE	0x8000	movel	#CORE_SRAM, %d0	addl	#0x221, %d0	movec	%d0,%RAMBAR1	movel	#CORE_SRAM, %sp	addl	#CORE_SRAM_SIZE, %sp	jsr	sysinit.endm#define	PLATFORM_SETUP	m5329EVB_setup#endif /* __ASSEMBLER__ *//********************************************************************* *
 |