18e585f02STsiChung Liew /* 28e585f02STsiChung Liew * Configuation settings for the Freescale MCF5329 FireEngine board. 38e585f02STsiChung Liew * 48e585f02STsiChung Liew * Copyright (C) 2004-2007 Freescale Semiconductor, Inc. 58e585f02STsiChung Liew * TsiChung Liew (Tsi-Chung.Liew@freescale.com) 68e585f02STsiChung Liew * 71a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 88e585f02STsiChung Liew */ 98e585f02STsiChung Liew 108e585f02STsiChung Liew /* 118e585f02STsiChung Liew * board/config.h - configuration options, board specific 128e585f02STsiChung Liew */ 138e585f02STsiChung Liew 148e585f02STsiChung Liew #ifndef _M5329EVB_H 158e585f02STsiChung Liew #define _M5329EVB_H 168e585f02STsiChung Liew 178e585f02STsiChung Liew /* 188e585f02STsiChung Liew * High Level Configuration Options 198e585f02STsiChung Liew * (easy to change) 208e585f02STsiChung Liew */ 218e585f02STsiChung Liew 229998bd37STsiChungLiew #define CONFIG_MCFUART 236d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_UART_PORT (0) 248e585f02STsiChung Liew #define CONFIG_BAUDRATE 115200 258e585f02STsiChung Liew 268e585f02STsiChung Liew #undef CONFIG_WATCHDOG 278e585f02STsiChung Liew #define CONFIG_WATCHDOG_TIMEOUT 5000 /* timeout in milliseconds, max timeout is 6.71sec */ 288e585f02STsiChung Liew 29ab77bc54STsiChungLiew /* Command line configuration */ 30ab77bc54STsiChungLiew #include <config_cmd_default.h> 31ab77bc54STsiChungLiew 32ab77bc54STsiChungLiew #define CONFIG_CMD_CACHE 33ab77bc54STsiChungLiew #define CONFIG_CMD_DATE 34ab77bc54STsiChungLiew #define CONFIG_CMD_ELF 35ab77bc54STsiChungLiew #define CONFIG_CMD_FLASH 36ab77bc54STsiChungLiew #define CONFIG_CMD_I2C 37ab77bc54STsiChungLiew #define CONFIG_CMD_MEMORY 38ab77bc54STsiChungLiew #define CONFIG_CMD_MISC 39ab77bc54STsiChungLiew #define CONFIG_CMD_MII 40ab77bc54STsiChungLiew #define CONFIG_CMD_NET 41ab77bc54STsiChungLiew #define CONFIG_CMD_PING 42ab77bc54STsiChungLiew #define CONFIG_CMD_REGINFO 430dca874dSTsiChung 4496d94385Sstany MARCEL #ifdef CONFIG_NANDFLASH_SIZE 45ab77bc54STsiChungLiew # define CONFIG_CMD_NAND 461a33ce65STsiChungLiew #endif 471a33ce65STsiChungLiew 486d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_UNIFY_CACHE 498e585f02STsiChung Liew 508e585f02STsiChung Liew #define CONFIG_MCFFEC 518e585f02STsiChung Liew #ifdef CONFIG_MCFFEC 528e585f02STsiChung Liew # define CONFIG_MII 1 530f3ba7e9STsiChung Liew # define CONFIG_MII_INIT 1 546d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_DISCOVER_PHY 556d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_RX_ETH_BUFFER 8 566d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FAULT_ECHO_LINK_DOWN 578e585f02STsiChung Liew 586d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FEC0_PINMUX 0 596d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FEC0_MIIBASE CONFIG_SYS_FEC0_IOBASE 608e585f02STsiChung Liew # define MCFFEC_TOUT_LOOP 50000 616d0f6bcfSJean-Christophe PLAGNIOL-VILLARD /* If CONFIG_SYS_DISCOVER_PHY is not defined - hardcoded */ 626d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # ifndef CONFIG_SYS_DISCOVER_PHY 638e585f02STsiChung Liew # define FECDUPLEX FULL 648e585f02STsiChung Liew # define FECSPEED _100BASET 658e585f02STsiChung Liew # else 666d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # ifndef CONFIG_SYS_FAULT_ECHO_LINK_DOWN 676d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FAULT_ECHO_LINK_DOWN 688e585f02STsiChung Liew # endif 696d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # endif /* CONFIG_SYS_DISCOVER_PHY */ 708e585f02STsiChung Liew #endif 718e585f02STsiChung Liew 728e585f02STsiChung Liew #define CONFIG_MCFRTC 738e585f02STsiChung Liew #undef RTC_DEBUG 748e585f02STsiChung Liew 758e585f02STsiChung Liew /* Timer */ 768e585f02STsiChung Liew #define CONFIG_MCFTMR 778e585f02STsiChung Liew #undef CONFIG_MCFPIT 788e585f02STsiChung Liew 79eaf9e447STsiChungLiew /* I2C */ 8000f792e0SHeiko Schocher #define CONFIG_SYS_I2C 8100f792e0SHeiko Schocher #define CONFIG_SYS_I2C_FSL 8200f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C_SPEED 80000 8300f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C_SLAVE 0x7F 8400f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C_OFFSET 0x58000 856d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_IMMR CONFIG_SYS_MBAR 86eaf9e447STsiChungLiew 878e585f02STsiChung Liew #define CONFIG_BOOTDELAY 1 /* autoboot after 5 seconds */ 88ab77bc54STsiChungLiew #define CONFIG_UDP_CHECKSUM 89ab77bc54STsiChungLiew 908e585f02STsiChung Liew #ifdef CONFIG_MCFFEC 918e585f02STsiChung Liew # define CONFIG_ETHADDR 00:e0:0c:bc:e5:60 928e585f02STsiChung Liew # define CONFIG_IPADDR 192.162.1.2 938e585f02STsiChung Liew # define CONFIG_NETMASK 255.255.255.0 948e585f02STsiChung Liew # define CONFIG_SERVERIP 192.162.1.1 958e585f02STsiChung Liew # define CONFIG_GATEWAYIP 192.162.1.1 968e585f02STsiChung Liew # define CONFIG_OVERWRITE_ETHADDR_ONCE 978e585f02STsiChung Liew #endif /* FEC_ENET */ 988e585f02STsiChung Liew 998e585f02STsiChung Liew #define CONFIG_HOSTNAME M5329EVB 1008e585f02STsiChung Liew #define CONFIG_EXTRA_ENV_SETTINGS \ 1018e585f02STsiChung Liew "netdev=eth0\0" \ 1028e585f02STsiChung Liew "loadaddr=40010000\0" \ 1038e585f02STsiChung Liew "u-boot=u-boot.bin\0" \ 1048e585f02STsiChung Liew "load=tftp ${loadaddr) ${u-boot}\0" \ 1058e585f02STsiChung Liew "upd=run load; run prog\0" \ 10609933fb0SJason Jin "prog=prot off 0 3ffff;" \ 10709933fb0SJason Jin "era 0 3ffff;" \ 1088e585f02STsiChung Liew "cp.b ${loadaddr} 0 ${filesize};" \ 1098e585f02STsiChung Liew "save\0" \ 1108e585f02STsiChung Liew "" 1118e585f02STsiChung Liew 1128e585f02STsiChung Liew #define CONFIG_PRAM 512 /* 512 KB */ 1136d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_PROMPT "-> " 1146d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LONGHELP /* undef to save memory */ 1158e585f02STsiChung Liew 116ab77bc54STsiChungLiew #ifdef CONFIG_CMD_KGDB 1176d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */ 1188e585f02STsiChung Liew #else 1196d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */ 1208e585f02STsiChung Liew #endif 1218e585f02STsiChung Liew 1226d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */ 1236d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MAXARGS 16 /* max number of command args */ 1246d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */ 1256d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LOAD_ADDR 0x40010000 1268e585f02STsiChung Liew 1276d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CLK 80000000 1286d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CPU_CLK CONFIG_SYS_CLK * 3 1298e585f02STsiChung Liew 1306d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MBAR 0xFC000000 1318e585f02STsiChung Liew 1326d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LATCH_ADDR (CONFIG_SYS_CS1_BASE + 0x80000) 1331a33ce65STsiChungLiew 1348e585f02STsiChung Liew /* 1358e585f02STsiChung Liew * Low Level Configuration Settings 1368e585f02STsiChung Liew * (address mappings, register initial values, etc.) 1378e585f02STsiChung Liew * You should know what you are doing if you make changes here. 1388e585f02STsiChung Liew */ 1398e585f02STsiChung Liew /*----------------------------------------------------------------------- 1408e585f02STsiChung Liew * Definitions for initial stack pointer and data area (in DPRAM) 1418e585f02STsiChung Liew */ 1426d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_INIT_RAM_ADDR 0x80000000 143553f0982SWolfgang Denk #define CONFIG_SYS_INIT_RAM_SIZE 0x8000 /* Size of used area in internal SRAM */ 1446d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_INIT_RAM_CTRL 0x221 14525ddd1fbSWolfgang Denk #define CONFIG_SYS_GBL_DATA_OFFSET ((CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) - 0x10) 1466d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET 1478e585f02STsiChung Liew 1488e585f02STsiChung Liew /*----------------------------------------------------------------------- 1498e585f02STsiChung Liew * Start addresses for the final memory configuration 1508e585f02STsiChung Liew * (Set up by the startup code) 1516d0f6bcfSJean-Christophe PLAGNIOL-VILLARD * Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0 1528e585f02STsiChung Liew */ 1536d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_BASE 0x40000000 1546d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_SIZE 32 /* SDRAM size in MB */ 1556d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_CFG1 0x53722730 1566d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_CFG2 0x56670000 1576d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_CTRL 0xE1092000 1586d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_EMOD 0x40010000 1596d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_MODE 0x018D0000 1608e585f02STsiChung Liew 1616d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE + 0x400 1626d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MEMTEST_END ((CONFIG_SYS_SDRAM_SIZE - 3) << 20) 1638e585f02STsiChung Liew 1646d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_FLASH_BASE + 0x400) 1656d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */ 1668e585f02STsiChung Liew 1676d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_BOOTPARAMS_LEN 64*1024 1686d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc() */ 1698e585f02STsiChung Liew 1708e585f02STsiChung Liew /* 1718e585f02STsiChung Liew * For booting Linux, the board info and command line data 1728e585f02STsiChung Liew * have to be in the first 8 MB of memory, since this is 1738e585f02STsiChung Liew * the maximum mapped by the Linux kernel during initialization ?? 1748e585f02STsiChung Liew */ 1756d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_BOOTMAPSZ (CONFIG_SYS_SDRAM_BASE + (CONFIG_SYS_SDRAM_SIZE << 20)) 176d6e4baf4STsiChung Liew #define CONFIG_SYS_BOOTM_LEN (CONFIG_SYS_SDRAM_SIZE << 20) 1778e585f02STsiChung Liew 1788e585f02STsiChung Liew /*----------------------------------------------------------------------- 1798e585f02STsiChung Liew * FLASH organization 1808e585f02STsiChung Liew */ 1816d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_FLASH_CFI 1826d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #ifdef CONFIG_SYS_FLASH_CFI 18300b1883aSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_FLASH_CFI_DRIVER 1 1846d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FLASH_SIZE 0x800000 /* Max size that the board might have */ 1856d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_16BIT 1866d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */ 1876d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_MAX_FLASH_SECT 137 /* max number of sectors on one chip */ 1886d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FLASH_PROTECTION /* "Real" (hardware) sectors protection */ 1898e585f02STsiChung Liew #endif 1908e585f02STsiChung Liew 19196d94385Sstany MARCEL #ifdef CONFIG_NANDFLASH_SIZE 1926d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_MAX_NAND_DEVICE 1 1936d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_NAND_BASE CONFIG_SYS_CS2_BASE 1946d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_NAND_SIZE 1 1956d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_NAND_BASE_LIST { CONFIG_SYS_NAND_BASE } 1961a33ce65STsiChungLiew # define NAND_ALLOW_ERASE_ALL 1 1971a33ce65STsiChungLiew # define CONFIG_JFFS2_NAND 1 1981a33ce65STsiChungLiew # define CONFIG_JFFS2_DEV "nand0" 1996d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_JFFS2_PART_SIZE (CONFIG_SYS_CS2_MASK & ~1) 2001a33ce65STsiChungLiew # define CONFIG_JFFS2_PART_OFFSET 0x00000000 2011a33ce65STsiChungLiew #endif 2021a33ce65STsiChungLiew 2036d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_FLASH_BASE CONFIG_SYS_CS0_BASE 2048e585f02STsiChung Liew 2058e585f02STsiChung Liew /* Configuration for environment 2068e585f02STsiChung Liew * Environment is embedded in u-boot in the second sector of the flash 2078e585f02STsiChung Liew */ 2080e8d1586SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_OFFSET 0x4000 2090e8d1586SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_SECT_SIZE 0x2000 2105a1aceb0SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_IS_IN_FLASH 1 2118e585f02STsiChung Liew 212*5296cb1dSangelo@sysam.it #define LDS_BOARD_TEXT \ 213*5296cb1dSangelo@sysam.it . = DEFINED(env_offset) ? env_offset : .; \ 214*5296cb1dSangelo@sysam.it common/env_embedded.o (.text*); 215*5296cb1dSangelo@sysam.it 2168e585f02STsiChung Liew /*----------------------------------------------------------------------- 2178e585f02STsiChung Liew * Cache Configuration 2188e585f02STsiChung Liew */ 2196d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CACHELINE_SIZE 16 2208e585f02STsiChung Liew 221dd9f054eSTsiChung Liew #define ICACHE_STATUS (CONFIG_SYS_INIT_RAM_ADDR + \ 222553f0982SWolfgang Denk CONFIG_SYS_INIT_RAM_SIZE - 8) 223dd9f054eSTsiChung Liew #define DCACHE_STATUS (CONFIG_SYS_INIT_RAM_ADDR + \ 224553f0982SWolfgang Denk CONFIG_SYS_INIT_RAM_SIZE - 4) 225dd9f054eSTsiChung Liew #define CONFIG_SYS_ICACHE_INV (CF_CACR_CINVA) 226dd9f054eSTsiChung Liew #define CONFIG_SYS_CACHE_ACR0 (CONFIG_SYS_SDRAM_BASE | \ 227dd9f054eSTsiChung Liew CF_ADDRMASK(CONFIG_SYS_SDRAM_SIZE) | \ 228dd9f054eSTsiChung Liew CF_ACR_EN | CF_ACR_SM_ALL) 229dd9f054eSTsiChung Liew #define CONFIG_SYS_CACHE_ICACR (CF_CACR_EC | CF_CACR_CINVA | \ 230dd9f054eSTsiChung Liew CF_CACR_DCM_P) 231dd9f054eSTsiChung Liew 2328e585f02STsiChung Liew /*----------------------------------------------------------------------- 2338e585f02STsiChung Liew * Chipselect bank definitions 2348e585f02STsiChung Liew */ 2358e585f02STsiChung Liew /* 2368e585f02STsiChung Liew * CS0 - NOR Flash 1, 2, 4, or 8MB 2378e585f02STsiChung Liew * CS1 - CompactFlash and registers 2388e585f02STsiChung Liew * CS2 - NAND Flash 16, 32, or 64MB 2398e585f02STsiChung Liew * CS3 - Available 2408e585f02STsiChung Liew * CS4 - Available 2418e585f02STsiChung Liew * CS5 - Available 2428e585f02STsiChung Liew */ 2436d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CS0_BASE 0 2446d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CS0_MASK 0x007f0001 2456d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CS0_CTRL 0x00001fa0 2468e585f02STsiChung Liew 2476d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CS1_BASE 0x10000000 2486d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CS1_MASK 0x001f0001 2496d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CS1_CTRL 0x002A3780 2508e585f02STsiChung Liew 25196d94385Sstany MARCEL #ifdef CONFIG_NANDFLASH_SIZE 2526d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CS2_BASE 0x20000000 25396d94385Sstany MARCEL #define CONFIG_SYS_CS2_MASK ((CONFIG_NANDFLASH_SIZE << 20) | 1) 2546d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CS2_CTRL 0x00001f60 2558e585f02STsiChung Liew #endif 2568e585f02STsiChung Liew 2578e585f02STsiChung Liew #endif /* _M5329EVB_H */ 258