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 254a442d31STsiChungLiew #undef CONFIG_WATCHDOG 264a442d31STsiChungLiew #define CONFIG_WATCHDOG_TIMEOUT 5000 /* timeout in milliseconds, max timeout is 6.71sec */ 274a442d31STsiChungLiew 284a442d31STsiChungLiew /* 294a442d31STsiChungLiew * BOOTP options 304a442d31STsiChungLiew */ 314a442d31STsiChungLiew #define CONFIG_BOOTP_BOOTFILESIZE 324a442d31STsiChungLiew #define CONFIG_BOOTP_BOOTPATH 334a442d31STsiChungLiew #define CONFIG_BOOTP_GATEWAY 344a442d31STsiChungLiew #define CONFIG_BOOTP_HOSTNAME 354a442d31STsiChungLiew 364a442d31STsiChungLiew #define CONFIG_MCFFEC 374a442d31STsiChungLiew #ifdef CONFIG_MCFFEC 384a442d31STsiChungLiew # define CONFIG_MII 1 390f3ba7e9STsiChung Liew # define CONFIG_MII_INIT 1 406d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_DISCOVER_PHY 416d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_RX_ETH_BUFFER 8 426d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FAULT_ECHO_LINK_DOWN 434a442d31STsiChungLiew 446d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FEC0_PINMUX 0 456d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FEC0_MIIBASE CONFIG_SYS_FEC0_IOBASE 464a442d31STsiChungLiew # define MCFFEC_TOUT_LOOP 50000 476d0f6bcfSJean-Christophe PLAGNIOL-VILLARD /* If CONFIG_SYS_DISCOVER_PHY is not defined - hardcoded */ 486d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # ifndef CONFIG_SYS_DISCOVER_PHY 494a442d31STsiChungLiew # define FECDUPLEX FULL 504a442d31STsiChungLiew # define FECSPEED _100BASET 514a442d31STsiChungLiew # else 526d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # ifndef CONFIG_SYS_FAULT_ECHO_LINK_DOWN 536d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FAULT_ECHO_LINK_DOWN 544a442d31STsiChungLiew # endif 556d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # endif /* CONFIG_SYS_DISCOVER_PHY */ 564a442d31STsiChungLiew #endif 574a442d31STsiChungLiew 584a442d31STsiChungLiew /* Timer */ 594a442d31STsiChungLiew #define CONFIG_MCFTMR 604a442d31STsiChungLiew #undef CONFIG_MCFPIT 614a442d31STsiChungLiew 624a442d31STsiChungLiew /* I2C */ 6300f792e0SHeiko Schocher #define CONFIG_SYS_I2C 6400f792e0SHeiko Schocher #define CONFIG_SYS_i2C_FSL 6500f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C_SPEED 80000 6600f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C_SLAVE 0x7F 6700f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C_OFFSET 0x00000300 686d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_IMMR CONFIG_SYS_MBAR 696d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_I2C_PINMUX_REG (gpio->par_qspi) 706d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_I2C_PINMUX_CLR ~(GPIO_PAR_FECI2C_SCL_MASK | GPIO_PAR_FECI2C_SDA_MASK) 716d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_I2C_PINMUX_SET (GPIO_PAR_FECI2C_SCL_I2CSCL | GPIO_PAR_FECI2C_SDA_I2CSDA) 724a442d31STsiChungLiew 734a442d31STsiChungLiew /* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */ 744a442d31STsiChungLiew #define CONFIG_BOOTFILE "u-boot.bin" 754a442d31STsiChungLiew #ifdef CONFIG_MCFFEC 764a442d31STsiChungLiew # define CONFIG_IPADDR 192.162.1.2 774a442d31STsiChungLiew # define CONFIG_NETMASK 255.255.255.0 784a442d31STsiChungLiew # define CONFIG_SERVERIP 192.162.1.1 794a442d31STsiChungLiew # define CONFIG_GATEWAYIP 192.162.1.1 804a442d31STsiChungLiew #endif /* FEC_ENET */ 814a442d31STsiChungLiew 824a442d31STsiChungLiew #define CONFIG_HOSTNAME M5235EVB 834a442d31STsiChungLiew #define CONFIG_EXTRA_ENV_SETTINGS \ 844a442d31STsiChungLiew "netdev=eth0\0" \ 854a442d31STsiChungLiew "loadaddr=10000\0" \ 864a442d31STsiChungLiew "u-boot=u-boot.bin\0" \ 874a442d31STsiChungLiew "load=tftp ${loadaddr) ${u-boot}\0" \ 884a442d31STsiChungLiew "upd=run load; run prog\0" \ 894a442d31STsiChungLiew "prog=prot off ffe00000 ffe3ffff;" \ 904a442d31STsiChungLiew "era ffe00000 ffe3ffff;" \ 914a442d31STsiChungLiew "cp.b ${loadaddr} ffe00000 ${filesize};"\ 924a442d31STsiChungLiew "save\0" \ 934a442d31STsiChungLiew "" 944a442d31STsiChungLiew 954a442d31STsiChungLiew #define CONFIG_PRAM 512 /* 512 KB */ 966d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LONGHELP /* undef to save memory */ 974a442d31STsiChungLiew 986d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_SDRAM_BASE+0x20000) 994a442d31STsiChungLiew 1006d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CLK 75000000 1016d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CPU_CLK CONFIG_SYS_CLK * 2 1024a442d31STsiChungLiew 1036d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MBAR 0x40000000 1044a442d31STsiChungLiew 1054a442d31STsiChungLiew /* 1064a442d31STsiChungLiew * Low Level Configuration Settings 1074a442d31STsiChungLiew * (address mappings, register initial values, etc.) 1084a442d31STsiChungLiew * You should know what you are doing if you make changes here. 1094a442d31STsiChungLiew */ 1104a442d31STsiChungLiew /*----------------------------------------------------------------------- 1114a442d31STsiChungLiew * Definitions for initial stack pointer and data area (in DPRAM) 1124a442d31STsiChungLiew */ 1136d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_INIT_RAM_ADDR 0x20000000 114553f0982SWolfgang Denk #define CONFIG_SYS_INIT_RAM_SIZE 0x10000 /* Size of used area in internal SRAM */ 1156d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_INIT_RAM_CTRL 0x21 11625ddd1fbSWolfgang Denk #define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE - 0x10) 1176d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET 1184a442d31STsiChungLiew 1194a442d31STsiChungLiew /*----------------------------------------------------------------------- 1204a442d31STsiChungLiew * Start addresses for the final memory configuration 1214a442d31STsiChungLiew * (Set up by the startup code) 1226d0f6bcfSJean-Christophe PLAGNIOL-VILLARD * Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0 1234a442d31STsiChungLiew */ 1246d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_BASE 0x00000000 1256d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_SIZE 16 /* SDRAM size in MB */ 1264a442d31STsiChungLiew 1276d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE + 0x400 1286d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MEMTEST_END ((CONFIG_SYS_SDRAM_SIZE - 3) << 20) 1294a442d31STsiChungLiew 1306d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_FLASH_BASE + 0x400) 1316d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */ 1324a442d31STsiChungLiew 1336d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_BOOTPARAMS_LEN 64*1024 1346d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc() */ 1354a442d31STsiChungLiew 1364a442d31STsiChungLiew /* 1374a442d31STsiChungLiew * For booting Linux, the board info and command line data 1384a442d31STsiChungLiew * have to be in the first 8 MB of memory, since this is 1394a442d31STsiChungLiew * the maximum mapped by the Linux kernel during initialization ?? 1404a442d31STsiChungLiew */ 1414a442d31STsiChungLiew /* Initial Memory map for Linux */ 1426d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_BOOTMAPSZ (CONFIG_SYS_SDRAM_BASE + (CONFIG_SYS_SDRAM_SIZE << 20)) 143d6e4baf4STsiChung Liew #define CONFIG_SYS_BOOTM_LEN (CONFIG_SYS_SDRAM_SIZE << 20) 1444a442d31STsiChungLiew 1454a442d31STsiChungLiew /*----------------------------------------------------------------------- 1464a442d31STsiChungLiew * FLASH organization 1474a442d31STsiChungLiew */ 1486d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_FLASH_CFI 1496d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #ifdef CONFIG_SYS_FLASH_CFI 15000b1883aSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_FLASH_CFI_DRIVER 1 1516d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FLASH_SIZE 0x800000 /* Max size that the board might have */ 1524a442d31STsiChungLiew #ifdef NORFLASH_PS32BIT 1536d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_32BIT 1544a442d31STsiChungLiew #else 1556d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_16BIT 1564a442d31STsiChungLiew #endif 1576d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */ 1586d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_MAX_FLASH_SECT 137 /* max number of sectors on one chip */ 1596d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_FLASH_PROTECTION /* "Real" (hardware) sectors protection */ 1604a442d31STsiChungLiew #endif 1614a442d31STsiChungLiew 162012522feSTsiChung Liew #define CONFIG_SYS_FLASH_BASE (CONFIG_SYS_CS0_BASE) 1634a442d31STsiChungLiew 1644a442d31STsiChungLiew /* Configuration for environment 1654a442d31STsiChungLiew * Environment is embedded in u-boot in the second sector of the flash 1664a442d31STsiChungLiew */ 1675296cb1dSangelo@sysam.it 1685296cb1dSangelo@sysam.it #define LDS_BOARD_TEXT \ 1695296cb1dSangelo@sysam.it . = DEFINED(env_offset) ? env_offset : .; \ 170*0649cd0dSSimon Glass env/embedded.o(.text); 1715296cb1dSangelo@sysam.it 1724a442d31STsiChungLiew #ifdef NORFLASH_PS32BIT 1730e8d1586SJean-Christophe PLAGNIOL-VILLARD # define CONFIG_ENV_OFFSET (0x8000) 1740e8d1586SJean-Christophe PLAGNIOL-VILLARD # define CONFIG_ENV_SIZE 0x4000 1750e8d1586SJean-Christophe PLAGNIOL-VILLARD # define CONFIG_ENV_SECT_SIZE 0x4000 1764a442d31STsiChungLiew #else 1770e8d1586SJean-Christophe PLAGNIOL-VILLARD # define CONFIG_ENV_OFFSET (0x4000) 1780e8d1586SJean-Christophe PLAGNIOL-VILLARD # define CONFIG_ENV_SIZE 0x2000 1790e8d1586SJean-Christophe PLAGNIOL-VILLARD # define CONFIG_ENV_SECT_SIZE 0x2000 1804a442d31STsiChungLiew #endif 1814a442d31STsiChungLiew 1824a442d31STsiChungLiew /*----------------------------------------------------------------------- 1834a442d31STsiChungLiew * Cache Configuration 1844a442d31STsiChungLiew */ 1856d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CACHELINE_SIZE 16 1864a442d31STsiChungLiew 187dd9f054eSTsiChung Liew #define ICACHE_STATUS (CONFIG_SYS_INIT_RAM_ADDR + \ 188553f0982SWolfgang Denk CONFIG_SYS_INIT_RAM_SIZE - 8) 189dd9f054eSTsiChung Liew #define DCACHE_STATUS (CONFIG_SYS_INIT_RAM_ADDR + \ 190553f0982SWolfgang Denk CONFIG_SYS_INIT_RAM_SIZE - 4) 191dd9f054eSTsiChung Liew #define CONFIG_SYS_ICACHE_INV (CF_CACR_CINV) 192dd9f054eSTsiChung Liew #define CONFIG_SYS_CACHE_ACR0 (CONFIG_SYS_SDRAM_BASE | \ 193dd9f054eSTsiChung Liew CF_ADDRMASK(CONFIG_SYS_SDRAM_SIZE) | \ 194dd9f054eSTsiChung Liew CF_ACR_EN | CF_ACR_SM_ALL) 195dd9f054eSTsiChung Liew #define CONFIG_SYS_CACHE_ICACR (CF_CACR_CENB | CF_CACR_DISD | \ 196dd9f054eSTsiChung Liew CF_CACR_CEIB | CF_CACR_DCM | \ 197dd9f054eSTsiChung Liew CF_CACR_EUSP) 198dd9f054eSTsiChung Liew 1994a442d31STsiChungLiew /*----------------------------------------------------------------------- 2004a442d31STsiChungLiew * Chipselect bank definitions 2014a442d31STsiChungLiew */ 2024a442d31STsiChungLiew /* 2034a442d31STsiChungLiew * CS0 - NOR Flash 1, 2, 4, or 8MB 2044a442d31STsiChungLiew * CS1 - Available 2054a442d31STsiChungLiew * CS2 - Available 2064a442d31STsiChungLiew * CS3 - Available 2074a442d31STsiChungLiew * CS4 - Available 2084a442d31STsiChungLiew * CS5 - Available 2094a442d31STsiChungLiew * CS6 - Available 2104a442d31STsiChungLiew * CS7 - Available 2114a442d31STsiChungLiew */ 2124a442d31STsiChungLiew #ifdef NORFLASH_PS32BIT 213012522feSTsiChung Liew # define CONFIG_SYS_CS0_BASE 0xFFC00000 2146d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_CS0_MASK 0x003f0001 215012522feSTsiChung Liew # define CONFIG_SYS_CS0_CTRL 0x00001D00 2164a442d31STsiChungLiew #else 217012522feSTsiChung Liew # define CONFIG_SYS_CS0_BASE 0xFFE00000 2186d0f6bcfSJean-Christophe PLAGNIOL-VILLARD # define CONFIG_SYS_CS0_MASK 0x001f0001 219012522feSTsiChung Liew # define CONFIG_SYS_CS0_CTRL 0x00001D80 2204a442d31STsiChungLiew #endif 2214a442d31STsiChungLiew 2224a442d31STsiChungLiew #endif /* _M5329EVB_H */ 223