/*
 * MOUSSE/MPC8240 Board definitions.
 * For more info, see http://www.vooha.com/
 *
 * (C) Copyright 2000
 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 *
 * (C) Copyright 2001
 * James Dougherty (jfd@cs.stanford.edu)
 *
 * See file CREDITS for list of people who contributed to this
 * project.
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; either version 2 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 * MA 02111-1307 USA
 */

#ifndef __MOUSSE_H
#define __MOUSSE_H

/* System addresses */

#define PCI_SPECIAL_BASE	0xfe000000
#define PCI_SPECIAL_SIZE	0x01000000

/* PORTX Device Addresses for Mousse */

#define PORTX_DEV_BASE		0xff000000
#define PORTX_DEV_SIZE		0x01000000

#define ENET_DEV_BASE		0x80000000

#define PLD_REG_BASE		(PORTX_DEV_BASE | 0xe09000)
#define PLD_REG(off)		(*(volatile unsigned char *) \
				 (PLD_REG_BASE + (off)))

#define PLD_REVID_B1		0x7f
#define PLD_REVID_B2		0x01

/* MPLD */
#define SYS_HARD_RESET()	{ for (;;) PLD_REG(0) = 0; } /* clr 0x80 bit */
#define SYS_REVID_GET()		((int) PLD_REG(0) & 0x7f)
#define SYS_LED_OFF()		(PLD_REG(1) |= 0x80)
#define SYS_LED_ON()		(PLD_REG(1) &= ~0x80)
#define SYS_WATCHDOG_IRQ3()	(PLD_REG(2) |= 0x80)
#define SYS_WATCHDOG_RESET()	(PLD_REG(2) &= ~0x80)
#define SYS_TOD_PROTECT()	(PLD_REG(3) |= 0x80)
#define SYS_TOD_UNPROTECT()	(PLD_REG(3) &= ~0x80)

/* SGS M48T59Y */
#define TOD_BASE		(PORTX_DEV_BASE | 0xe0a000)
#define TOD_REG_BASE		(TOD_BASE | 0x1ff0)
#define TOD_NVRAM_BASE		TOD_BASE
#define TOD_NVRAM_SIZE		0x1ff0
#define TOD_NVRAM_LIMIT		(TOD_NVRAM_BASE + TOD_NVRAM_SIZE)

/* NS16552 SIO */
#define SERIAL_BASE(_x)		(PORTX_DEV_BASE | 0xe08000 | ((_x) ? 0 : 0x80))
#define N_SIO_CHANNELS		2
#define N_COM_PORTS		N_SIO_CHANNELS

/*
 * On-board Dec21143 PCI Ethernet
 * Note: The PCI MBAR chosen here was used from MPC8240UM which states
 * that PCI memory is at: 0x80000 - 0xFDFFFFFF, if AMBOR[CPU_FD_ALIAS]
 * is set, then PCI memory maps 1-1 with this address range in the
 * correct byte order.
 */
#define PCI_ENET_IOADDR		0x80000000
#define PCI_ENET_MEMADDR	0x80000000

/*
 * Flash Memory Layout
 *
 *    2 MB Flash Bank 0 runs in 8-bit mode.  In Flash Bank 0, the 32 kB
 *    sector SA3 is obscured by the 32 kB serial/TOD access space, and
 *    the 64 kB sectors SA19-SA26 are obscured by the 512 kB PLCC
 *    containing the fixed boot ROM.  (If the 512 kB PLCC is
 *    deconfigured by jumper, this window to Flash Bank 0 becomes
 *    visible, but it still contains the fixed boot code and should be
 *    considered read-only).  Flash Bank 0 sectors SA0 (16 kB), SA1 (8
 *    kB), and SA2 (8 kB) are currently unused.
 *
 *    2 MB Flash Bank 1 runs in 16-bit mode.  Flash Bank 1 is fully
 *    usable, but it's a 16-bit wide device on a 64-bit bus.  Therefore
 *    16-bit words only exist at addresses that are multiples of 8.  All
 *    PROM data and control addresses must be multiplied by 8.
 *
 *    See flashMap.c for description of flash filesystem layout.
 */

/*
 * FLASH memory address space: 8-bit wide FLASH memory spaces.
 */
