blob: 1a6379176b3b4c3590326abe6f0aa43b16bb420b [file] [log] [blame]
Prafulla Wadaskar54e999a2010-09-30 22:53:43 +05301/*
2 * (C) Copyright 2010
3 * Marvell Semiconductor <www.marvell.com>
4 * Written-by: Prafulla Wadaskar <prafulla@marvell.com>
5 *
6 * See file CREDITS for list of people who contributed to this
7 * project.
8 *
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of
12 * the License, or (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
22 * MA 02110-1301 USA
23 */
24
25/*
26 * This file contains Marvell Board Specific common defincations.
27 * This file should be included in board config header file.
28 *
29 * It supports common definations for Kirkwood platform
30 * TBD: support for Orion5X platforms
31 */
32
33#ifndef _MV_COMMON_H
34#define _MV_COMMON_H
35
36/*
37 * High Level Configuration Options (easy to change)
38 */
39#define CONFIG_MARVELL 1
Prafulla Wadaskar8e14ed82010-12-07 20:58:35 +053040
41/*
42 * Custom CONFIG_SYS_TEXT_BASE can be done in <board>.h
Prafulla Wadaskar31d80c72010-10-27 17:46:06 +053043 */
44#ifndef CONFIG_SYS_TEXT_BASE
45#define CONFIG_SYS_TEXT_BASE 0x00600000
46#endif /* CONFIG_SYS_TEXT_BASE */
47
Prafulla Wadaskar0b20ed72010-09-30 22:57:02 +053048/* additions for new ARM relocation support */
Prafulla Wadaskar8e14ed82010-12-07 20:58:35 +053049#define CONFIG_SYS_SDRAM_BASE 0x00000000
Prafulla Wadaskar0b20ed72010-09-30 22:57:02 +053050
Prafulla Wadaskar54e999a2010-09-30 22:53:43 +053051/*
52 * CLKs configurations
53 */
54#define CONFIG_SYS_HZ 1000
55
56/*
57 * NS16550 Configuration
58 */
59#define CONFIG_SYS_NS16550
60#define CONFIG_SYS_NS16550_SERIAL
61#define CONFIG_SYS_NS16550_REG_SIZE (-4)
62#define CONFIG_SYS_NS16550_CLK CONFIG_SYS_TCLK
Prafulla Wadaskar8e14ed82010-12-07 20:58:35 +053063#define CONFIG_SYS_NS16550_COM1 MV_UART_CONSOLE_BASE
Prafulla Wadaskar54e999a2010-09-30 22:53:43 +053064
65/*
66 * Serial Port configuration
67 * The following definitions let you select what serial you want to use
68 * for your console driver.
69 */
70
71#define CONFIG_CONS_INDEX 1 /*Console on UART0 */
72#define CONFIG_BAUDRATE 115200
73#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, \
74 115200,230400, 460800, 921600 }
75/* auto boot */
76#define CONFIG_BOOTDELAY 3 /* default enable autoboot */
77
78/*
79 * For booting Linux, the board info and command line data
80 * have to be in the first 8 MB of memory, since this is
81 * the maximum mapped by the Linux kernel during initialization.
82 */
83#define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */
84#define CONFIG_INITRD_TAG 1 /* enable INITRD tag */
85#define CONFIG_SETUP_MEMORY_TAGS 1 /* enable memory tag */
86
87#define CONFIG_SYS_PROMPT "Marvell>> " /* Command Prompt */
88#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buff Size */
89#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE \
90 +sizeof(CONFIG_SYS_PROMPT) + 16) /* Print Buff */
91
92/*
Prafulla Wadaskar54e999a2010-09-30 22:53:43 +053093 * Size of malloc() pool
94 */
95#define CONFIG_SYS_MALLOC_LEN (1024 * 1024) /* 1MiB for malloc() */
Prafulla Wadaskar54e999a2010-09-30 22:53:43 +053096
97/*
98 * Other required minimal configurations
99 */
100#define CONFIG_SYS_LONGHELP
101#define CONFIG_AUTO_COMPLETE
102#define CONFIG_CMDLINE_EDITING
103#define CONFIG_CONSOLE_INFO_QUIET /* some code reduction */
104#define CONFIG_ARCH_CPU_INIT /* call arch_cpu_init() */
105#define CONFIG_ARCH_MISC_INIT /* call arch_misc_init() */
Wolfgang Denk844f07d2010-11-27 23:30:56 +0100106#define CONFIG_BOARD_EARLY_INIT_F /* call board_init_f for early inits */
Prafulla Wadaskar54e999a2010-09-30 22:53:43 +0530107#define CONFIG_DISPLAY_CPUINFO /* Display cpu info */
Prafulla Wadaskar54e999a2010-09-30 22:53:43 +0530108#define CONFIG_STACKSIZE 0x00100000 /* regular stack- 1M */
109#define CONFIG_SYS_LOAD_ADDR 0x00800000 /* default load adr- 8M */
Prafulla Wadaskar8e14ed82010-12-07 20:58:35 +0530110#define CONFIG_SYS_MEMTEST_START 0x00800000 /* 8M */
111#define CONFIG_SYS_MEMTEST_END 0x00ffffff /*(_16M -1) */
Prafulla Wadaskar54e999a2010-09-30 22:53:43 +0530112#define CONFIG_SYS_RESET_ADDRESS 0xffff0000 /* Rst Vector Adr */
113#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
114
Simon Guinot2f795ac2011-05-03 21:17:34 +0530115/* ====> Include platform Common Definitions */
116#include <asm/arch/config.h>
117
Prafulla Wadaskar54e999a2010-09-30 22:53:43 +0530118/*
Prafulla Wadaskar8e14ed82010-12-07 20:58:35 +0530119 * DRAM Banks configuration, Custom config can be done in <board>.h
120 */
121#ifndef CONFIG_NR_DRAM_BANKS
122#define CONFIG_NR_DRAM_BANKS CONFIG_NR_DRAM_BANKS_MAX
123#else
124#if (CONFIG_NR_DRAM_BANKS > CONFIG_NR_DRAM_BANKS_MAX)
125#error CONFIG_NR_DRAM_BANKS Configurated more than available
126#endif
127#endif /* CONFIG_NR_DRAM_BANKS */
128
Simon Guinot2f795ac2011-05-03 21:17:34 +0530129/* ====> Include driver Common Definitions */
Prafulla Wadaskar8e14ed82010-12-07 20:58:35 +0530130/*
Lei Wencf946c62011-02-09 18:06:58 +0530131 * Common NAND configuration
Prafulla Wadaskar54e999a2010-09-30 22:53:43 +0530132 */
Lei Wencf946c62011-02-09 18:06:58 +0530133#ifdef CONFIG_CMD_NAND
134#define CONFIG_SYS_MAX_NAND_DEVICE 1
Lei Wencf946c62011-02-09 18:06:58 +0530135#define CONFIG_SYS_64BIT_VSPRINTF /* needed for nand_util.c */
136#endif
Prafulla Wadaskar54e999a2010-09-30 22:53:43 +0530137
138/*
Lei Wencf946c62011-02-09 18:06:58 +0530139 * Common SPI Flash configuration
140 */
141#ifdef CONFIG_CMD_SF
142#define CONFIG_SPI_FLASH 1
143#define CONFIG_SPI_FLASH_MACRONIX 1
144#endif
145
146/*
147 * Common USB/EHCI configuration
Prafulla Wadaskar54e999a2010-09-30 22:53:43 +0530148 */
149#ifdef CONFIG_CMD_USB
150#define CONFIG_USB_EHCI /* Enable EHCI USB support */
Prafulla Wadaskar54e999a2010-09-30 22:53:43 +0530151#define CONFIG_USB_STORAGE
152#define CONFIG_DOS_PARTITION
153#define CONFIG_ISO_PARTITION
154#define CONFIG_SUPPORT_VFAT
155#endif /* CONFIG_CMD_USB */
156
157/*
Prafulla Wadaskar54e999a2010-09-30 22:53:43 +0530158 * File system
159 */
Lei Wencf946c62011-02-09 18:06:58 +0530160#ifdef CONFIG_SYS_MVFS
Prafulla Wadaskar54e999a2010-09-30 22:53:43 +0530161#define CONFIG_CMD_EXT2
162#define CONFIG_CMD_JFFS2
163#define CONFIG_CMD_FAT
164#define CONFIG_CMD_UBI
165#define CONFIG_CMD_UBIFS
166#define CONFIG_RBTREE
167#define CONFIG_MTD_DEVICE /* needed for mtdparts commands */
168#define CONFIG_MTD_PARTITIONS
169#define CONFIG_CMD_MTDPARTS
170#define CONFIG_LZO
Lei Wencf946c62011-02-09 18:06:58 +0530171#endif
Prafulla Wadaskar54e999a2010-09-30 22:53:43 +0530172
173#endif /* _MV_COMMON_H */