14a442d31STsiChungLiew /* 24a442d31STsiChungLiew * Configuation settings for the Freescale MCF5329 FireEngine board. 34a442d31STsiChungLiew * 44a442d31STsiChungLiew * Copyright (C) 2004-2007 Freescale Semiconductor, Inc. 54a442d31STsiChungLiew * TsiChung Liew (Tsi-Chung.Liew@freescale.com) 64a442d31STsiChungLiew * 71a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 84a442d31STsiChungLiew */ 94a442d31STsiChungLiew 104a442d31STsiChungLiew /* 114a442d31STsiChungLiew * board/config.h - configuration options, board specific 124a442d31STsiChungLiew */ 134a442d31STsiChungLiew 144a442d31STsiChungLiew #ifndef _M5235EVB_H 154a442d31STsiChungLiew #define _M5235EVB_H 164a442d31STsiChungLiew 174a442d31STsiChungLiew /* 184a442d31STsiChungLiew * High Level Configuration Options 194a442d31STsiChungLiew * (easy to change) 204a442d31STsiChungLiew */ 214a442d31STsiChungLiew 224a442d31STsiChungLiew #define CONFIG_MCFUART 236d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_UART_PORT (0) 244a442d31STsiChungLiew #define CONFIG_BAUDRATE 115200 254a442d31STsiChungLiew 264a442d31STsiChungLiew #undef CONFIG_WATCHDOG 274a442d31STsiChungLiew #define CONFIG_WATCHDOG_TIMEOUT 5000 /* timeout in milliseconds, max timeout is 6.71sec */ 284a442d31STsiChungLiew 294a442d31STsiChungLiew /* 304a442d31STsiChungLiew * BOOTP options 314a442d31STsiChungLiew */ 324a442d31STsiChungLiew #define CONFIG_BOOTP_BOOTFILESIZE 334a442d31STsiChungLiew #define CONFIG_BOOTP_BOOTPATH 344a442d31STsiChungLiew #define CONFIG_BOOTP_GATEWAY 354a442d31STsiChungLiew #define CONFIG_BOOTP_HOSTNAME 364a442d31STsiChungLiew 374a442d31STsiChungLiew /* Command line configuration */ 384a442d31STsiChungLiew #include <config_cmd_default.h> 394a442d31STsiChungLiew 404a442d31STsiChungLiew #define CONFIG_CMD_BOOTD 414a442d31STsiChungLiew #define CONFIG_CMD_CACHE 424a442d31STsiChungLiew #define CONFIG_CMD_DHCP 434a442d31STsiChungLiew #define CONFIG_CMD_ELF 444a442d31STsiChungLiew #define CONFIG_CMD_FLASH 454a442d31STsiChungLiew #define CONFIG_CMD_I2C 464a442d31STsiChungLiew #define CONFIG_CMD_MEMORY 474a442d31STsiChungLiew #define CONFIG_CMD_MISC 484a442d31STsiChungLiew #define CONFIG_CMD_MII 494a442d31STsiChungLiew #define CONFIG_CMD_NET 504a442d31STsiChungLiew #define CONFIG_CMD_PCI 514a442d31STsiChungLiew #define CONFIG_CMD_PING 524a442d31STsiChungLiew #define CONFIG_CMD_REGINFO 534a442d31STsiChungLiew 544a442d31STsiChungLiew #undef CONFIG_CMD_LOADB 554a442d31STsiChungLiew #undef CONFIG_CMD_LOADS 564a442d31STsiChungLiew 574a442d31STsiChungLiew #define CONFIG_MCFFEC 584a442d31STsiChungLiew #ifdef CONFIG_MCFFEC 594a442d31STsiChungLiew # define CONFIG_MII 1 600f3ba7e9STsiChung Liew # define CONFIG_MII_INIT 1 616d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_DISCOVER_PHY 626d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_RX_ETH_BUFFER 8 636d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FAULT_ECHO_LINK_DOWN 644a442d31STsiChungLiew 656d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FEC0_PINMUX 0 666d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FEC0_MIIBASE CONFIG_SYS_FEC0_IOBASE 674a442d31STsiChungLiew # define MCFFEC_TOUT_LOOP 50000 686d0f6bcfSJean-Christophe PLAGNIOL-VILLARD /* If CONFIG_SYS_DISCOVER_PHY is not defined - hardcoded */ 696d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # ifndef CONFIG_SYS_DISCOVER_PHY 704a442d31STsiChungLiew # define FECDUPLEX FULL 714a442d31STsiChungLiew # define FECSPEED _100BASET 724a442d31STsiChungLiew # else 736d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # ifndef CONFIG_SYS_FAULT_ECHO_LINK_DOWN 746d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FAULT_ECHO_LINK_DOWN 754a442d31STsiChungLiew # endif 766d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # endif /* CONFIG_SYS_DISCOVER_PHY */ 774a442d31STsiChungLiew #endif 784a442d31STsiChungLiew 794a442d31STsiChungLiew /* Timer */ 804a442d31STsiChungLiew #define CONFIG_MCFTMR 814a442d31STsiChungLiew #undef CONFIG_MCFPIT 824a442d31STsiChungLiew 834a442d31STsiChungLiew /* I2C */ 8400f792e0SHeiko Schocher #define CONFIG_SYS_I2C 8500f792e0SHeiko Schocher #define CONFIG_SYS_i2C_FSL 8600f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C_SPEED 80000 8700f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C_SLAVE 0x7F 8800f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C_OFFSET 0x00000300 896d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_IMMR CONFIG_SYS_MBAR 906d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_I2C_PINMUX_REG (gpio->par_qspi) 916d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_I2C_PINMUX_CLR ~(GPIO_PAR_FECI2C_SCL_MASK | GPIO_PAR_FECI2C_SDA_MASK) 926d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_I2C_PINMUX_SET (GPIO_PAR_FECI2C_SCL_I2CSCL | GPIO_PAR_FECI2C_SDA_I2CSDA) 934a442d31STsiChungLiew 944a442d31STsiChungLiew /* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */ 954a442d31STsiChungLiew #define CONFIG_BOOTDELAY 1 /* autoboot after 5 seconds */ 964a442d31STsiChungLiew #define CONFIG_BOOTFILE "u-boot.bin" 974a442d31STsiChungLiew #ifdef CONFIG_MCFFEC 984a442d31STsiChungLiew # define CONFIG_ETHADDR 00:e0:0c:bc:e5:60 994a442d31STsiChungLiew # define CONFIG_IPADDR 192.162.1.2 1004a442d31STsiChungLiew # define CONFIG_NETMASK 255.255.255.0 1014a442d31STsiChungLiew # define CONFIG_SERVERIP 192.162.1.1 1024a442d31STsiChungLiew # define CONFIG_GATEWAYIP 192.162.1.1 1034a442d31STsiChungLiew # define CONFIG_OVERWRITE_ETHADDR_ONCE 1044a442d31STsiChungLiew #endif /* FEC_ENET */ 1054a442d31STsiChungLiew 1064a442d31STsiChungLiew #define CONFIG_HOSTNAME M5235EVB 1074a442d31STsiChungLiew #define CONFIG_EXTRA_ENV_SETTINGS \ 1084a442d31STsiChungLiew "netdev=eth0\0" \ 1094a442d31STsiChungLiew "loadaddr=10000\0" \ 1104a442d31STsiChungLiew "u-boot=u-boot.bin\0" \ 1114a442d31STsiChungLiew "load=tftp ${loadaddr) ${u-boot}\0" \ 1124a442d31STsiChungLiew "upd=run load; run prog\0" \ 1134a442d31STsiChungLiew "prog=prot off ffe00000 ffe3ffff;" \ 1144a442d31STsiChungLiew "era ffe00000 ffe3ffff;" \ 1154a442d31STsiChungLiew "cp.b ${loadaddr} ffe00000 ${filesize};"\ 1164a442d31STsiChungLiew "save\0" \ 1174a442d31STsiChungLiew "" 1184a442d31STsiChungLiew 1194a442d31STsiChungLiew #define CONFIG_PRAM 512 /* 512 KB */ 1206d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_PROMPT "-> " 1216d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LONGHELP /* undef to save memory */ 1224a442d31STsiChungLiew 1234a442d31STsiChungLiew #if defined(CONFIG_KGDB) 1246d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */ 1254a442d31STsiChungLiew #else 1266d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */ 1274a442d31STsiChungLiew #endif 1284a442d31STsiChungLiew 1296d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */ 1306d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MAXARGS 16 /* max number of command args */ 1316d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */ 1326d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_SDRAM_BASE+0x20000) 1334a442d31STsiChungLiew 1346d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CLK 75000000 1356d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CPU_CLK CONFIG_SYS_CLK * 2 1364a442d31STsiChungLiew 1376d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MBAR 0x40000000 1384a442d31STsiChungLiew 1394a442d31STsiChungLiew /* 1404a442d31STsiChungLiew * Low Level Configuration Settings 1414a442d31STsiChungLiew * (address mappings, register initial values, etc.) 1424a442d31STsiChungLiew * You should know what you are doing if you make changes here. 1434a442d31STsiChungLiew */ 1444a442d31STsiChungLiew /*----------------------------------------------------------------------- 1454a442d31STsiChungLiew * Definitions for initial stack pointer and data area (in DPRAM) 1464a442d31STsiChungLiew */ 1476d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_INIT_RAM_ADDR 0x20000000 148553f0982SWolfgang Denk #define CONFIG_SYS_INIT_RAM_SIZE 0x10000 /* Size of used area in internal SRAM */ 1496d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_INIT_RAM_CTRL 0x21 15025ddd1fbSWolfgang Denk #define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE - 0x10) 1516d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET 1524a442d31STsiChungLiew 1534a442d31STsiChungLiew /*----------------------------------------------------------------------- 1544a442d31STsiChungLiew * Start addresses for the final memory configuration 1554a442d31STsiChungLiew * (Set up by the startup code) 1566d0f6bcfSJean-Christophe PLAGNIOL-VILLARD * Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0 1574a442d31STsiChungLiew */ 1586d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_BASE 0x00000000 1596d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_SIZE 16 /* SDRAM size in MB */ 1604a442d31STsiChungLiew 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) 1634a442d31STsiChungLiew 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 */ 1664a442d31STsiChungLiew 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() */ 1694a442d31STsiChungLiew 1704a442d31STsiChungLiew /* 1714a442d31STsiChungLiew * For booting Linux, the board info and command line data 1724a442d31STsiChungLiew * have to be in the first 8 MB of memory, since this is 1734a442d31STsiChungLiew * the maximum mapped by the Linux kernel during initialization ?? 1744a442d31STsiChungLiew */ 1754a442d31STsiChungLiew /* Initial Memory map for Linux */ 1766d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_BOOTMAPSZ (CONFIG_SYS_SDRAM_BASE + (CONFIG_SYS_SDRAM_SIZE << 20)) 177d6e4baf4STsiChung Liew #define CONFIG_SYS_BOOTM_LEN (CONFIG_SYS_SDRAM_SIZE << 20) 1784a442d31STsiChungLiew 1794a442d31STsiChungLiew /*----------------------------------------------------------------------- 1804a442d31STsiChungLiew * FLASH organization 1814a442d31STsiChungLiew */ 1826d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_FLASH_CFI 1836d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #ifdef CONFIG_SYS_FLASH_CFI 18400b1883aSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_FLASH_CFI_DRIVER 1 1856d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FLASH_SIZE 0x800000 /* Max size that the board might have */ 1864a442d31STsiChungLiew #ifdef NORFLASH_PS32BIT 1876d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_32BIT 1884a442d31STsiChungLiew #else 1896d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_16BIT 1904a442d31STsiChungLiew #endif 1916d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */ 1926d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_MAX_FLASH_SECT 137 /* max number of sectors on one chip */ 1936d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FLASH_PROTECTION /* "Real" (hardware) sectors protection */ 1944a442d31STsiChungLiew #endif 1954a442d31STsiChungLiew 196012522feSTsiChung Liew #define CONFIG_SYS_FLASH_BASE (CONFIG_SYS_CS0_BASE) 1974a442d31STsiChungLiew 1984a442d31STsiChungLiew /* Configuration for environment 1994a442d31STsiChungLiew * Environment is embedded in u-boot in the second sector of the flash 2004a442d31STsiChungLiew */ 2015a1aceb0SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_IS_IN_FLASH 1 202*5296cb1dSangelo@sysam.it 203*5296cb1dSangelo@sysam.it #define LDS_BOARD_TEXT \ 204*5296cb1dSangelo@sysam.it . = DEFINED(env_offset) ? env_offset : .; \ 205*5296cb1dSangelo@sysam.it common/env_embedded.o (.text); 206*5296cb1dSangelo@sysam.it 2074a442d31STsiChungLiew #ifdef NORFLASH_PS32BIT 2080e8d1586SJean-Christophe PLAGNIOL-VILLARD # define CONFIG_ENV_OFFSET (0x8000) 2090e8d1586SJean-Christophe PLAGNIOL-VILLARD # define CONFIG_ENV_SIZE 0x4000 2100e8d1586SJean-Christophe PLAGNIOL-VILLARD # define CONFIG_ENV_SECT_SIZE 0x4000 2114a442d31STsiChungLiew #else 2120e8d1586SJean-Christophe PLAGNIOL-VILLARD # define CONFIG_ENV_OFFSET (0x4000) 2130e8d1586SJean-Christophe PLAGNIOL-VILLARD # define CONFIG_ENV_SIZE 0x2000 2140e8d1586SJean-Christophe PLAGNIOL-VILLARD # define CONFIG_ENV_SECT_SIZE 0x2000 2154a442d31STsiChungLiew #endif 2164a442d31STsiChungLiew 2174a442d31STsiChungLiew /*----------------------------------------------------------------------- 2184a442d31STsiChungLiew * Cache Configuration 2194a442d31STsiChungLiew */ 2206d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CACHELINE_SIZE 16 2214a442d31STsiChungLiew 222dd9f054eSTsiChung Liew #define ICACHE_STATUS (CONFIG_SYS_INIT_RAM_ADDR + \ 223553f0982SWolfgang Denk CONFIG_SYS_INIT_RAM_SIZE - 8) 224dd9f054eSTsiChung Liew #define DCACHE_STATUS (CONFIG_SYS_INIT_RAM_ADDR + \ 225553f0982SWolfgang Denk CONFIG_SYS_INIT_RAM_SIZE - 4) 226dd9f054eSTsiChung Liew #define CONFIG_SYS_ICACHE_INV (CF_CACR_CINV) 227dd9f054eSTsiChung Liew #define CONFIG_SYS_CACHE_ACR0 (CONFIG_SYS_SDRAM_BASE | \ 228dd9f054eSTsiChung Liew CF_ADDRMASK(CONFIG_SYS_SDRAM_SIZE) | \ 229dd9f054eSTsiChung Liew CF_ACR_EN | CF_ACR_SM_ALL) 230dd9f054eSTsiChung Liew #define CONFIG_SYS_CACHE_ICACR (CF_CACR_CENB | CF_CACR_DISD | \ 231dd9f054eSTsiChung Liew CF_CACR_CEIB | CF_CACR_DCM | \ 232dd9f054eSTsiChung Liew CF_CACR_EUSP) 233dd9f054eSTsiChung Liew 2344a442d31STsiChungLiew /*----------------------------------------------------------------------- 2354a442d31STsiChungLiew * Chipselect bank definitions 2364a442d31STsiChungLiew */ 2374a442d31STsiChungLiew /* 2384a442d31STsiChungLiew * CS0 - NOR Flash 1, 2, 4, or 8MB 2394a442d31STsiChungLiew * CS1 - Available 2404a442d31STsiChungLiew * CS2 - Available 2414a442d31STsiChungLiew * CS3 - Available 2424a442d31STsiChungLiew * CS4 - Available 2434a442d31STsiChungLiew * CS5 - Available 2444a442d31STsiChungLiew * CS6 - Available 2454a442d31STsiChungLiew * CS7 - Available 2464a442d31STsiChungLiew */ 2474a442d31STsiChungLiew #ifdef NORFLASH_PS32BIT 248012522feSTsiChung Liew # define CONFIG_SYS_CS0_BASE 0xFFC00000 2496d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_CS0_MASK 0x003f0001 250012522feSTsiChung Liew # define CONFIG_SYS_CS0_CTRL 0x00001D00 2514a442d31STsiChungLiew #else 252012522feSTsiChung Liew # define CONFIG_SYS_CS0_BASE 0xFFE00000 2536d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_CS0_MASK 0x001f0001 254012522feSTsiChung Liew # define CONFIG_SYS_CS0_CTRL 0x00001D80 2554a442d31STsiChungLiew #endif 2564a442d31STsiChungLiew 2574a442d31STsiChungLiew #endif /* _M5329EVB_H */ 258