xref: /rk3399_rockchip-uboot/include/configs/astro_mcf5373l.h (revision dd9f054ede433de73b137987fb3dc066e8d24ebb)
19d79e575SWolfgang Wegner /*
29d79e575SWolfgang Wegner  * Configuration settings for the Sentec Cobra Board.
39d79e575SWolfgang Wegner  *
49d79e575SWolfgang Wegner  * (C) Copyright 2003 Josef Baumgartner <josef.baumgartner@telex.de>
59d79e575SWolfgang Wegner  *
69d79e575SWolfgang Wegner  * See file CREDITS for list of people who contributed to this
79d79e575SWolfgang Wegner  * project.
89d79e575SWolfgang Wegner  *
99d79e575SWolfgang Wegner  * This program is free software; you can redistribute it and/or
109d79e575SWolfgang Wegner  * modify it under the terms of the GNU General Public License as
119d79e575SWolfgang Wegner  * published by the Free Software Foundation; either version 2 of
129d79e575SWolfgang Wegner  * the License, or (at your option) any later version.
139d79e575SWolfgang Wegner  *
149d79e575SWolfgang Wegner  * This program is distributed in the hope that it will be useful,
159d79e575SWolfgang Wegner  * but WITHOUT ANY WARRANTY; without even the implied warranty of
169d79e575SWolfgang Wegner  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
179d79e575SWolfgang Wegner  * GNU General Public License for more details.
189d79e575SWolfgang Wegner  *
199d79e575SWolfgang Wegner  * You should have received a copy of the GNU General Public License
209d79e575SWolfgang Wegner  * along with this program; if not, write to the Free Software
219d79e575SWolfgang Wegner  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
229d79e575SWolfgang Wegner  * MA 02111-1307 USA
239d79e575SWolfgang Wegner  */
249d79e575SWolfgang Wegner 
259d79e575SWolfgang Wegner /*
269d79e575SWolfgang Wegner  * configuration for ASTRO "Urmel" board.
279d79e575SWolfgang Wegner  * Originating from Cobra5272 configuration, messed up by
289d79e575SWolfgang Wegner  * Wolfgang Wegner <w.wegner@astro-kom.de>
299d79e575SWolfgang Wegner  * Please do not bother the original author with bug reports
309d79e575SWolfgang Wegner  * concerning this file.
319d79e575SWolfgang Wegner  */
329d79e575SWolfgang Wegner 
339d79e575SWolfgang Wegner #ifndef _CONFIG_ASTRO_MCF5373L_H
349d79e575SWolfgang Wegner #define _CONFIG_ASTRO_MCF5373L_H
359d79e575SWolfgang Wegner 
369d79e575SWolfgang Wegner /*
379d79e575SWolfgang Wegner  * set the card type to actually compile for; either of
389d79e575SWolfgang Wegner  * the possibilities listed below has to be used!
399d79e575SWolfgang Wegner  */
409d79e575SWolfgang Wegner #define CONFIG_ASTRO_V532	1
419d79e575SWolfgang Wegner 
429d79e575SWolfgang Wegner #if CONFIG_ASTRO_V532
439d79e575SWolfgang Wegner #define ASTRO_ID	0xF8
449d79e575SWolfgang Wegner #elif CONFIG_ASTRO_V512
459d79e575SWolfgang Wegner #define ASTRO_ID	0xFA
469d79e575SWolfgang Wegner #elif CONFIG_ASTRO_TWIN7S2
479d79e575SWolfgang Wegner #define ASTRO_ID	0xF9
489d79e575SWolfgang Wegner #elif CONFIG_ASTRO_V912
499d79e575SWolfgang Wegner #define ASTRO_ID	0xFC
509d79e575SWolfgang Wegner #elif CONFIG_ASTRO_COFDMDUOS2
519d79e575SWolfgang Wegner #define ASTRO_ID	0xFB
529d79e575SWolfgang Wegner #else
539d79e575SWolfgang Wegner #error No card type defined!
549d79e575SWolfgang Wegner #endif
559d79e575SWolfgang Wegner 
569d79e575SWolfgang Wegner /*
579d79e575SWolfgang Wegner  * Define processor
589d79e575SWolfgang Wegner  * possible values for Urmel board: only Coldfire M5373 processor supported
599d79e575SWolfgang Wegner  * (please do not change)
609d79e575SWolfgang Wegner  */
619d79e575SWolfgang Wegner 
629d79e575SWolfgang Wegner /* it seems not clear yet which processor defines we should use */
639d79e575SWolfgang Wegner #define CONFIG_MCF537x			/* define processor family */
649d79e575SWolfgang Wegner #define CONFIG_MCF532x			/* define processor family */
659d79e575SWolfgang Wegner #define CONFIG_M5373			/* define processor type */
669d79e575SWolfgang Wegner #define CONFIG_ASTRO5373L		/* define board type */
679d79e575SWolfgang Wegner 
689d79e575SWolfgang Wegner /* Command line configuration */
699d79e575SWolfgang Wegner #include <config_cmd_default.h>
709d79e575SWolfgang Wegner 
719d79e575SWolfgang Wegner /*
729d79e575SWolfgang Wegner  * CONFIG_MK_RAM defines if u-boot is loaded via BDM (or started from
739d79e575SWolfgang Wegner  * a different bootloader that has already performed RAM setup) or
749d79e575SWolfgang Wegner  * started directly from flash, which is the regular case for production
759d79e575SWolfgang Wegner  * boards.
769d79e575SWolfgang Wegner  */
779d79e575SWolfgang Wegner #ifdef CONFIG_MK_RAM
789d79e575SWolfgang Wegner #define CONFIG_MONITOR_IS_IN_RAM
799d79e575SWolfgang Wegner #define CONFIG_TEXT_BASE		0x40020000
809d79e575SWolfgang Wegner #define ENABLE_JFFS	0
819d79e575SWolfgang Wegner #else
829d79e575SWolfgang Wegner #define CONFIG_TEXT_BASE		0x00000000
839d79e575SWolfgang Wegner #define ENABLE_JFFS	1
849d79e575SWolfgang Wegner #endif
859d79e575SWolfgang Wegner 
869d79e575SWolfgang Wegner /* Define which commmands should be available at u-boot command prompt */
879d79e575SWolfgang Wegner 
889d79e575SWolfgang Wegner #define CONFIG_CMD_CACHE
899d79e575SWolfgang Wegner #define CONFIG_CMD_DATE
909d79e575SWolfgang Wegner #define CONFIG_CMD_ELF
919d79e575SWolfgang Wegner #define CONFIG_CMD_FLASH
929d79e575SWolfgang Wegner #define CONFIG_CMD_I2C
939d79e575SWolfgang Wegner #define CONFIG_CMD_MEMORY
949d79e575SWolfgang Wegner #define CONFIG_CMD_MISC
959d79e575SWolfgang Wegner #define CONFIG_CMD_XIMG
969d79e575SWolfgang Wegner #undef CONFIG_CMD_NET
979d79e575SWolfgang Wegner #undef CONFIG_CMD_NFS
989d79e575SWolfgang Wegner #if ENABLE_JFFS
999d79e575SWolfgang Wegner #define CONFIG_CMD_JFFS2
1009d79e575SWolfgang Wegner #endif
1019d79e575SWolfgang Wegner #define CONFIG_CMD_REGINFO
1029d79e575SWolfgang Wegner #define CONFIG_CMD_LOADS
1039d79e575SWolfgang Wegner #define CONFIG_CMD_LOADB
1049d79e575SWolfgang Wegner #define CONFIG_CMD_FPGA
1059d79e575SWolfgang Wegner #define CONFIG_CMDLINE_EDITING
1069d79e575SWolfgang Wegner 
1079d79e575SWolfgang Wegner #define CONFIG_SYS_HUSH_PARSER
1089d79e575SWolfgang Wegner #define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
1099d79e575SWolfgang Wegner 
1109d79e575SWolfgang Wegner #define CONFIG_MCFRTC
1119d79e575SWolfgang Wegner #undef RTC_DEBUG
1129d79e575SWolfgang Wegner 
1139d79e575SWolfgang Wegner /* Timer */
1149d79e575SWolfgang Wegner #define CONFIG_MCFTMR
1159d79e575SWolfgang Wegner #undef CONFIG_MCFPIT
1169d79e575SWolfgang Wegner 
1179d79e575SWolfgang Wegner /* I2C */
1189d79e575SWolfgang Wegner #define CONFIG_FSL_I2C
1199d79e575SWolfgang Wegner #define CONFIG_HARD_I2C			/* I2C with hw support */
1209d79e575SWolfgang Wegner #undef CONFIG_SOFT_I2C			/* I2C bit-banged */
1219d79e575SWolfgang Wegner #define CONFIG_SYS_I2C_SPEED		80000
1229d79e575SWolfgang Wegner #define CONFIG_SYS_I2C_SLAVE		0x7F
1239d79e575SWolfgang Wegner #define CONFIG_SYS_I2C_OFFSET		0x58000
1249d79e575SWolfgang Wegner #define CONFIG_SYS_IMMR			CONFIG_SYS_MBAR
1259d79e575SWolfgang Wegner 
1269d79e575SWolfgang Wegner /*
1279d79e575SWolfgang Wegner  * Defines processor clock - important for correct timings concerning serial
1289d79e575SWolfgang Wegner  * interface etc.
1299d79e575SWolfgang Wegner  * CONFIG_SYS_HZ gives unit: 1000 -> 1 Hz ^= 1000 ms
1309d79e575SWolfgang Wegner  */
1319d79e575SWolfgang Wegner 
1329d79e575SWolfgang Wegner #define CONFIG_SYS_HZ			1000
1339d79e575SWolfgang Wegner #define CONFIG_SYS_CLK			80000000
1349d79e575SWolfgang Wegner #define CONFIG_SYS_CPU_CLK		(CONFIG_SYS_CLK * 3)
1359d79e575SWolfgang Wegner #define CONFIG_SYS_SDRAM_SIZE		32		/* SDRAM size in MB */
1369d79e575SWolfgang Wegner 
1379d79e575SWolfgang Wegner #define CONFIG_SYS_CORE_SRAM_SIZE	0x8000
1389d79e575SWolfgang Wegner #define CONFIG_SYS_CORE_SRAM		0x80000000
1399d79e575SWolfgang Wegner 
1409d79e575SWolfgang Wegner #define CONFIG_SYS_UNIFY_CACHE
1419d79e575SWolfgang Wegner 
1429d79e575SWolfgang Wegner /*
1439d79e575SWolfgang Wegner  * Define baudrate for UART1 (console output, tftp, ...)
1449d79e575SWolfgang Wegner  * default value of CONFIG_BAUDRATE for Sentec board: 19200 baud
1459d79e575SWolfgang Wegner  * CONFIG_SYS_BAUDRATE_TABLE defines values that can be selected
1469d79e575SWolfgang Wegner  * in u-boot command interface
1479d79e575SWolfgang Wegner  */
1489d79e575SWolfgang Wegner 
1499d79e575SWolfgang Wegner #define CONFIG_BAUDRATE		115200
1509d79e575SWolfgang Wegner #define CONFIG_SYS_BAUDRATE_TABLE { 9600 , 19200 , 38400 , 57600, 115200 }
1519d79e575SWolfgang Wegner 
1529d79e575SWolfgang Wegner #define CONFIG_MCFUART
1539d79e575SWolfgang Wegner #define CONFIG_SYS_UART_PORT		(2)
1549d79e575SWolfgang Wegner #define CONFIG_SYS_UART2_ALT3_GPIO
1559d79e575SWolfgang Wegner 
1569d79e575SWolfgang Wegner /*
1579d79e575SWolfgang Wegner  * Watchdog configuration; Watchdog is disabled for running from RAM
1589d79e575SWolfgang Wegner  * and set to highest possible value else. Beware there is no check
1599d79e575SWolfgang Wegner  * in the watchdog code to validate the timeout value set here!
1609d79e575SWolfgang Wegner  */
1619d79e575SWolfgang Wegner 
1629d79e575SWolfgang Wegner #ifndef CONFIG_MONITOR_IS_IN_RAM
1639d79e575SWolfgang Wegner #define CONFIG_WATCHDOG
1649d79e575SWolfgang Wegner #define CONFIG_WATCHDOG_TIMEOUT 3355	/* timeout in milliseconds */
1659d79e575SWolfgang Wegner #endif
1669d79e575SWolfgang Wegner 
1679d79e575SWolfgang Wegner /*
1689d79e575SWolfgang Wegner  * Configuration for environment
1699d79e575SWolfgang Wegner  * Environment is located in the last sector of the flash
1709d79e575SWolfgang Wegner  */
1719d79e575SWolfgang Wegner 
1729d79e575SWolfgang Wegner #ifndef CONFIG_MONITOR_IS_IN_RAM
1739d79e575SWolfgang Wegner #define CONFIG_ENV_OFFSET		0x1FF8000
1749d79e575SWolfgang Wegner #define CONFIG_ENV_SECT_SIZE		0x8000
1759d79e575SWolfgang Wegner #define CONFIG_ENV_IS_IN_FLASH		1
1769d79e575SWolfgang Wegner #else
1779d79e575SWolfgang Wegner /*
1789d79e575SWolfgang Wegner  * environment in RAM - This is used to use a single PC-based application
1799d79e575SWolfgang Wegner  * to load an image, load U-Boot, load an environment and then start U-Boot
1809d79e575SWolfgang Wegner  * to execute the commands from the environment. Feedback is done via setting
1819d79e575SWolfgang Wegner  * and reading memory locations.
1829d79e575SWolfgang Wegner  */
1839d79e575SWolfgang Wegner #define CONFIG_ENV_ADDR		0x40060000
1849d79e575SWolfgang Wegner #define CONFIG_ENV_SECT_SIZE	0x8000
1859d79e575SWolfgang Wegner #define CONFIG_ENV_IS_IN_FLASH	1
1869d79e575SWolfgang Wegner #endif
1879d79e575SWolfgang Wegner 
1889d79e575SWolfgang Wegner /* here we put our FPGA configuration... */
1899d79e575SWolfgang Wegner #define CONFIG_MISC_INIT_R	1
1909d79e575SWolfgang Wegner 
1919d79e575SWolfgang Wegner /* Define user parameters that have to be customized most likely */
1929d79e575SWolfgang Wegner 
1939d79e575SWolfgang Wegner /* AUTOBOOT settings - booting images automatically by u-boot after power on */
1949d79e575SWolfgang Wegner 
1959d79e575SWolfgang Wegner /*
1969d79e575SWolfgang Wegner  * used for autoboot, delay in seconds u-boot will wait before starting
1979d79e575SWolfgang Wegner  * defined (auto-)boot command, setting to -1 disables delay, setting to
1989d79e575SWolfgang Wegner  * 0 will too prevent access to u-boot command interface: u-boot then has
1999d79e575SWolfgang Wegner  * to be reflashed
2009d79e575SWolfgang Wegner  * beware - watchdog is not serviced during autoboot delay time!
2019d79e575SWolfgang Wegner  */
2029d79e575SWolfgang Wegner #ifdef CONFIG_MONITOR_IS_IN_RAM
2039d79e575SWolfgang Wegner #define CONFIG_BOOTDELAY	1
2049d79e575SWolfgang Wegner #else
2059d79e575SWolfgang Wegner #define CONFIG_BOOTDELAY	1
2069d79e575SWolfgang Wegner #endif
2079d79e575SWolfgang Wegner 
2089d79e575SWolfgang Wegner /*
2099d79e575SWolfgang Wegner  * The following settings will be contained in the environment block ; if you
2109d79e575SWolfgang Wegner  * want to use a neutral environment all those settings can be manually set in
2119d79e575SWolfgang Wegner  * u-boot: 'set' command
2129d79e575SWolfgang Wegner  */
2139d79e575SWolfgang Wegner 
2149d79e575SWolfgang Wegner #define _QUOTEME(x)	#x
2159d79e575SWolfgang Wegner #define QUOTEME(x)	_QUOTEME(x)
2169d79e575SWolfgang Wegner 
2179d79e575SWolfgang Wegner #define CONFIG_EXTRA_ENV_SETTINGS			\
2189d79e575SWolfgang Wegner 	"loaderversion=11\0"				\
2199d79e575SWolfgang Wegner 	"card_id="QUOTEME(ASTRO_ID)"\0"			\
2209d79e575SWolfgang Wegner 	"alterafile=0\0"				\
2219d79e575SWolfgang Wegner 	"xilinxfile=0\0"				\
2229d79e575SWolfgang Wegner 	"xilinxload=imxtract 0x540000 $xilinxfile 0x41000000&&"\
2239d79e575SWolfgang Wegner 		"fpga load 0 0x41000000 $filesize\0" \
2249d79e575SWolfgang Wegner 	"alteraload=imxtract 0x6c0000 $alterafile 0x41000000&&"\
2259d79e575SWolfgang Wegner 		"fpga load 1 0x41000000 $filesize\0" \
2269d79e575SWolfgang Wegner 	"env_default=1\0"				\
2279d79e575SWolfgang Wegner 	"env_check=if test $env_default -eq 1;"\
2289d79e575SWolfgang Wegner 		" then setenv env_default 0;saveenv;fi\0"
2299d79e575SWolfgang Wegner 
2309d79e575SWolfgang Wegner /*
2319d79e575SWolfgang Wegner  * "update" is a non-standard command that has to be supplied
2329d79e575SWolfgang Wegner  * by external update.c; This is not included in mainline because
2339d79e575SWolfgang Wegner  * it needs non-blocking CFI routines.
2349d79e575SWolfgang Wegner  */
2359d79e575SWolfgang Wegner #ifdef CONFIG_MONITOR_IS_IN_RAM
2369d79e575SWolfgang Wegner #define CONFIG_BOOTCOMMAND	""	/* no autoboot in this case */
2379d79e575SWolfgang Wegner #else
2389d79e575SWolfgang Wegner #if CONFIG_ASTRO_V532
2399d79e575SWolfgang Wegner #define CONFIG_BOOTCOMMAND	"protect off 0x80000 0x1ffffff;run env_check;"\
2409d79e575SWolfgang Wegner 				"run xilinxload&&run alteraload&&bootm 0x80000;"\
2419d79e575SWolfgang Wegner 				"update;reset"
2429d79e575SWolfgang Wegner #else
2439d79e575SWolfgang Wegner #define CONFIG_BOOTCOMMAND	"protect off 0x80000 0x1ffffff;run env_check;"\
2449d79e575SWolfgang Wegner 				"run xilinxload&&bootm 0x80000;update;reset"
2459d79e575SWolfgang Wegner #endif
2469d79e575SWolfgang Wegner #endif
2479d79e575SWolfgang Wegner 
2489d79e575SWolfgang Wegner /* default bootargs that are considered during boot */
2499d79e575SWolfgang Wegner #define CONFIG_BOOTARGS		" console=ttyS2,115200 rootfstype=romfs"\
2509d79e575SWolfgang Wegner 				" loaderversion=$loaderversion"
2519d79e575SWolfgang Wegner 
2529d79e575SWolfgang Wegner #define CONFIG_SYS_PROMPT	"URMEL > "
2539d79e575SWolfgang Wegner 
2549d79e575SWolfgang Wegner /* default RAM address for user programs */
2559d79e575SWolfgang Wegner #define CONFIG_SYS_LOAD_ADDR	0x20000
2569d79e575SWolfgang Wegner 
2579d79e575SWolfgang Wegner #define CONFIG_SYS_LONGHELP
2589d79e575SWolfgang Wegner 
2599d79e575SWolfgang Wegner #if (CONFIG_COMMANDS & CONFIG_CMD_KGDB)
2609d79e575SWolfgang Wegner #define CONFIG_SYS_CBSIZE		1024
2619d79e575SWolfgang Wegner #else
2629d79e575SWolfgang Wegner #define CONFIG_SYS_CBSIZE		256
2639d79e575SWolfgang Wegner #endif
2649d79e575SWolfgang Wegner #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
2659d79e575SWolfgang Wegner #define CONFIG_SYS_MAXARGS		16
2669d79e575SWolfgang Wegner #define CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE
2679d79e575SWolfgang Wegner 
2689d79e575SWolfgang Wegner #define CONFIG_FPGA_COUNT	1
2699d79e575SWolfgang Wegner #define CONFIG_FPGA
2709d79e575SWolfgang Wegner #define	CONFIG_FPGA_XILINX
2719d79e575SWolfgang Wegner #define	CONFIG_FPGA_SPARTAN3
2729d79e575SWolfgang Wegner #define CONFIG_FPGA_ALTERA
2739d79e575SWolfgang Wegner #define CONFIG_FPGA_CYCLON2
2749d79e575SWolfgang Wegner #define CONFIG_SYS_FPGA_PROG_FEEDBACK
2759d79e575SWolfgang Wegner #define CONFIG_SYS_FPGA_WAIT		1000
2769d79e575SWolfgang Wegner 
2779d79e575SWolfgang Wegner /* End of user parameters to be customized */
2789d79e575SWolfgang Wegner 
2799d79e575SWolfgang Wegner /* Defines memory range for test */
2809d79e575SWolfgang Wegner 
2819d79e575SWolfgang Wegner #define CONFIG_SYS_MEMTEST_START	0x40020000
2829d79e575SWolfgang Wegner #define CONFIG_SYS_MEMTEST_END		0x41ffffff
2839d79e575SWolfgang Wegner 
2849d79e575SWolfgang Wegner /*
2859d79e575SWolfgang Wegner  * Low Level Configuration Settings
2869d79e575SWolfgang Wegner  * (address mappings, register initial values, etc.)
2879d79e575SWolfgang Wegner  * You should know what you are doing if you make changes here.
2889d79e575SWolfgang Wegner  */
2899d79e575SWolfgang Wegner 
2909d79e575SWolfgang Wegner /* Base register address */
2919d79e575SWolfgang Wegner 
2929d79e575SWolfgang Wegner #define CONFIG_SYS_MBAR		0xFC000000	/* Register Base Addrs */
2939d79e575SWolfgang Wegner 
2949d79e575SWolfgang Wegner /* System Conf. Reg. & System Protection Reg. */
2959d79e575SWolfgang Wegner 
2969d79e575SWolfgang Wegner #define CONFIG_SYS_SCR		0x0003;
2979d79e575SWolfgang Wegner #define CONFIG_SYS_SPR		0xffff;
2989d79e575SWolfgang Wegner 
2999d79e575SWolfgang Wegner /*
3009d79e575SWolfgang Wegner  * Definitions for initial stack pointer and data area (in internal SRAM)
3019d79e575SWolfgang Wegner  */
3029d79e575SWolfgang Wegner #define CONFIG_SYS_INIT_RAM_ADDR	0x80000000
3039d79e575SWolfgang Wegner #define CONFIG_SYS_INIT_RAM_END		0x8000
3049d79e575SWolfgang Wegner #define CONFIG_SYS_INIT_RAM_CTRL	0x221
3059d79e575SWolfgang Wegner #define CONFIG_SYS_GBL_DATA_SIZE	128
3069d79e575SWolfgang Wegner #define CONFIG_SYS_GBL_DATA_OFFSET	(CONFIG_SYS_INIT_RAM_END - \
3079d79e575SWolfgang Wegner 					 CONFIG_SYS_GBL_DATA_SIZE)
3089d79e575SWolfgang Wegner #define CONFIG_SYS_INIT_SP_OFFSET	CONFIG_SYS_GBL_DATA_OFFSET
3099d79e575SWolfgang Wegner 
3109d79e575SWolfgang Wegner /*
3119d79e575SWolfgang Wegner  * Start addresses for the final memory configuration
3129d79e575SWolfgang Wegner  * (Set up by the startup code)
3139d79e575SWolfgang Wegner  * for MCF5373, the allowable range is 0x40000000 to 0x7FF00000
3149d79e575SWolfgang Wegner  */
3159d79e575SWolfgang Wegner #define CONFIG_SYS_SDRAM_BASE		0x40000000
3169d79e575SWolfgang Wegner 
3179d79e575SWolfgang Wegner /*
3189d79e575SWolfgang Wegner  * Chipselect bank definitions
3199d79e575SWolfgang Wegner  *
3209d79e575SWolfgang Wegner  * CS0 - Flash 32MB (first 16MB)
3219d79e575SWolfgang Wegner  * CS1 - Flash 32MB (second half)
3229d79e575SWolfgang Wegner  * CS2 - FPGA
3239d79e575SWolfgang Wegner  * CS3 - FPGA
3249d79e575SWolfgang Wegner  * CS4 - unused
3259d79e575SWolfgang Wegner  * CS5 - unused
3269d79e575SWolfgang Wegner  */
3279d79e575SWolfgang Wegner #define CONFIG_SYS_CS0_BASE		0
3289d79e575SWolfgang Wegner #define CONFIG_SYS_CS0_MASK		0x00ff0001
3299d79e575SWolfgang Wegner #define CONFIG_SYS_CS0_CTRL		0x00001fc0
3309d79e575SWolfgang Wegner 
3319d79e575SWolfgang Wegner #define CONFIG_SYS_CS1_BASE		0x01000000
3329d79e575SWolfgang Wegner #define CONFIG_SYS_CS1_MASK		0x00ff0001
3339d79e575SWolfgang Wegner #define CONFIG_SYS_CS1_CTRL		0x00001fc0
3349d79e575SWolfgang Wegner 
3359d79e575SWolfgang Wegner #define CONFIG_SYS_CS2_BASE		0x20000000
3369d79e575SWolfgang Wegner #define CONFIG_SYS_CS2_MASK		0x00ff0001
3379d79e575SWolfgang Wegner #define CONFIG_SYS_CS2_CTRL		0x0000fec0
3389d79e575SWolfgang Wegner 
3399d79e575SWolfgang Wegner #define CONFIG_SYS_CS3_BASE		0x21000000
3409d79e575SWolfgang Wegner #define CONFIG_SYS_CS3_MASK		0x00ff0001
3419d79e575SWolfgang Wegner #define CONFIG_SYS_CS3_CTRL		0x0000fec0
3429d79e575SWolfgang Wegner 
3439d79e575SWolfgang Wegner #define CONFIG_SYS_FLASH_BASE		0x00000000
3449d79e575SWolfgang Wegner 
3459d79e575SWolfgang Wegner #ifdef	CONFIG_MONITOR_IS_IN_RAM
3469d79e575SWolfgang Wegner #define CONFIG_SYS_MONITOR_BASE		CONFIG_TEXT_BASE
3479d79e575SWolfgang Wegner #else
3489d79e575SWolfgang Wegner /* This is mainly used during relocation in start.S */
3499d79e575SWolfgang Wegner #define CONFIG_SYS_MONITOR_BASE		(CONFIG_SYS_FLASH_BASE + 0x400)
3509d79e575SWolfgang Wegner #endif
3519d79e575SWolfgang Wegner /* Reserve 256 kB for Monitor */
3529d79e575SWolfgang Wegner #define CONFIG_SYS_MONITOR_LEN		(256 << 10)
3539d79e575SWolfgang Wegner 
3549d79e575SWolfgang Wegner #define CONFIG_SYS_BOOTPARAMS_LEN	(64 * 1024)
3559d79e575SWolfgang Wegner /* Reserve 128 kB for malloc() */
3569d79e575SWolfgang Wegner #define CONFIG_SYS_MALLOC_LEN		(128 << 10)
3579d79e575SWolfgang Wegner 
3589d79e575SWolfgang Wegner /*
3599d79e575SWolfgang Wegner  * For booting Linux, the board info and command line data
3609d79e575SWolfgang Wegner  * have to be in the first 8 MB of memory, since this is
3619d79e575SWolfgang Wegner  * the maximum mapped by the Linux kernel during initialization ??
3629d79e575SWolfgang Wegner  */
3639d79e575SWolfgang Wegner #define CONFIG_SYS_BOOTMAPSZ		(CONFIG_SYS_SDRAM_BASE + \
3649d79e575SWolfgang Wegner 						(CONFIG_SYS_SDRAM_SIZE << 20))
3659d79e575SWolfgang Wegner 
3669d79e575SWolfgang Wegner /* FLASH organization */
3679d79e575SWolfgang Wegner #define CONFIG_SYS_MAX_FLASH_BANKS	1
3689d79e575SWolfgang Wegner #define CONFIG_SYS_MAX_FLASH_SECT	259
3699d79e575SWolfgang Wegner #define CONFIG_SYS_FLASH_ERASE_TOUT	1000
3709d79e575SWolfgang Wegner 
3719d79e575SWolfgang Wegner #define CONFIG_SYS_FLASH_CFI		1
3729d79e575SWolfgang Wegner #define CONFIG_FLASH_CFI_DRIVER		1
3739d79e575SWolfgang Wegner #define CONFIG_SYS_FLASH_SIZE		0x2000000
3749d79e575SWolfgang Wegner #define CONFIG_SYS_FLASH_PROTECTION	1
3759d79e575SWolfgang Wegner #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE	1
3769d79e575SWolfgang Wegner #define CONFIG_SYS_FLASH_CFI_NONBLOCK	1
3779d79e575SWolfgang Wegner 
3789d79e575SWolfgang Wegner #if ENABLE_JFFS
3799d79e575SWolfgang Wegner /* JFFS Partition offset set */
3809d79e575SWolfgang Wegner #define CONFIG_SYS_JFFS2_FIRST_BANK    0
3819d79e575SWolfgang Wegner #define CONFIG_SYS_JFFS2_NUM_BANKS     1
3829d79e575SWolfgang Wegner /* 512k reserved for u-boot */
3839d79e575SWolfgang Wegner #define CONFIG_SYS_JFFS2_FIRST_SECTOR  0x40
3849d79e575SWolfgang Wegner #endif
3859d79e575SWolfgang Wegner 
3869d79e575SWolfgang Wegner /* Cache Configuration */
3879d79e575SWolfgang Wegner #define CONFIG_SYS_CACHELINE_SIZE	16
3889d79e575SWolfgang Wegner 
389*dd9f054eSTsiChung Liew #define ICACHE_STATUS			(CONFIG_SYS_INIT_RAM_ADDR + \
390*dd9f054eSTsiChung Liew 					 CONFIG_SYS_INIT_RAM_END - 8)
391*dd9f054eSTsiChung Liew #define DCACHE_STATUS			(CONFIG_SYS_INIT_RAM_ADDR + \
392*dd9f054eSTsiChung Liew 					 CONFIG_SYS_INIT_RAM_END - 4)
393*dd9f054eSTsiChung Liew #define CONFIG_SYS_ICACHE_INV		(CF_CACR_CINVA)
394*dd9f054eSTsiChung Liew #define CONFIG_SYS_CACHE_ACR0		(CONFIG_SYS_SDRAM_BASE | \
395*dd9f054eSTsiChung Liew 					 CF_ADDRMASK(CONFIG_SYS_SDRAM_SIZE) | \
396*dd9f054eSTsiChung Liew 					 CF_ACR_EN | CF_ACR_SM_ALL)
397*dd9f054eSTsiChung Liew #define CONFIG_SYS_CACHE_ICACR		(CF_CACR_EC | CF_CACR_CINVA | \
398*dd9f054eSTsiChung Liew 					 CF_CACR_DCM_P)
399*dd9f054eSTsiChung Liew 
4009d79e575SWolfgang Wegner #endif	/* _CONFIG_ASTRO_MCF5373L_H */
401