blob: 682e2e3979121f9327afe0a169a92e225f6cd983 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -06002/*
3 * Configuation settings for the Motorola MC5275EVB board.
4 *
5 * By Arthur Shipkowski <art@videon-central.com>
6 * Copyright (C) 2005 Videon Central, Inc.
7 *
8 * Based off of M5272C3 board code by Josef Baumgartner
9 * <josef.baumgartner@telex.de>
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060010 */
11
12/*
13 * board/config.h - configuration options, board specific
14 */
15
16#ifndef _M5275EVB_H
17#define _M5275EVB_H
18
19/*
20 * High Level Configuration Options
21 * (easy to change)
22 */
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060023
24#define CONFIG_MCFTMR
25
26#define CONFIG_MCFUART
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +020027#define CONFIG_SYS_UART_PORT (0)
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060028
29/* Configuration for environment
30 * Environment is embedded in u-boot in the second sector of the flash
31 */
32#ifndef CONFIG_MONITOR_IS_IN_RAM
Jean-Christophe PLAGNIOL-VILLARD7e1cda62008-09-10 22:48:06 +020033#define CONFIG_ENV_OFFSET 0x4000
34#define CONFIG_ENV_SECT_SIZE 0x2000
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060035#else
Jean-Christophe PLAGNIOL-VILLARD7e1cda62008-09-10 22:48:06 +020036#define CONFIG_ENV_ADDR 0xffe04000
37#define CONFIG_ENV_SECT_SIZE 0x2000
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060038#endif
39
angelo@sysam.it6312a952015-03-29 22:54:16 +020040#define LDS_BOARD_TEXT \
Simon Glass547cb402017-08-03 12:21:49 -060041 . = DEFINED(env_offset) ? env_offset : .; \
42 env/embedded.o(.text);
angelo@sysam.it6312a952015-03-29 22:54:16 +020043
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060044/*
45 * BOOTP options
46 */
47#define CONFIG_BOOTP_BOOTFILESIZE
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060048
49/* Available command configuration */
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060050
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060051#define CONFIG_MCFFEC
52#ifdef CONFIG_MCFFEC
TsiChung Liewb3162452008-03-30 01:22:13 -050053#define CONFIG_MII_INIT 1
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +020054#define CONFIG_SYS_DISCOVER_PHY
55#define CONFIG_SYS_RX_ETH_BUFFER 8
56#define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
57#define CONFIG_SYS_FEC0_PINMUX 0
58#define CONFIG_SYS_FEC0_MIIBASE CONFIG_SYS_FEC0_IOBASE
59#define CONFIG_SYS_FEC1_PINMUX 0
60#define CONFIG_SYS_FEC1_MIIBASE CONFIG_SYS_FEC1_IOBASE
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060061#define MCFFEC_TOUT_LOOP 50000
62#define CONFIG_HAS_ETH1
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +020063/* If CONFIG_SYS_DISCOVER_PHY is not defined - hardcoded */
64#ifndef CONFIG_SYS_DISCOVER_PHY
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060065#define FECDUPLEX FULL
66#define FECSPEED _100BASET
67#else
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +020068#ifndef CONFIG_SYS_FAULT_ECHO_LINK_DOWN
69#define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060070#endif
71#endif
72#endif
73
74/* I2C */
Heiko Schocherf2850742012-10-24 13:48:22 +020075#define CONFIG_SYS_I2C
76#define CONFIG_SYS_I2C_FSL
77#define CONFIG_SYS_FSL_I2C_SPEED 80000
78#define CONFIG_SYS_FSL_I2C_SLAVE 0x7F
79#define CONFIG_SYS_FSL_I2C_OFFSET 0x00000300
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +020080#define CONFIG_SYS_IMMR CONFIG_SYS_MBAR
81#define CONFIG_SYS_I2C_PINMUX_REG (gpio_reg->par_feci2c)
82#define CONFIG_SYS_I2C_PINMUX_CLR (0xFFF0)
83#define CONFIG_SYS_I2C_PINMUX_SET (0x000F)
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060084
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +020085#define CONFIG_SYS_LOAD_ADDR 0x800000
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060086
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060087#define CONFIG_BOOTCOMMAND "bootm ffe40000"
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +020088#define CONFIG_SYS_MEMTEST_START 0x400
89#define CONFIG_SYS_MEMTEST_END 0x380000
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060090
TsiChung Liew23cc28c2010-03-10 16:33:03 -060091#ifdef CONFIG_MCFFEC
92# define CONFIG_NET_RETRY_COUNT 5
93# define CONFIG_OVERWRITE_ETHADDR_ONCE
94#endif /* FEC_ENET */
95
96#define CONFIG_EXTRA_ENV_SETTINGS \
97 "netdev=eth0\0" \
98 "loadaddr=10000\0" \
99 "uboot=u-boot.bin\0" \
100 "load=tftp ${loadaddr} ${uboot}\0" \
101 "upd=run load; run prog\0" \
102 "prog=prot off ffe00000 ffe3ffff;" \
103 "era ffe00000 ffe3ffff;" \
104 "cp.b ${loadaddr} ffe00000 ${filesize};"\
105 "save\0" \
106 ""
107
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200108#define CONFIG_SYS_CLK 150000000
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -0600109
110/*
111 * Low Level Configuration Settings
112 * (address mappings, register initial values, etc.)
113 * You should know what you are doing if you make changes here.
114 */
115
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200116#define CONFIG_SYS_MBAR 0x40000000
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -0600117
118/*-----------------------------------------------------------------------
119 * Definitions for initial stack pointer and data area (in DPRAM)
120 */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200121#define CONFIG_SYS_INIT_RAM_ADDR 0x20000000
Wolfgang Denk1c2e98e2010-10-26 13:32:32 +0200122#define CONFIG_SYS_INIT_RAM_SIZE 0x10000 /* Size of used area in internal SRAM */
Wolfgang Denk0191e472010-10-26 14:34:52 +0200123#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200124#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -0600125
126/*-----------------------------------------------------------------------
127 * Start addresses for the final memory configuration
128 * (Set up by the startup code)
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200129 * Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -0600130 */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200131#define CONFIG_SYS_SDRAM_BASE 0x00000000
132#define CONFIG_SYS_SDRAM_SIZE 16 /* SDRAM size in MB */
TsiChung Liew7f1a0462008-10-21 10:03:07 +0000133#define CONFIG_SYS_FLASH_BASE CONFIG_SYS_CS0_BASE
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -0600134
135#ifdef CONFIG_MONITOR_IS_IN_RAM
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200136#define CONFIG_SYS_MONITOR_BASE 0x20000
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -0600137#else
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200138#define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_FLASH_BASE + 0x400)
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -0600139#endif
140
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200141#define CONFIG_SYS_MONITOR_LEN 0x20000
142#define CONFIG_SYS_MALLOC_LEN (256 << 10)
143#define CONFIG_SYS_BOOTPARAMS_LEN 64*1024
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -0600144
145/*
146 * For booting Linux, the board info and command line data
147 * have to be in the first 8 MB of memory, since this is
148 * the maximum mapped by the Linux kernel during initialization ??
149 */
TsiChung Liew25a00632009-01-27 12:57:47 +0000150#define CONFIG_SYS_BOOTMAPSZ (CONFIG_SYS_SDRAM_BASE + (CONFIG_SYS_SDRAM_SIZE << 20))
151#define CONFIG_SYS_BOOTM_LEN (CONFIG_SYS_SDRAM_SIZE << 20)
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -0600152
153/*-----------------------------------------------------------------------
154 * FLASH organization
155 */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200156#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */
157#define CONFIG_SYS_MAX_FLASH_SECT 11 /* max number of sectors on one chip */
158#define CONFIG_SYS_FLASH_ERASE_TOUT 1000
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -0600159
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200160#define CONFIG_SYS_FLASH_SIZE 0x200000
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -0600161
162/*-----------------------------------------------------------------------
163 * Cache Configuration
164 */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200165#define CONFIG_SYS_CACHELINE_SIZE 16
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -0600166
TsiChung Liew0ee47d42010-03-11 22:12:53 -0600167#define ICACHE_STATUS (CONFIG_SYS_INIT_RAM_ADDR + \
Wolfgang Denk1c2e98e2010-10-26 13:32:32 +0200168 CONFIG_SYS_INIT_RAM_SIZE - 8)
TsiChung Liew0ee47d42010-03-11 22:12:53 -0600169#define DCACHE_STATUS (CONFIG_SYS_INIT_RAM_ADDR + \
Wolfgang Denk1c2e98e2010-10-26 13:32:32 +0200170 CONFIG_SYS_INIT_RAM_SIZE - 4)
TsiChung Liew0ee47d42010-03-11 22:12:53 -0600171#define CONFIG_SYS_ICACHE_INV (CF_CACR_CINV | CF_CACR_INVI)
172#define CONFIG_SYS_CACHE_ACR0 (CONFIG_SYS_SDRAM_BASE | \
173 CF_ADDRMASK(CONFIG_SYS_SDRAM_SIZE) | \
174 CF_ACR_EN | CF_ACR_SM_ALL)
175#define CONFIG_SYS_CACHE_ICACR (CF_CACR_CENB | CF_CACR_CINV | \
176 CF_CACR_DISD | CF_CACR_INVI | \
177 CF_CACR_CEIB | CF_CACR_DCM | \
178 CF_CACR_EUSP)
179
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -0600180/*-----------------------------------------------------------------------
181 * Memory bank definitions
182 */
TsiChung Liew7f1a0462008-10-21 10:03:07 +0000183#define CONFIG_SYS_CS0_BASE 0xffe00000
184#define CONFIG_SYS_CS0_CTRL 0x00001980
185#define CONFIG_SYS_CS0_MASK 0x001F0001
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -0600186
TsiChung Liew7f1a0462008-10-21 10:03:07 +0000187#define CONFIG_SYS_CS1_BASE 0x30000000
188#define CONFIG_SYS_CS1_CTRL 0x00001900
189#define CONFIG_SYS_CS1_MASK 0x00070001
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -0600190
191/*-----------------------------------------------------------------------
192 * Port configuration
193 */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200194#define CONFIG_SYS_FECI2C 0x0FA0
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -0600195
196#endif /* _M5275EVB_H */