#define FLASH0_SEG0_START	0xffe00000	 /* Baby 32Kb segment */
#define FLASH0_SEG0_END		0xffe07fff	 /* 16 kB + 8 kB + 8 kB */
#define FLASH0_SEG0_SIZE	0x00008000	 /*   (sectors SA0-SA2) */

#define FLASH0_SEG1_START	0xffe10000	 /* 1MB - 64Kb FLASH0 seg */
#define FLASH0_SEG1_END		0xffefffff	 /* 960 kB */
#define FLASH0_SEG1_SIZE	0x000f0000

#define FLASH0_SEG2_START	0xfff00000	 /* Boot Loader stored here */
#define FLASH0_SEG2_END		0xfff7ffff	 /* 512 kB FLASH0/PLCC seg */
#define FLASH0_SEG2_SIZE	0x00080000

#define FLASH0_SEG3_START	0xfff80000	 /* 512 kB FLASH0 seg */
#define FLASH0_SEG3_END		0xffffffff
#define FLASH0_SEG3_SIZE	0x00080000

/* Where Kahlua starts */
#define FLASH_RESET_VECT	0xfff00100

/*
 * CHRP / PREP (MAP A/B) definitions.
 */

#define PREP_REG_ADDR		0x80000cf8	/* MPC107 Config, Map A */
#define PREP_REG_DATA		0x80000cfc	/* MPC107 Config, Map A */
/* MPC107 (MPC8240 internal EUMBBAR mapped) */
#define CHRP_REG_ADDR		0xfec00000	/* MPC106 Config, Map B */
#define CHRP_REG_DATA		0xfee00000	/* MPC106 Config, Map B */

/*
 * Mousse PCI IDSEL Assignments (Device Number)
 */
#define MOUSSE_IDSEL_ENET	13		/* On-board 21143 Ethernet */
#define MOUSSE_IDSEL_LPCI	14		/* On-board PCI slot */
#define MOUSSE_IDSEL_82371	15		/* That other thing */
#define MOUSSE_IDSEL_CPCI2	31		/* CPCI slot 2 */
#define MOUSSE_IDSEL_CPCI3	30		/* CPCI slot 3 */
#define MOUSSE_IDSEL_CPCI4	29		/* CPCI slot 4 */
#define MOUSSE_IDSEL_CPCI5	28		/* CPCI slot 5 */
#define MOUSSE_IDSEL_CPCI6	27		/* CPCI slot 6 */

/*
 * Mousse Interrupt Mapping:
 *
 *	IRQ1	Enet (intA|intB|intC|intD)
 *	IRQ2	CPCI intA (See below)
 *	IRQ3	Local PCI slot intA|intB|intC|intD
 *	IRQ4	COM1 Serial port (Actually higher addressed port on duart)
 *
 * PCI Interrupt Mapping in CPCI chassis:
 *
 *		   |	       CPCI Slot
 *		   | 1 (CPU)	2	3	4	5	6
 *	-----------+--------+-------+-------+-------+-------+-------+
 *	  intA	   |	X		X		X
 *	  intB	   |		X		X		X
 *	  intC	   |	X		X		X
 *	  intD	   |		X		X		X
 */


#define EPIC_VECTOR_EXT0	0
#define EPIC_VECTOR_EXT1	1
#define EPIC_VECTOR_EXT2	2
#define EPIC_VECTOR_EXT3	3
#define EPIC_VECTOR_EXT4	4
#define EPIC_VECTOR_TM0		16
#define EPIC_VECTOR_TM1		17
#define EPIC_VECTOR_TM2		18
#define EPIC_VECTOR_TM3		19
#define EPIC_VECTOR_I2C		20
#define EPIC_VECTOR_DMA0	21
#define EPIC_VECTOR_DMA1	22
#define EPIC_VECTOR_I2O		23


#define INT_VEC_IRQ0		0
#define INT_NUM_IRQ0		INT_VEC_IRQ0
#define MOUSSE_IRQ_ENET		EPIC_VECTOR_EXT1	/* Hardwired */
#define MOUSSE_IRQ_CPCI		EPIC_VECTOR_EXT2	/* Hardwired */
#define MOUSSE_IRQ_LPCI		EPIC_VECTOR_EXT3	/* Hardwired */
#define MOUSSE_IRQ_DUART	EPIC_VECTOR_EXT4	/* Hardwired */

/* Onboard DEC 21143 Ethernet */
#define PCI_ENET_MEMADDR	0x80000000
#define PCI_ENET_IOADDR		0x80000000

