xref: /rk3399_rockchip-uboot/include/configs/MPC832XEMDS.h (revision b2115757403beef0ac6bc2c6c3b24f31256a75d2)
124c3aca3SDave Liu /*
224c3aca3SDave Liu  * Copyright (C) 2006 Freescale Semiconductor, Inc.
324c3aca3SDave Liu  *
424c3aca3SDave Liu  * This program is free software; you can redistribute it and/or
524c3aca3SDave Liu  * modify it under the terms of the GNU General Public License as
624c3aca3SDave Liu  * published by the Free Software Foundation; either version 2 of
724c3aca3SDave Liu  * the License, or (at your option) any later version.
824c3aca3SDave Liu  *
924c3aca3SDave Liu  * This program is distributed in the hope that it will be useful,
1024c3aca3SDave Liu  * but WITHOUT ANY WARRANTY; without even the implied warranty of
1124c3aca3SDave Liu  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
1224c3aca3SDave Liu  * GNU General Public License for more details.
1324c3aca3SDave Liu  *
1424c3aca3SDave Liu  * You should have received a copy of the GNU General Public License
1524c3aca3SDave Liu  * along with this program; if not, write to the Free Software
1624c3aca3SDave Liu  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
1724c3aca3SDave Liu  * MA 02111-1307 USA
1824c3aca3SDave Liu  */
1924c3aca3SDave Liu 
2024c3aca3SDave Liu #ifndef __CONFIG_H
2124c3aca3SDave Liu #define __CONFIG_H
2224c3aca3SDave Liu 
2324c3aca3SDave Liu /*
2424c3aca3SDave Liu  * High Level Configuration Options
2524c3aca3SDave Liu  */
2624c3aca3SDave Liu #define CONFIG_E300		1	/* E300 family */
2724c3aca3SDave Liu #define CONFIG_QE		1	/* Has QE */
2824c3aca3SDave Liu #define CONFIG_MPC83XX		1	/* MPC83xx family */
2924c3aca3SDave Liu #define CONFIG_MPC832X		1	/* MPC832x CPU specific */
3024c3aca3SDave Liu #define CONFIG_MPC832XEMDS	1	/* MPC832XEMDS board specific */
3114778585STony Li #undef CONFIG_PQ_MDS_PIB /* POWERQUICC MDS Platform IO Board */
3214778585STony Li #undef CONFIG_PQ_MDS_PIB_ATM	/* QOC3 ATM card */
3324c3aca3SDave Liu 
3424c3aca3SDave Liu /*
3524c3aca3SDave Liu  * System Clock Setup
3624c3aca3SDave Liu  */
3724c3aca3SDave Liu #ifdef CONFIG_PCISLAVE
3824c3aca3SDave Liu #define CONFIG_83XX_PCICLK	66000000	/* in HZ */
3924c3aca3SDave Liu #else
4024c3aca3SDave Liu #define CONFIG_83XX_CLKIN	66000000	/* in Hz */
4124c3aca3SDave Liu #endif
4224c3aca3SDave Liu 
4324c3aca3SDave Liu #ifndef CONFIG_SYS_CLK_FREQ
4424c3aca3SDave Liu #define CONFIG_SYS_CLK_FREQ	66000000
4524c3aca3SDave Liu #endif
4624c3aca3SDave Liu 
4724c3aca3SDave Liu /*
4824c3aca3SDave Liu  * Hardware Reset Configuration Word
4924c3aca3SDave Liu  */
5024c3aca3SDave Liu #define CFG_HRCW_LOW (\
5124c3aca3SDave Liu 	HRCWL_LCL_BUS_TO_SCB_CLK_1X1 |\
5224c3aca3SDave Liu 	HRCWL_DDR_TO_SCB_CLK_2X1 |\
5324c3aca3SDave Liu 	HRCWL_VCO_1X2 |\
5424c3aca3SDave Liu 	HRCWL_CSB_TO_CLKIN_2X1 |\
5524c3aca3SDave Liu 	HRCWL_CORE_TO_CSB_2X1 |\
5624c3aca3SDave Liu 	HRCWL_CE_PLL_VCO_DIV_2 |\
5724c3aca3SDave Liu 	HRCWL_CE_PLL_DIV_1X1 |\
5824c3aca3SDave Liu 	HRCWL_CE_TO_PLL_1X3)
5924c3aca3SDave Liu 
6024c3aca3SDave Liu #ifdef CONFIG_PCISLAVE
6124c3aca3SDave Liu #define CFG_HRCW_HIGH (\
6224c3aca3SDave Liu 	HRCWH_PCI_AGENT |\
6324c3aca3SDave Liu 	HRCWH_PCI1_ARBITER_DISABLE |\
6424c3aca3SDave Liu 	HRCWH_CORE_ENABLE |\
6524c3aca3SDave Liu 	HRCWH_FROM_0XFFF00100 |\
6624c3aca3SDave Liu 	HRCWH_BOOTSEQ_DISABLE |\
6724c3aca3SDave Liu 	HRCWH_SW_WATCHDOG_DISABLE |\
6824c3aca3SDave Liu 	HRCWH_ROM_LOC_LOCAL_16BIT |\
6924c3aca3SDave Liu 	HRCWH_BIG_ENDIAN |\
7024c3aca3SDave Liu 	HRCWH_LALE_NORMAL)
7124c3aca3SDave Liu #else
7224c3aca3SDave Liu #define CFG_HRCW_HIGH (\
7324c3aca3SDave Liu 	HRCWH_PCI_HOST |\
7424c3aca3SDave Liu 	HRCWH_PCI1_ARBITER_ENABLE |\
7524c3aca3SDave Liu 	HRCWH_CORE_ENABLE |\
7624c3aca3SDave Liu 	HRCWH_FROM_0X00000100 |\
7724c3aca3SDave Liu 	HRCWH_BOOTSEQ_DISABLE |\
7824c3aca3SDave Liu 	HRCWH_SW_WATCHDOG_DISABLE |\
7924c3aca3SDave Liu 	HRCWH_ROM_LOC_LOCAL_16BIT |\
8024c3aca3SDave Liu 	HRCWH_BIG_ENDIAN |\
8124c3aca3SDave Liu 	HRCWH_LALE_NORMAL)
8224c3aca3SDave Liu #endif
8324c3aca3SDave Liu 
8424c3aca3SDave Liu /*
8524c3aca3SDave Liu  * System IO Config
8624c3aca3SDave Liu  */
8724c3aca3SDave Liu #define CFG_SICRL		0x00000000
8824c3aca3SDave Liu 
8924c3aca3SDave Liu #define CONFIG_BOARD_EARLY_INIT_F	/* call board_pre_init */
9014778585STony Li #define CONFIG_BOARD_EARLY_INIT_R
9124c3aca3SDave Liu 
9224c3aca3SDave Liu /*
9324c3aca3SDave Liu  * IMMR new address
9424c3aca3SDave Liu  */
9524c3aca3SDave Liu #define CFG_IMMR		0xE0000000
9624c3aca3SDave Liu 
9724c3aca3SDave Liu /*
9824c3aca3SDave Liu  * DDR Setup
9924c3aca3SDave Liu  */
10024c3aca3SDave Liu #define CFG_DDR_BASE		0x00000000	/* DDR is system memory */
10124c3aca3SDave Liu #define CFG_SDRAM_BASE		CFG_DDR_BASE
10224c3aca3SDave Liu #define CFG_DDR_SDRAM_BASE	CFG_DDR_BASE
10324c3aca3SDave Liu #define CFG_DDRCDR		0x73000002	/* DDR II voltage is 1.8V */
10424c3aca3SDave Liu 
10524c3aca3SDave Liu #undef CONFIG_SPD_EEPROM
10624c3aca3SDave Liu #if defined(CONFIG_SPD_EEPROM)
10724c3aca3SDave Liu /* Determine DDR configuration from I2C interface
10824c3aca3SDave Liu  */
10924c3aca3SDave Liu #define SPD_EEPROM_ADDRESS	0x51	/* DDR SODIMM */
11024c3aca3SDave Liu #else
11124c3aca3SDave Liu /* Manually set up DDR parameters
11224c3aca3SDave Liu  */
11324c3aca3SDave Liu #define CFG_DDR_SIZE		128	/* MB */
11424c3aca3SDave Liu #define CFG_DDR_CS0_CONFIG	0x80840102
11524c3aca3SDave Liu #define CFG_DDR_TIMING_0	0x00220802
11624c3aca3SDave Liu #define CFG_DDR_TIMING_1	0x3935d322
11724c3aca3SDave Liu #define CFG_DDR_TIMING_2	0x0f9048ca
11824c3aca3SDave Liu #define CFG_DDR_TIMING_3	0x00000000
11924c3aca3SDave Liu #define CFG_DDR_CLK_CNTL	0x02000000
12024c3aca3SDave Liu #define CFG_DDR_MODE		0x44400232
12124c3aca3SDave Liu #define CFG_DDR_MODE2		0x8000c000
12224c3aca3SDave Liu #define CFG_DDR_INTERVAL	0x03200064
12324c3aca3SDave Liu #define CFG_DDR_CS0_BNDS	0x00000007
12424c3aca3SDave Liu #define CFG_DDR_SDRAM_CFG	0x43080000
12524c3aca3SDave Liu #define CFG_DDR_SDRAM_CFG2	0x00401000
12624c3aca3SDave Liu #endif
12724c3aca3SDave Liu 
12824c3aca3SDave Liu /*
12924c3aca3SDave Liu  * Memory test
13024c3aca3SDave Liu  */
13124c3aca3SDave Liu #undef CFG_DRAM_TEST		/* memory test, takes time */
13224c3aca3SDave Liu #define CFG_MEMTEST_START	0x00000000	/* memtest region */
13324c3aca3SDave Liu #define CFG_MEMTEST_END		0x00100000
13424c3aca3SDave Liu 
13524c3aca3SDave Liu /*
13624c3aca3SDave Liu  * The reserved memory
13724c3aca3SDave Liu  */
13824c3aca3SDave Liu #define CFG_MONITOR_BASE	TEXT_BASE	/* start of monitor */
13924c3aca3SDave Liu 
14024c3aca3SDave Liu #if (CFG_MONITOR_BASE < CFG_FLASH_BASE)
14124c3aca3SDave Liu #define CFG_RAMBOOT
14224c3aca3SDave Liu #else
14324c3aca3SDave Liu #undef  CFG_RAMBOOT
14424c3aca3SDave Liu #endif
14524c3aca3SDave Liu 
146b2893e1fSTimur Tabi /* CFG_MONITOR_LEN must be a multiple of CFG_ENV_SECT_SIZE */
14724c3aca3SDave Liu #define CFG_MONITOR_LEN		(256 * 1024)	/* Reserve 256 kB for Mon */
14824c3aca3SDave Liu #define CFG_MALLOC_LEN		(128 * 1024)	/* Reserved for malloc */
14924c3aca3SDave Liu 
15024c3aca3SDave Liu /*
15124c3aca3SDave Liu  * Initial RAM Base Address Setup
15224c3aca3SDave Liu  */
15324c3aca3SDave Liu #define CFG_INIT_RAM_LOCK	1
15424c3aca3SDave Liu #define CFG_INIT_RAM_ADDR	0xE6000000	/* Initial RAM address */
15524c3aca3SDave Liu #define CFG_INIT_RAM_END	0x1000		/* End of used area in RAM */
15624c3aca3SDave Liu #define CFG_GBL_DATA_SIZE	0x100		/* num bytes initial data */
15724c3aca3SDave Liu #define CFG_GBL_DATA_OFFSET	(CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
15824c3aca3SDave Liu 
15924c3aca3SDave Liu /*
16024c3aca3SDave Liu  * Local Bus Configuration & Clock Setup
16124c3aca3SDave Liu  */
16224c3aca3SDave Liu #define CFG_LCRR		(LCRR_DBYP | LCRR_CLKDIV_2)
16324c3aca3SDave Liu #define CFG_LBC_LBCR		0x00000000
16424c3aca3SDave Liu 
16524c3aca3SDave Liu /*
16624c3aca3SDave Liu  * FLASH on the Local Bus
16724c3aca3SDave Liu  */
16824c3aca3SDave Liu #define CFG_FLASH_CFI		/* use the Common Flash Interface */
16924c3aca3SDave Liu #define CFG_FLASH_CFI_DRIVER	/* use the CFI driver */
17024c3aca3SDave Liu #define CFG_FLASH_BASE		0xFE000000	/* FLASH base address */
17124c3aca3SDave Liu #define CFG_FLASH_SIZE		16	/* FLASH size is 16M */
17224c3aca3SDave Liu 
17324c3aca3SDave Liu #define CFG_LBLAWBAR0_PRELIM	CFG_FLASH_BASE	/* Window base at flash base */
17424c3aca3SDave Liu #define CFG_LBLAWAR0_PRELIM	0x80000018	/* 32MB window size */
17524c3aca3SDave Liu 
17624c3aca3SDave Liu #define CFG_BR0_PRELIM	(CFG_FLASH_BASE |	/* Flash Base address */ \
17724c3aca3SDave Liu 			(2 << BR_PS_SHIFT) |	/* 16 bit port size */ \
17824c3aca3SDave Liu 			BR_V)			/* valid */
17924c3aca3SDave Liu #define CFG_OR0_PRELIM		0xfe006ff7	/* 16MB Flash size */
18024c3aca3SDave Liu 
18124c3aca3SDave Liu #define CFG_MAX_FLASH_BANKS	1		/* number of banks */
18224c3aca3SDave Liu #define CFG_MAX_FLASH_SECT	128		/* sectors per device */
18324c3aca3SDave Liu 
18424c3aca3SDave Liu #undef CFG_FLASH_CHECKSUM
18524c3aca3SDave Liu 
18624c3aca3SDave Liu /*
18724c3aca3SDave Liu  * BCSR on the Local Bus
18824c3aca3SDave Liu  */
18924c3aca3SDave Liu #define CFG_BCSR		0xF8000000
19024c3aca3SDave Liu #define CFG_LBLAWBAR1_PRELIM	CFG_BCSR	/* Access window base at BCSR base */
19124c3aca3SDave Liu #define CFG_LBLAWAR1_PRELIM	0x8000000E	/* Access window size 32K */
19224c3aca3SDave Liu 
19324c3aca3SDave Liu #define CFG_BR1_PRELIM		(CFG_BCSR|0x00000801)	/* Port size=8bit, MSEL=GPCM */
19424c3aca3SDave Liu #define CFG_OR1_PRELIM		0xFFFFE9f7	/* length 32K */
19524c3aca3SDave Liu 
19624c3aca3SDave Liu /*
19724c3aca3SDave Liu  * SDRAM on the Local Bus
19824c3aca3SDave Liu  */
19924c3aca3SDave Liu #undef CFG_LB_SDRAM		/* The board has not SRDAM on local bus */
20024c3aca3SDave Liu 
20124c3aca3SDave Liu #ifdef CFG_LB_SDRAM
20224c3aca3SDave Liu #define CFG_LBC_SDRAM_BASE	0xF0000000	/* SDRAM base address */
20324c3aca3SDave Liu #define CFG_LBC_SDRAM_SIZE	64		/* LBC SDRAM is 64MB */
20424c3aca3SDave Liu 
20524c3aca3SDave Liu #define CFG_LBLAWBAR2_PRELIM	CFG_LBC_SDRAM_BASE
20624c3aca3SDave Liu #define CFG_LBLAWAR2_PRELIM	0x80000019	/* 64MB */
20724c3aca3SDave Liu 
20824c3aca3SDave Liu /*local bus BR2, OR2 definition for SDRAM if soldered on the EPB board */
20924c3aca3SDave Liu /*
21024c3aca3SDave Liu  * Base Register 2 and Option Register 2 configure SDRAM.
21124c3aca3SDave Liu  * The SDRAM base address, CFG_LBC_SDRAM_BASE, is 0xf0000000.
21224c3aca3SDave Liu  *
21324c3aca3SDave Liu  * For BR2, need:
21424c3aca3SDave Liu  *    Base address of 0xf0000000 = BR[0:16] = 1111 0000 0000 0000 0
21524c3aca3SDave Liu  *    port size = 32-bits = BR2[19:20] = 11
21624c3aca3SDave Liu  *    no parity checking = BR2[21:22] = 00
21724c3aca3SDave Liu  *    SDRAM for MSEL = BR2[24:26] = 011
21824c3aca3SDave Liu  *    Valid = BR[31] = 1
21924c3aca3SDave Liu  *
22024c3aca3SDave Liu  * 0    4    8    12   16   20   24   28
22124c3aca3SDave Liu  * 1111 0000 0000 0000 0001 1000 0110 0001 = f0001861
22224c3aca3SDave Liu  *
22324c3aca3SDave Liu  * CFG_LBC_SDRAM_BASE should be masked and OR'ed into
22424c3aca3SDave Liu  * the top 17 bits of BR2.
22524c3aca3SDave Liu  */
22624c3aca3SDave Liu 
22724c3aca3SDave Liu #define CFG_BR2_PRELIM	0xf0001861	/*Port size=32bit, MSEL=SDRAM */
22824c3aca3SDave Liu 
22924c3aca3SDave Liu /*
23024c3aca3SDave Liu  * The SDRAM size in MB, CFG_LBC_SDRAM_SIZE, is 64.
23124c3aca3SDave Liu  *
23224c3aca3SDave Liu  * For OR2, need:
23324c3aca3SDave Liu  *    64MB mask for AM, OR2[0:7] = 1111 1100
23424c3aca3SDave Liu  *                 XAM, OR2[17:18] = 11
23524c3aca3SDave Liu  *    9 columns OR2[19-21] = 010
23624c3aca3SDave Liu  *    13 rows   OR2[23-25] = 100
23724c3aca3SDave Liu  *    EAD set for extra time OR[31] = 1
23824c3aca3SDave Liu  *
23924c3aca3SDave Liu  * 0    4    8    12   16   20   24   28
24024c3aca3SDave Liu  * 1111 1100 0000 0000 0110 1001 0000 0001 = fc006901
24124c3aca3SDave Liu  */
24224c3aca3SDave Liu 
24324c3aca3SDave Liu #define CFG_OR2_PRELIM	0xfc006901
24424c3aca3SDave Liu 
24524c3aca3SDave Liu #define CFG_LBC_LSRT	0x32000000	/* LB sdram refresh timer, about 6us */
24624c3aca3SDave Liu #define CFG_LBC_MRTPR	0x20000000	/* LB refresh timer prescal, 266MHz/32 */
24724c3aca3SDave Liu 
24824c3aca3SDave Liu /*
24924c3aca3SDave Liu  * LSDMR masks
25024c3aca3SDave Liu  */
25124c3aca3SDave Liu #define CFG_LBC_LSDMR_OP_NORMAL	(0 << (31 - 4))
25224c3aca3SDave Liu #define CFG_LBC_LSDMR_OP_ARFRSH	(1 << (31 - 4))
25324c3aca3SDave Liu #define CFG_LBC_LSDMR_OP_SRFRSH	(2 << (31 - 4))
25424c3aca3SDave Liu #define CFG_LBC_LSDMR_OP_MRW	(3 << (31 - 4))
25524c3aca3SDave Liu #define CFG_LBC_LSDMR_OP_PRECH	(4 << (31 - 4))
25624c3aca3SDave Liu #define CFG_LBC_LSDMR_OP_PCHALL	(5 << (31 - 4))
25724c3aca3SDave Liu #define CFG_LBC_LSDMR_OP_ACTBNK	(6 << (31 - 4))
25824c3aca3SDave Liu #define CFG_LBC_LSDMR_OP_RWINV	(7 << (31 - 4))
25924c3aca3SDave Liu 
26024c3aca3SDave Liu #define CFG_LBC_LSDMR_COMMON	0x0063b723
26124c3aca3SDave Liu 
26224c3aca3SDave Liu /*
26324c3aca3SDave Liu  * SDRAM Controller configuration sequence.
26424c3aca3SDave Liu  */
26524c3aca3SDave Liu #define CFG_LBC_LSDMR_1		( CFG_LBC_LSDMR_COMMON \
26624c3aca3SDave Liu 				| CFG_LBC_LSDMR_OP_PCHALL)
26724c3aca3SDave Liu #define CFG_LBC_LSDMR_2		( CFG_LBC_LSDMR_COMMON \
26824c3aca3SDave Liu 				| CFG_LBC_LSDMR_OP_ARFRSH)
26924c3aca3SDave Liu #define CFG_LBC_LSDMR_3		( CFG_LBC_LSDMR_COMMON \
27024c3aca3SDave Liu 				| CFG_LBC_LSDMR_OP_ARFRSH)
27124c3aca3SDave Liu #define CFG_LBC_LSDMR_4		( CFG_LBC_LSDMR_COMMON \
27224c3aca3SDave Liu 				| CFG_LBC_LSDMR_OP_MRW)
27324c3aca3SDave Liu #define CFG_LBC_LSDMR_5		( CFG_LBC_LSDMR_COMMON \
27424c3aca3SDave Liu 				| CFG_LBC_LSDMR_OP_NORMAL)
27524c3aca3SDave Liu 
27624c3aca3SDave Liu #endif
27724c3aca3SDave Liu 
27824c3aca3SDave Liu /*
27924c3aca3SDave Liu  * Windows to access PIB via local bus
28024c3aca3SDave Liu  */
28124c3aca3SDave Liu #define CFG_LBLAWBAR3_PRELIM	0xf8008000	/* windows base 0xf8008000 */
28224c3aca3SDave Liu #define CFG_LBLAWAR3_PRELIM	0x8000000f	/* windows size 64KB */
28324c3aca3SDave Liu 
28424c3aca3SDave Liu /*
28524c3aca3SDave Liu  * CS2 on Local Bus, to PIB
28624c3aca3SDave Liu  */
28724c3aca3SDave Liu #define CFG_BR2_PRELIM	0xf8008801	/* CS2 base address at 0xf8008000 */
28824c3aca3SDave Liu #define CFG_OR2_PRELIM	0xffffe9f7	/* size 32KB, port size 8bit, GPCM */
28924c3aca3SDave Liu 
29024c3aca3SDave Liu /*
29124c3aca3SDave Liu  * CS3 on Local Bus, to PIB
29224c3aca3SDave Liu  */
29324c3aca3SDave Liu #define CFG_BR3_PRELIM	0xf8010801	/* CS3 base address at 0xf8010000 */
29424c3aca3SDave Liu #define CFG_OR3_PRELIM	0xffffe9f7	/* size 32KB, port size 8bit, GPCM */
29524c3aca3SDave Liu 
29624c3aca3SDave Liu /*
29724c3aca3SDave Liu  * Serial Port
29824c3aca3SDave Liu  */
29924c3aca3SDave Liu #define CONFIG_CONS_INDEX	1
30024c3aca3SDave Liu #undef CONFIG_SERIAL_SOFTWARE_FIFO
30124c3aca3SDave Liu #define CFG_NS16550
30224c3aca3SDave Liu #define CFG_NS16550_SERIAL
30324c3aca3SDave Liu #define CFG_NS16550_REG_SIZE	1
30424c3aca3SDave Liu #define CFG_NS16550_CLK		get_bus_freq(0)
30524c3aca3SDave Liu 
30624c3aca3SDave Liu #define CFG_BAUDRATE_TABLE  \
30724c3aca3SDave Liu 	{300, 600, 1200, 2400, 4800, 9600, 19200, 38400,115200}
30824c3aca3SDave Liu 
30924c3aca3SDave Liu #define CFG_NS16550_COM1	(CFG_IMMR+0x4500)
31024c3aca3SDave Liu #define CFG_NS16550_COM2	(CFG_IMMR+0x4600)
31124c3aca3SDave Liu 
31222d71a71SKim Phillips #define CONFIG_CMDLINE_EDITING	1	/* add command line history	*/
31324c3aca3SDave Liu /* Use the HUSH parser */
31424c3aca3SDave Liu #define CFG_HUSH_PARSER
31524c3aca3SDave Liu #ifdef CFG_HUSH_PARSER
31624c3aca3SDave Liu #define CFG_PROMPT_HUSH_PS2 "> "
31724c3aca3SDave Liu #endif
31824c3aca3SDave Liu 
31924c3aca3SDave Liu /* pass open firmware flat tree */
32035cc4e48SKim Phillips #define CONFIG_OF_LIBFDT	1
32124c3aca3SDave Liu #define CONFIG_OF_BOARD_SETUP	1
3225b8bc606SKim Phillips #define CONFIG_OF_STDOUT_VIA_ALIAS	1
32324c3aca3SDave Liu 
32424c3aca3SDave Liu /* I2C */
32524c3aca3SDave Liu #define CONFIG_HARD_I2C		/* I2C with hardware support */
32624c3aca3SDave Liu #undef CONFIG_SOFT_I2C		/* I2C bit-banged */
32724c3aca3SDave Liu #define CONFIG_FSL_I2C
32824c3aca3SDave Liu #define CFG_I2C_SPEED	400000	/* I2C speed and slave address */
32924c3aca3SDave Liu #define CFG_I2C_SLAVE	0x7F
33024c3aca3SDave Liu #define CFG_I2C_NOPROBES	{0x51}	/* Don't probe these addrs */
33124c3aca3SDave Liu #define CFG_I2C_OFFSET	0x3000
33224c3aca3SDave Liu 
33324c3aca3SDave Liu /*
33424c3aca3SDave Liu  * Config on-board RTC
33524c3aca3SDave Liu  */
33624c3aca3SDave Liu #define CONFIG_RTC_DS1374		/* use ds1374 rtc via i2c */
33724c3aca3SDave Liu #define CFG_I2C_RTC_ADDR	0x68	/* at address 0x68 */
33824c3aca3SDave Liu 
33924c3aca3SDave Liu /*
34024c3aca3SDave Liu  * General PCI
34124c3aca3SDave Liu  * Addresses are mapped 1-1.
34224c3aca3SDave Liu  */
34324c3aca3SDave Liu #define CFG_PCI_MEM_BASE	0x80000000
34424c3aca3SDave Liu #define CFG_PCI_MEM_PHYS	CFG_PCI_MEM_BASE
34524c3aca3SDave Liu #define CFG_PCI_MEM_SIZE	0x10000000	/* 256M */
34624c3aca3SDave Liu #define CFG_PCI_MMIO_BASE	0x90000000
34724c3aca3SDave Liu #define CFG_PCI_MMIO_PHYS	CFG_PCI_MMIO_BASE
34824c3aca3SDave Liu #define CFG_PCI_MMIO_SIZE	0x10000000	/* 256M */
349a7ba32d4SScott Wood #define CFG_PCI_IO_BASE		0x00000000
35024c3aca3SDave Liu #define CFG_PCI_IO_PHYS		0xE0300000
35124c3aca3SDave Liu #define CFG_PCI_IO_SIZE		0x100000	/* 1M */
35224c3aca3SDave Liu 
35324c3aca3SDave Liu #define CFG_PCI_SLV_MEM_LOCAL	CFG_SDRAM_BASE
35424c3aca3SDave Liu #define CFG_PCI_SLV_MEM_BUS	0x00000000
35524c3aca3SDave Liu #define CFG_PCI_SLV_MEM_SIZE	0x80000000
35624c3aca3SDave Liu 
35724c3aca3SDave Liu 
35824c3aca3SDave Liu #ifdef CONFIG_PCI
35924c3aca3SDave Liu 
36024c3aca3SDave Liu #define CONFIG_NET_MULTI
36124c3aca3SDave Liu #define CONFIG_PCI_PNP		/* do pci plug-and-play */
36224c3aca3SDave Liu 
36324c3aca3SDave Liu #undef CONFIG_EEPRO100
36424c3aca3SDave Liu #undef CONFIG_PCI_SCAN_SHOW	/* show pci devices on startup */
36524c3aca3SDave Liu #define CFG_PCI_SUBSYS_VENDORID	0x1957	/* Freescale */
36624c3aca3SDave Liu 
36724c3aca3SDave Liu #endif	/* CONFIG_PCI */
36824c3aca3SDave Liu 
36924c3aca3SDave Liu 
37024c3aca3SDave Liu #ifndef CONFIG_NET_MULTI
37124c3aca3SDave Liu #define CONFIG_NET_MULTI	1
37224c3aca3SDave Liu #endif
37324c3aca3SDave Liu 
37424c3aca3SDave Liu /*
37524c3aca3SDave Liu  * QE UEC ethernet configuration
37624c3aca3SDave Liu  */
37724c3aca3SDave Liu #define CONFIG_UEC_ETH
378711a7946SKim Phillips #define CONFIG_ETHPRIME		"FSL UEC0"
37924c3aca3SDave Liu 
38024c3aca3SDave Liu #define CONFIG_UEC_ETH1		/* ETH3 */
38124c3aca3SDave Liu 
38224c3aca3SDave Liu #ifdef CONFIG_UEC_ETH1
38324c3aca3SDave Liu #define CFG_UEC1_UCC_NUM	2	/* UCC3 */
38424c3aca3SDave Liu #define CFG_UEC1_RX_CLK		QE_CLK9
38524c3aca3SDave Liu #define CFG_UEC1_TX_CLK		QE_CLK10
38624c3aca3SDave Liu #define CFG_UEC1_ETH_TYPE	FAST_ETH
38724c3aca3SDave Liu #define CFG_UEC1_PHY_ADDR	3
38824c3aca3SDave Liu #define CFG_UEC1_INTERFACE_MODE	ENET_100_MII
38924c3aca3SDave Liu #endif
39024c3aca3SDave Liu 
39124c3aca3SDave Liu #define CONFIG_UEC_ETH2		/* ETH4 */
39224c3aca3SDave Liu 
39324c3aca3SDave Liu #ifdef CONFIG_UEC_ETH2
39424c3aca3SDave Liu #define CFG_UEC2_UCC_NUM	3	/* UCC4 */
39524c3aca3SDave Liu #define CFG_UEC2_RX_CLK		QE_CLK7
39624c3aca3SDave Liu #define CFG_UEC2_TX_CLK		QE_CLK8
39724c3aca3SDave Liu #define CFG_UEC2_ETH_TYPE	FAST_ETH
39824c3aca3SDave Liu #define CFG_UEC2_PHY_ADDR	4
39924c3aca3SDave Liu #define CFG_UEC2_INTERFACE_MODE	ENET_100_MII
40024c3aca3SDave Liu #endif
40124c3aca3SDave Liu 
40224c3aca3SDave Liu /*
40324c3aca3SDave Liu  * Environment
40424c3aca3SDave Liu  */
40524c3aca3SDave Liu #ifndef CFG_RAMBOOT
40624c3aca3SDave Liu 	#define CFG_ENV_IS_IN_FLASH	1
407b2893e1fSTimur Tabi 	#define CFG_ENV_ADDR		(CFG_MONITOR_BASE + CFG_MONITOR_LEN)
408b2893e1fSTimur Tabi 	#define CFG_ENV_SECT_SIZE	0x20000
40924c3aca3SDave Liu 	#define CFG_ENV_SIZE		0x2000
41024c3aca3SDave Liu #else
41124c3aca3SDave Liu 	#define CFG_NO_FLASH		1	/* Flash is not usable now */
41224c3aca3SDave Liu 	#define CFG_ENV_IS_NOWHERE	1	/* Store ENV in memory only */
41324c3aca3SDave Liu 	#define CFG_ENV_ADDR		(CFG_MONITOR_BASE - 0x1000)
41424c3aca3SDave Liu 	#define CFG_ENV_SIZE		0x2000
41524c3aca3SDave Liu #endif
41624c3aca3SDave Liu 
41724c3aca3SDave Liu #define CONFIG_LOADS_ECHO	1	/* echo on for serial download */
41824c3aca3SDave Liu #define CFG_LOADS_BAUD_CHANGE	1	/* allow baudrate change */
41924c3aca3SDave Liu 
4208ea5499aSJon Loeliger /*
421079a136cSJon Loeliger  * BOOTP options
422079a136cSJon Loeliger  */
423079a136cSJon Loeliger #define CONFIG_BOOTP_BOOTFILESIZE
424079a136cSJon Loeliger #define CONFIG_BOOTP_BOOTPATH
425079a136cSJon Loeliger #define CONFIG_BOOTP_GATEWAY
426079a136cSJon Loeliger #define CONFIG_BOOTP_HOSTNAME
427079a136cSJon Loeliger 
428079a136cSJon Loeliger 
429079a136cSJon Loeliger /*
4308ea5499aSJon Loeliger  * Command line configuration.
4318ea5499aSJon Loeliger  */
4328ea5499aSJon Loeliger #include <config_cmd_default.h>
4338ea5499aSJon Loeliger 
4348ea5499aSJon Loeliger #define CONFIG_CMD_PING
4358ea5499aSJon Loeliger #define CONFIG_CMD_I2C
4368ea5499aSJon Loeliger #define CONFIG_CMD_ASKENV
4378ea5499aSJon Loeliger 
43824c3aca3SDave Liu #if defined(CONFIG_PCI)
4398ea5499aSJon Loeliger     #define CONFIG_CMD_PCI
44024c3aca3SDave Liu #endif
44124c3aca3SDave Liu 
4428ea5499aSJon Loeliger #if defined(CFG_RAMBOOT)
4438ea5499aSJon Loeliger     #undef CONFIG_CMD_ENV
4448ea5499aSJon Loeliger     #undef CONFIG_CMD_LOADS
4458ea5499aSJon Loeliger #endif
4468ea5499aSJon Loeliger 
44724c3aca3SDave Liu 
44824c3aca3SDave Liu #undef CONFIG_WATCHDOG		/* watchdog disabled */
44924c3aca3SDave Liu 
45024c3aca3SDave Liu /*
45124c3aca3SDave Liu  * Miscellaneous configurable options
45224c3aca3SDave Liu  */
45324c3aca3SDave Liu #define CFG_LONGHELP		/* undef to save memory */
45424c3aca3SDave Liu #define CFG_LOAD_ADDR		0x2000000	/* default load address */
45524c3aca3SDave Liu #define CFG_PROMPT		"=> "	/* Monitor Command Prompt */
45624c3aca3SDave Liu 
4578ea5499aSJon Loeliger #if defined(CONFIG_CMD_KGDB)
45824c3aca3SDave Liu 	#define CFG_CBSIZE	1024	/* Console I/O Buffer Size */
45924c3aca3SDave Liu #else
46024c3aca3SDave Liu 	#define CFG_CBSIZE	256	/* Console I/O Buffer Size */
46124c3aca3SDave Liu #endif
46224c3aca3SDave Liu 
46324c3aca3SDave Liu #define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16)	/* Print Buffer Size */
46424c3aca3SDave Liu #define CFG_MAXARGS	16		/* max number of command args */
46524c3aca3SDave Liu #define CFG_BARGSIZE	CFG_CBSIZE	/* Boot Argument Buffer Size */
46624c3aca3SDave Liu #define CFG_HZ		1000		/* decrementer freq: 1ms ticks */
46724c3aca3SDave Liu 
46824c3aca3SDave Liu /*
46924c3aca3SDave Liu  * For booting Linux, the board info and command line data
47024c3aca3SDave Liu  * have to be in the first 8 MB of memory, since this is
47124c3aca3SDave Liu  * the maximum mapped by the Linux kernel during initialization.
47224c3aca3SDave Liu  */
47324c3aca3SDave Liu #define CFG_BOOTMAPSZ		(8 << 20)	/* Initial Memory map for Linux */
47424c3aca3SDave Liu 
47524c3aca3SDave Liu /*
47624c3aca3SDave Liu  * Core HID Setup
47724c3aca3SDave Liu  */
47824c3aca3SDave Liu #define CFG_HID0_INIT		0x000000000
47924c3aca3SDave Liu #define CFG_HID0_FINAL		HID0_ENABLE_MACHINE_CHECK
48024c3aca3SDave Liu #define CFG_HID2		HID2_HBE
48124c3aca3SDave Liu 
48224c3aca3SDave Liu /*
48324c3aca3SDave Liu  * MMU Setup
48424c3aca3SDave Liu  */
48524c3aca3SDave Liu 
48624c3aca3SDave Liu /* DDR: cache cacheable */
48724c3aca3SDave Liu #define CFG_IBAT0L	(CFG_SDRAM_BASE | BATL_PP_10 | BATL_MEMCOHERENCE)
48824c3aca3SDave Liu #define CFG_IBAT0U	(CFG_SDRAM_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
48924c3aca3SDave Liu #define CFG_DBAT0L	CFG_IBAT0L
49024c3aca3SDave Liu #define CFG_DBAT0U	CFG_IBAT0U
49124c3aca3SDave Liu 
49224c3aca3SDave Liu /* IMMRBAR & PCI IO: cache-inhibit and guarded */
49324c3aca3SDave Liu #define CFG_IBAT1L	(CFG_IMMR | BATL_PP_10 | \
49424c3aca3SDave Liu 			BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
49524c3aca3SDave Liu #define CFG_IBAT1U	(CFG_IMMR | BATU_BL_4M | BATU_VS | BATU_VP)
49624c3aca3SDave Liu #define CFG_DBAT1L	CFG_IBAT1L
49724c3aca3SDave Liu #define CFG_DBAT1U	CFG_IBAT1U
49824c3aca3SDave Liu 
49924c3aca3SDave Liu /* BCSR: cache-inhibit and guarded */
50024c3aca3SDave Liu #define CFG_IBAT2L	(CFG_BCSR | BATL_PP_10 | \
50124c3aca3SDave Liu 			BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
50224c3aca3SDave Liu #define CFG_IBAT2U	(CFG_BCSR | BATU_BL_128K | BATU_VS | BATU_VP)
50324c3aca3SDave Liu #define CFG_DBAT2L	CFG_IBAT2L
50424c3aca3SDave Liu #define CFG_DBAT2U	CFG_IBAT2U
50524c3aca3SDave Liu 
50624c3aca3SDave Liu /* FLASH: icache cacheable, but dcache-inhibit and guarded */
50724c3aca3SDave Liu #define CFG_IBAT3L	(CFG_FLASH_BASE | BATL_PP_10 | BATL_MEMCOHERENCE)
50824c3aca3SDave Liu #define CFG_IBAT3U	(CFG_FLASH_BASE | BATU_BL_32M | BATU_VS | BATU_VP)
50924c3aca3SDave Liu #define CFG_DBAT3L	(CFG_FLASH_BASE | BATL_PP_10 | \
51024c3aca3SDave Liu 			BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
51124c3aca3SDave Liu #define CFG_DBAT3U	CFG_IBAT3U
51224c3aca3SDave Liu 
51324c3aca3SDave Liu #define CFG_IBAT4L	(0)
51424c3aca3SDave Liu #define CFG_IBAT4U	(0)
51524c3aca3SDave Liu #define CFG_DBAT4L	CFG_IBAT4L
51624c3aca3SDave Liu #define CFG_DBAT4U	CFG_IBAT4U
51724c3aca3SDave Liu 
51824c3aca3SDave Liu /* Stack in dcache: cacheable, no memory coherence */
51924c3aca3SDave Liu #define CFG_IBAT5L	(CFG_INIT_RAM_ADDR | BATL_PP_10)
52024c3aca3SDave Liu #define CFG_IBAT5U	(CFG_INIT_RAM_ADDR | BATU_BL_128K | BATU_VS | BATU_VP)
52124c3aca3SDave Liu #define CFG_DBAT5L	CFG_IBAT5L
52224c3aca3SDave Liu #define CFG_DBAT5U	CFG_IBAT5U
52324c3aca3SDave Liu 
52424c3aca3SDave Liu #ifdef CONFIG_PCI
52524c3aca3SDave Liu /* PCI MEM space: cacheable */
52624c3aca3SDave Liu #define CFG_IBAT6L	(CFG_PCI_MEM_PHYS | BATL_PP_10 | BATL_MEMCOHERENCE)
52724c3aca3SDave Liu #define CFG_IBAT6U	(CFG_PCI_MEM_PHYS | BATU_BL_256M | BATU_VS | BATU_VP)
52824c3aca3SDave Liu #define CFG_DBAT6L	CFG_IBAT6L
52924c3aca3SDave Liu #define CFG_DBAT6U	CFG_IBAT6U
53024c3aca3SDave Liu /* PCI MMIO space: cache-inhibit and guarded */
53124c3aca3SDave Liu #define CFG_IBAT7L	(CFG_PCI_MMIO_PHYS | BATL_PP_10 | \
53224c3aca3SDave Liu 			BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
53324c3aca3SDave Liu #define CFG_IBAT7U	(CFG_PCI_MMIO_PHYS | BATU_BL_256M | BATU_VS | BATU_VP)
53424c3aca3SDave Liu #define CFG_DBAT7L	CFG_IBAT7L
53524c3aca3SDave Liu #define CFG_DBAT7U	CFG_IBAT7U
53624c3aca3SDave Liu #else
53724c3aca3SDave Liu #define CFG_IBAT6L	(0)
53824c3aca3SDave Liu #define CFG_IBAT6U	(0)
53924c3aca3SDave Liu #define CFG_IBAT7L	(0)
54024c3aca3SDave Liu #define CFG_IBAT7U	(0)
54124c3aca3SDave Liu #define CFG_DBAT6L	CFG_IBAT6L
54224c3aca3SDave Liu #define CFG_DBAT6U	CFG_IBAT6U
54324c3aca3SDave Liu #define CFG_DBAT7L	CFG_IBAT7L
54424c3aca3SDave Liu #define CFG_DBAT7U	CFG_IBAT7U
54524c3aca3SDave Liu #endif
54624c3aca3SDave Liu 
54724c3aca3SDave Liu /*
54824c3aca3SDave Liu  * Internal Definitions
54924c3aca3SDave Liu  *
55024c3aca3SDave Liu  * Boot Flags
55124c3aca3SDave Liu  */
55224c3aca3SDave Liu #define BOOTFLAG_COLD	0x01	/* Normal Power-On: Boot from FLASH */
55324c3aca3SDave Liu #define BOOTFLAG_WARM	0x02	/* Software reboot */
55424c3aca3SDave Liu 
5558ea5499aSJon Loeliger #if defined(CONFIG_CMD_KGDB)
55624c3aca3SDave Liu #define CONFIG_KGDB_BAUDRATE	230400	/* speed of kgdb serial port */
55724c3aca3SDave Liu #define CONFIG_KGDB_SER_INDEX	2	/* which serial port to use */
55824c3aca3SDave Liu #endif
55924c3aca3SDave Liu 
56024c3aca3SDave Liu /*
56124c3aca3SDave Liu  * Environment Configuration
56224c3aca3SDave Liu  */
56324c3aca3SDave Liu 
56424c3aca3SDave Liu #define CONFIG_ENV_OVERWRITE
56524c3aca3SDave Liu 
56624c3aca3SDave Liu #if defined(CONFIG_UEC_ETH)
567977b5758SKim Phillips #define CONFIG_HAS_ETH0
56824c3aca3SDave Liu #define CONFIG_ETHADDR	00:04:9f:ef:03:01
56924c3aca3SDave Liu #define CONFIG_HAS_ETH1
57024c3aca3SDave Liu #define CONFIG_ETH1ADDR	00:04:9f:ef:03:02
57124c3aca3SDave Liu #endif
57224c3aca3SDave Liu 
57324c3aca3SDave Liu #define CONFIG_BAUDRATE	115200
57424c3aca3SDave Liu 
575*b2115757SKim Phillips #define CONFIG_LOADADDR	500000	/* default location for tftp and bootm */
57624c3aca3SDave Liu 
57724c3aca3SDave Liu #define CONFIG_BOOTDELAY 6 	/* -1 disables auto-boot */
57824c3aca3SDave Liu #undef  CONFIG_BOOTARGS		/* the boot command will set bootargs */
57924c3aca3SDave Liu 
58024c3aca3SDave Liu #define CONFIG_EXTRA_ENV_SETTINGS					\
58124c3aca3SDave Liu    "netdev=eth0\0"							\
58224c3aca3SDave Liu    "consoledev=ttyS0\0"							\
58324c3aca3SDave Liu    "ramdiskaddr=1000000\0"						\
58424c3aca3SDave Liu    "ramdiskfile=ramfs.83xx\0"						\
58524c3aca3SDave Liu    "fdtaddr=400000\0"							\
586270fe261SKim Phillips    "fdtfile=mpc832x_mds.dtb\0"						\
58724c3aca3SDave Liu    ""
58824c3aca3SDave Liu 
58924c3aca3SDave Liu #define CONFIG_NFSBOOTCOMMAND						\
59024c3aca3SDave Liu    "setenv bootargs root=/dev/nfs rw "					\
59124c3aca3SDave Liu       "nfsroot=$serverip:$rootpath "					\
59224c3aca3SDave Liu       "ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off "	\
59324c3aca3SDave Liu       "console=$consoledev,$baudrate $othbootargs;"			\
59424c3aca3SDave Liu    "tftp $loadaddr $bootfile;"						\
59524c3aca3SDave Liu    "tftp $fdtaddr $fdtfile;"						\
59624c3aca3SDave Liu    "bootm $loadaddr - $fdtaddr"
59724c3aca3SDave Liu 
59824c3aca3SDave Liu #define CONFIG_RAMBOOTCOMMAND						\
59924c3aca3SDave Liu    "setenv bootargs root=/dev/ram rw "					\
60024c3aca3SDave Liu       "console=$consoledev,$baudrate $othbootargs;"			\
60124c3aca3SDave Liu    "tftp $ramdiskaddr $ramdiskfile;"					\
60224c3aca3SDave Liu    "tftp $loadaddr $bootfile;"						\
60324c3aca3SDave Liu    "tftp $fdtaddr $fdtfile;"						\
60424c3aca3SDave Liu    "bootm $loadaddr $ramdiskaddr $fdtaddr"
60524c3aca3SDave Liu 
60624c3aca3SDave Liu 
60724c3aca3SDave Liu #define CONFIG_BOOTCOMMAND CONFIG_NFSBOOTCOMMAND
60824c3aca3SDave Liu 
60924c3aca3SDave Liu #endif	/* __CONFIG_H */
610