blob: e80b6a54ea9c260649ee78f5aa6c7dcca6ed2e1d [file] [log] [blame]
Greg Ungerer7354b622005-11-02 15:02:01 +10001/****************************************************************************/
2
3/*
4 * m520xsim.h -- ColdFire 5207/5208 System Integration Module support.
5 *
6 * (C) Copyright 2005, Intec Automation (mike@steroidmicros.com)
7 */
8
9/****************************************************************************/
10#ifndef m520xsim_h
11#define m520xsim_h
12/****************************************************************************/
13
Greg Ungerer7354b622005-11-02 15:02:01 +100014
15/*
16 * Define the 5282 SIM register set addresses.
17 */
18#define MCFICM_INTC0 0x48000 /* Base for Interrupt Ctrl 0 */
19#define MCFINTC_IPRH 0x00 /* Interrupt pending 32-63 */
20#define MCFINTC_IPRL 0x04 /* Interrupt pending 1-31 */
21#define MCFINTC_IMRH 0x08 /* Interrupt mask 32-63 */
22#define MCFINTC_IMRL 0x0c /* Interrupt mask 1-31 */
23#define MCFINTC_INTFRCH 0x10 /* Interrupt force 32-63 */
24#define MCFINTC_INTFRCL 0x14 /* Interrupt force 1-31 */
25#define MCFINTC_ICR0 0x40 /* Base ICR register */
26
27#define MCFINT_VECBASE 64
28#define MCFINT_UART0 26 /* Interrupt number for UART0 */
29#define MCFINT_UART1 27 /* Interrupt number for UART1 */
30#define MCFINT_UART2 28 /* Interrupt number for UART2 */
31#define MCFINT_QSPI 31 /* Interrupt number for QSPI */
32#define MCFINT_PIT1 4 /* Interrupt number for PIT1 (PIT0 in processor) */
33
Greg Ungerer5a31be32006-12-04 17:27:36 +100034/*
35 * SDRAM configuration registers.
36 */
37#define MCFSIM_SDMR 0x000a8000 /* SDRAM Mode/Extended Mode Register */
38#define MCFSIM_SDCR 0x000a8004 /* SDRAM Control Register */
39#define MCFSIM_SDCFG1 0x000a8008 /* SDRAM Configuration Register 1 */
40#define MCFSIM_SDCFG2 0x000a800c /* SDRAM Configuration Register 2 */
41#define MCFSIM_SDCS0 0x000a8110 /* SDRAM Chip Select 0 Configuration */
42#define MCFSIM_SDCS1 0x000a8114 /* SDRAM Chip Select 1 Configuration */
43
sfking@fdwdc.comafde8562009-06-19 18:11:03 -070044#define MCFEPORT_EPDDR 0xFC088002
45#define MCFEPORT_EPDR 0xFC088004
46#define MCFEPORT_EPPDR 0xFC088005
47
48#define MCFGPIO_PODR_BUSCTL 0xFC0A4000
49#define MCFGPIO_PODR_BE 0xFC0A4001
50#define MCFGPIO_PODR_CS 0xFC0A4002
51#define MCFGPIO_PODR_FECI2C 0xFC0A4003
52#define MCFGPIO_PODR_QSPI 0xFC0A4004
53#define MCFGPIO_PODR_TIMER 0xFC0A4005
54#define MCFGPIO_PODR_UART 0xFC0A4006
55#define MCFGPIO_PODR_FECH 0xFC0A4007
56#define MCFGPIO_PODR_FECL 0xFC0A4008
57
58#define MCFGPIO_PDDR_BUSCTL 0xFC0A400C
59#define MCFGPIO_PDDR_BE 0xFC0A400D
60#define MCFGPIO_PDDR_CS 0xFC0A400E
61#define MCFGPIO_PDDR_FECI2C 0xFC0A400F
62#define MCFGPIO_PDDR_QSPI 0xFC0A4010
63#define MCFGPIO_PDDR_TIMER 0xFC0A4011
64#define MCFGPIO_PDDR_UART 0xFC0A4012
65#define MCFGPIO_PDDR_FECH 0xFC0A4013
66#define MCFGPIO_PDDR_FECL 0xFC0A4014
67
68#define MCFGPIO_PPDSDR_BUSCTL 0xFC0A401A
69#define MCFGPIO_PPDSDR_BE 0xFC0A401B
70#define MCFGPIO_PPDSDR_CS 0xFC0A401C
71#define MCFGPIO_PPDSDR_FECI2C 0xFC0A401D
72#define MCFGPIO_PPDSDR_QSPI 0xFC0A401E
73#define MCFGPIO_PPDSDR_TIMER 0xFC0A401F
74#define MCFGPIO_PPDSDR_UART 0xFC0A4021
75#define MCFGPIO_PPDSDR_FECH 0xFC0A4021
76#define MCFGPIO_PPDSDR_FECL 0xFC0A4022
77
78#define MCFGPIO_PCLRR_BUSCTL 0xFC0A4024
79#define MCFGPIO_PCLRR_BE 0xFC0A4025
80#define MCFGPIO_PCLRR_CS 0xFC0A4026
81#define MCFGPIO_PCLRR_FECI2C 0xFC0A4027
82#define MCFGPIO_PCLRR_QSPI 0xFC0A4028
83#define MCFGPIO_PCLRR_TIMER 0xFC0A4029
84#define MCFGPIO_PCLRR_UART 0xFC0A402A
85#define MCFGPIO_PCLRR_FECH 0xFC0A402B
86#define MCFGPIO_PCLRR_FECL 0xFC0A402C
87/*
88 * Generic GPIO support
89 */
90#define MCFGPIO_PODR MCFGPIO_PODR_BUSCTL
91#define MCFGPIO_PDDR MCFGPIO_PDDR_BUSCTL
92#define MCFGPIO_PPDR MCFGPIO_PPDSDR_BUSCTL
93#define MCFGPIO_SETR MCFGPIO_PPDSDR_BUSCTL
94#define MCFGPIO_CLRR MCFGPIO_PCLRR_BUSCTL
95
96#define MCFGPIO_PIN_MAX 80
97#define MCFGPIO_IRQ_MAX 8
98#define MCFGPIO_IRQ_VECBASE MCFINT_VECBASE
99/****************************************************************************/
Greg Ungerer7354b622005-11-02 15:02:01 +1000100
101#define MCF_GPIO_PAR_UART (0xA4036)
102#define MCF_GPIO_PAR_FECI2C (0xA4033)
103#define MCF_GPIO_PAR_FEC (0xA4038)
104
105#define MCF_GPIO_PAR_UART_PAR_URXD0 (0x0001)
106#define MCF_GPIO_PAR_UART_PAR_UTXD0 (0x0002)
107
108#define MCF_GPIO_PAR_UART_PAR_URXD1 (0x0040)
109#define MCF_GPIO_PAR_UART_PAR_UTXD1 (0x0080)
110
111#define MCF_GPIO_PAR_FECI2C_PAR_SDA_URXD2 (0x02)
112#define MCF_GPIO_PAR_FECI2C_PAR_SCL_UTXD2 (0x04)
113
114#define ICR_INTRCONF 0x05
115#define MCFPIT_IMR MCFINTC_IMRL
Greg Ungerer5a31be32006-12-04 17:27:36 +1000116#define MCFPIT_IMR_IBIT (1 << MCFINT_PIT1)
Greg Ungerer7354b622005-11-02 15:02:01 +1000117
Greg Ungerer25ce4a92009-04-30 22:39:50 +1000118/*
119 * Reset Controll Unit.
120 */
121#define MCF_RCR 0xFC0A0000
122#define MCF_RSR 0xFC0A0001
123
124#define MCF_RCR_SWRESET 0x80 /* Software reset bit */
125#define MCF_RCR_FRCSTOUT 0x40 /* Force external reset */
126
Greg Ungerer7354b622005-11-02 15:02:01 +1000127/****************************************************************************/
128#endif /* m520xsim_h */