/* Some other PCI device */
#define PCI_SLOT_MEMADDR	0x81000000
#define PCI_SLOT_IOADDR		0x81000000

/* Promise ATA66 PCI Device (ATA controller) */
#define PROMISE_MBAR0  0xa0000000
#define PROMISE_MBAR1  (PROMISE_MBAR0 + 0x1000)
#define PROMISE_MBAR2  (PROMISE_MBAR0 + 0x2000)
#define PROMISE_MBAR3  (PROMISE_MBAR0 + 0x3000)
#define PROMISE_MBAR4  (PROMISE_MBAR0 + 0x4000)
#define PROMISE_MBAR5  (PROMISE_MBAR0 + 0x5000)

/* ATA/66 Controller offsets */
#define CONFIG_SYS_ATA_BASE_ADDR     PROMISE_MBAR0
#define CONFIG_SYS_IDE_MAXBUS	       2 /* ide0/ide1 */
#define CONFIG_SYS_IDE_MAXDEVICE      2 /* 2 drives per controller */
#define CONFIG_SYS_ATA_IDE0_OFFSET    0
#define CONFIG_SYS_ATA_IDE1_OFFSET    0x3000
/*
 * Definitions for accessing IDE controller registers
 */
#define CONFIG_SYS_ATA_DATA_OFFSET    0
#define CONFIG_SYS_ATA_REG_OFFSET     0
#define CONFIG_SYS_ATA_ALT_OFFSET    (0x1000)

/*
 * The constants ROM_TEXT_ADRS, ROM_SIZE, RAM_HIGH_ADRS, and RAM_LOW_ADRS
 * are defined in config.h and Makefile.
 * All definitions for these constants must be identical.
 */
#define ROM_BASE_ADRS		0xfff00000	/* base address of ROM */
#define ROM_TEXT_ADRS		(ROM_BASE_ADRS+0x0100) /* with PC & SP */
#define ROM_WARM_ADRS		(ROM_TEXT_ADRS+0x0004) /* warm reboot entry */
#define ROM_SIZE		0x00080000	/* 512KB ROM space */
#define RAM_LOW_ADRS		0x00010000   /* RAM address for vxWorks */
#define RAM_HIGH_ADRS		0x00c00000   /* RAM address for bootrom */

/*
 *  NVRAM configuration
 *  NVRAM is implemented via the SGS Thomson M48T59Y
 *  64Kbit (8Kbx8) Timekeeper SRAM.
 *  This 8KB NVRAM also has a TOD. See m48t59y.{h,c} for more information.
 */

#define NV_RAM_ADRS		TOD_NVRAM_BASE
#define NV_RAM_INTRVL		1
#define NV_RAM_WR_ENBL		SYS_TOD_UNPROTECT()
#define NV_RAM_WR_DSBL		SYS_TOD_PROTECT()

#define NV_OFF_BOOT0		0x0000	/* Boot string 0 (256b) */
#define NV_OFF_BOOT1		0x0100	/* Boot string 1 (256b) */
#define NV_OFF_BOOT2		0x0200	/* Boot string 2 (256b)*/
#define NV_OFF_MACADDR		0x0400	/* 21143 MAC address (6b) */
#define NV_OFF_ACTIVEBOOT	0x0406	/* Active boot string, 0 to 2 (1b) */
#define NV_OFF_UNUSED1		0x0407	/* Unused (1b) */
#define NV_OFF_BINDFIX		0x0408	/* See sysLib.c:sysBindFix() (1b) */
#define NV_OFF_UNUSED2		0x0409	/* Unused (7b) */
#define NV_OFF_TIMEZONE		0x0410	/* TIMEZONE env var (64b) */
#define NV_OFF_VXWORKS_END	0x07FF	/* 2047 VxWorks Total */
#define NV_OFF_U_BOOT		0x0800	/* 2048 U-Boot boot-loader */
#define NV_OFF_U_BOOT_ADDR	(TOD_BASE + NV_OFF_U_BOOT) /* sysaddr*/
#define NV_U_BOOT_ENV_SIZE	2048	/* 2K - U-Boot Total */
#define NV_OFF__next_free	(NV_U_BOOT_ENVSIZE +1)
#define NV_RAM_SIZE		8176	/* NVRAM End */

#endif /* __MOUSSE_H */
