1a605aacdSTsiChungLiew /* 2a605aacdSTsiChungLiew * Configuation settings for the esd TASREG board. 3a605aacdSTsiChungLiew * 4a605aacdSTsiChungLiew * (C) Copyright 2004 5a605aacdSTsiChungLiew * Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com 6a605aacdSTsiChungLiew * 71a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 8a605aacdSTsiChungLiew */ 9a605aacdSTsiChungLiew 10a605aacdSTsiChungLiew /* 11a605aacdSTsiChungLiew * board/config.h - configuration options, board specific 12a605aacdSTsiChungLiew */ 13a605aacdSTsiChungLiew 14a605aacdSTsiChungLiew #ifndef _M5249EVB_H 15a605aacdSTsiChungLiew #define _M5249EVB_H 16a605aacdSTsiChungLiew 17a605aacdSTsiChungLiew /* 18a605aacdSTsiChungLiew * High Level Configuration Options 19a605aacdSTsiChungLiew * (easy to change) 20a605aacdSTsiChungLiew */ 21a605aacdSTsiChungLiew #define CONFIG_MCFTMR 22a605aacdSTsiChungLiew 23a605aacdSTsiChungLiew #define CONFIG_MCFUART 246d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_UART_PORT (0) 25a605aacdSTsiChungLiew 26a605aacdSTsiChungLiew #undef CONFIG_WATCHDOG 27a605aacdSTsiChungLiew 28a605aacdSTsiChungLiew #undef CONFIG_MONITOR_IS_IN_RAM /* no pre-loader required!!! ;-) */ 29a605aacdSTsiChungLiew 30a605aacdSTsiChungLiew /* 31a605aacdSTsiChungLiew * BOOTP options 32a605aacdSTsiChungLiew */ 33a605aacdSTsiChungLiew #undef CONFIG_BOOTP_BOOTFILESIZE 34a605aacdSTsiChungLiew #undef CONFIG_BOOTP_BOOTPATH 35a605aacdSTsiChungLiew #undef CONFIG_BOOTP_GATEWAY 36a605aacdSTsiChungLiew #undef CONFIG_BOOTP_HOSTNAME 37a605aacdSTsiChungLiew 38a605aacdSTsiChungLiew /* 39a605aacdSTsiChungLiew * Command line configuration. 40a605aacdSTsiChungLiew */ 41a605aacdSTsiChungLiew 426d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LONGHELP /* undef to save memory */ 43a605aacdSTsiChungLiew 446d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DEVICE_NULLDEV 1 /* include nulldev device */ 45a605aacdSTsiChungLiew #define CONFIG_AUTO_COMPLETE 1 /* add autocompletion support */ 46a605aacdSTsiChungLiew #define CONFIG_MX_CYCLIC 1 /* enable mdc/mwc commands */ 47a605aacdSTsiChungLiew 486d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LOAD_ADDR 0x200000 /* default load address */ 49a605aacdSTsiChungLiew 506d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MEMTEST_START 0x400 516d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MEMTEST_END 0x380000 52a605aacdSTsiChungLiew 53a605aacdSTsiChungLiew /* 54a605aacdSTsiChungLiew * Clock configuration: enable only one of the following options 55a605aacdSTsiChungLiew */ 56a605aacdSTsiChungLiew 576d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #undef CONFIG_SYS_PLL_BYPASS /* bypass PLL for test purpose */ 586d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_FAST_CLK 1 /* MCF5249 can run at 140MHz */ 596d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CLK 132025600 /* MCF5249 can run at 140MHz */ 60a605aacdSTsiChungLiew 61a605aacdSTsiChungLiew /* 62a605aacdSTsiChungLiew * Low Level Configuration Settings 63a605aacdSTsiChungLiew * (address mappings, register initial values, etc.) 64a605aacdSTsiChungLiew * You should know what you are doing if you make changes here. 65a605aacdSTsiChungLiew */ 66a605aacdSTsiChungLiew 676d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MBAR 0x10000000 /* Register Base Addrs */ 686d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MBAR2 0x80000000 69a605aacdSTsiChungLiew 70a605aacdSTsiChungLiew /*----------------------------------------------------------------------- 71a605aacdSTsiChungLiew * Definitions for initial stack pointer and data area (in DPRAM) 72a605aacdSTsiChungLiew */ 736d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_INIT_RAM_ADDR 0x20000000 74553f0982SWolfgang Denk #define CONFIG_SYS_INIT_RAM_SIZE 0x1000 /* Size of used area in internal SRAM */ 7525ddd1fbSWolfgang Denk #define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 766d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET 77a605aacdSTsiChungLiew 785296cb1dSangelo@sysam.it #define LDS_BOARD_TEXT \ 795296cb1dSangelo@sysam.it . = DEFINED(env_offset) ? env_offset : .; \ 80*0649cd0dSSimon Glass env/embedded.o(.text); 815296cb1dSangelo@sysam.it 820e8d1586SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_OFFSET 0x4000 /* Address of Environment Sector*/ 830e8d1586SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_SIZE 0x2000 /* Total Size of Environment Sector */ 840e8d1586SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_SECT_SIZE 0x2000 /* see README - env sector total size */ 85a605aacdSTsiChungLiew 86a605aacdSTsiChungLiew /*----------------------------------------------------------------------- 87a605aacdSTsiChungLiew * Start addresses for the final memory configuration 88a605aacdSTsiChungLiew * (Set up by the startup code) 896d0f6bcfSJean-Christophe PLAGNIOL-VILLARD * Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0 90a605aacdSTsiChungLiew */ 916d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_BASE 0x00000000 926d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_SIZE 16 /* SDRAM size in MB */ 93012522feSTsiChung Liew #define CONFIG_SYS_FLASH_BASE (CONFIG_SYS_CS0_BASE) 94a605aacdSTsiChungLiew 95a605aacdSTsiChungLiew #if 0 /* test-only */ 96a605aacdSTsiChungLiew #define CONFIG_PRAM 512 /* test-only for SDRAM problem!!!!!!!!!!!!!!!!!!!! */ 97a605aacdSTsiChungLiew #endif 98a605aacdSTsiChungLiew 996d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_FLASH_BASE + 0x400) 100a605aacdSTsiChungLiew 1016d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MONITOR_LEN 0x20000 1026d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MALLOC_LEN (1 * 1024*1024) /* Reserve 1 MB for malloc() */ 1036d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_BOOTPARAMS_LEN 64*1024 104a605aacdSTsiChungLiew 105a605aacdSTsiChungLiew /* 106a605aacdSTsiChungLiew * For booting Linux, the board info and command line data 107a605aacdSTsiChungLiew * have to be in the first 8 MB of memory, since this is 108a605aacdSTsiChungLiew * the maximum mapped by the Linux kernel during initialization ?? 109a605aacdSTsiChungLiew */ 1106d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_BOOTMAPSZ (CONFIG_SYS_SDRAM_BASE + (CONFIG_SYS_SDRAM_SIZE << 20)) 111a605aacdSTsiChungLiew 112a605aacdSTsiChungLiew /*----------------------------------------------------------------------- 113a605aacdSTsiChungLiew * FLASH organization 114a605aacdSTsiChungLiew */ 1156d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_FLASH_CFI 1166d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #ifdef CONFIG_SYS_FLASH_CFI 117a605aacdSTsiChungLiew 11800b1883aSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_FLASH_CFI_DRIVER 1 1196d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FLASH_SIZE 0x1000000 /* Max size that the board might have */ 1206d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_16BIT 1216d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */ 1226d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_MAX_FLASH_SECT 137 /* max number of sectors on one chip */ 1236d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FLASH_PROTECTION /* "Real" (hardware) sectors protection */ 1246d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FLASH_CHECKSUM 1256d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FLASH_BANKS_LIST { CONFIG_SYS_FLASH_BASE } 126a605aacdSTsiChungLiew #endif 127a605aacdSTsiChungLiew 128a605aacdSTsiChungLiew /*----------------------------------------------------------------------- 129a605aacdSTsiChungLiew * Cache Configuration 130a605aacdSTsiChungLiew */ 1316d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CACHELINE_SIZE 16 132a605aacdSTsiChungLiew 133dd9f054eSTsiChung Liew #define ICACHE_STATUS (CONFIG_SYS_INIT_RAM_ADDR + \ 134553f0982SWolfgang Denk CONFIG_SYS_INIT_RAM_SIZE - 8) 135dd9f054eSTsiChung Liew #define DCACHE_STATUS (CONFIG_SYS_INIT_RAM_ADDR + \ 136553f0982SWolfgang Denk CONFIG_SYS_INIT_RAM_SIZE - 4) 137dd9f054eSTsiChung Liew #define CONFIG_SYS_ICACHE_INV (CF_CACR_DCM) 138dd9f054eSTsiChung Liew #define CONFIG_SYS_CACHE_ACR0 (CONFIG_SYS_FLASH_BASE | \ 139dd9f054eSTsiChung Liew CF_ADDRMASK(2) | \ 140dd9f054eSTsiChung Liew CF_ACR_EN | CF_ACR_SM_ALL) 141dd9f054eSTsiChung Liew #define CONFIG_SYS_CACHE_ACR1 (CONFIG_SYS_SDRAM_BASE | \ 142dd9f054eSTsiChung Liew CF_ADDRMASK(CONFIG_SYS_SDRAM_SIZE) | \ 143dd9f054eSTsiChung Liew CF_ACR_EN | CF_ACR_SM_ALL) 144dd9f054eSTsiChung Liew #define CONFIG_SYS_CACHE_ICACR (CF_CACR_CENB | CF_CACR_CEIB | \ 145dd9f054eSTsiChung Liew CF_CACR_DBWE) 146dd9f054eSTsiChung Liew 147a605aacdSTsiChungLiew /*----------------------------------------------------------------------- 148a605aacdSTsiChungLiew * Memory bank definitions 149a605aacdSTsiChungLiew */ 150a605aacdSTsiChungLiew 151a605aacdSTsiChungLiew /* CS0 - AMD Flash, address 0xffc00000 */ 152012522feSTsiChung Liew #define CONFIG_SYS_CS0_BASE 0xffe00000 153012522feSTsiChung Liew #define CONFIG_SYS_CS0_CTRL 0x00001980 /* WS=0110, AA=1, PS=10 */ 154a605aacdSTsiChungLiew /** Note: There is a CSMR0/DRAM vector problem, need to disable C/I ***/ 155012522feSTsiChung Liew #define CONFIG_SYS_CS0_MASK 0x003f0021 /* 4MB, AA=0, WP=0, C/I=1, V=1 */ 156a605aacdSTsiChungLiew 157a605aacdSTsiChungLiew /* CS1 - FPGA, address 0xe0000000 */ 158012522feSTsiChung Liew #define CONFIG_SYS_CS1_BASE 0xe0000000 159012522feSTsiChung Liew #define CONFIG_SYS_CS1_CTRL 0x00000d80 /* WS=0011, AA=1, PS=10 */ 160012522feSTsiChung Liew #define CONFIG_SYS_CS1_MASK 0x00010001 /* 128kB, AA=0, WP=0, C/I=0, V=1*/ 161a605aacdSTsiChungLiew 162a605aacdSTsiChungLiew /*----------------------------------------------------------------------- 163a605aacdSTsiChungLiew * Port configuration 164a605aacdSTsiChungLiew */ 1656d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_GPIO_FUNC 0x00000008 /* Set gpio pins: none */ 1666d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_GPIO1_FUNC 0x00df00f0 /* 36-39(SWITCH),48-52(FPGAs),54*/ 1676d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_GPIO_EN 0x00000008 /* Set gpio output enable */ 1686d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_GPIO1_EN 0x00c70000 /* Set gpio output enable */ 1696d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_GPIO_OUT 0x00000008 /* Set outputs to default state */ 1706d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_GPIO1_OUT 0x00c70000 /* Set outputs to default state */ 1716d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_GPIO1_LED 0x00400000 /* user led */ 172a605aacdSTsiChungLiew 173a605aacdSTsiChungLiew #endif /* M5249 */ 174