blob: 01de08fab70ddb5301290a77e8abc0630c44e836 [file] [log] [blame]
Alessandro Rubinid5254f12009-01-24 18:10:37 +01001/*
2 * (C) Copyright 2005
3 * STMicroelectronics.
4 * Configuration settings for the STn8815 nomadik board.
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., 59 Temple Place, Suite 330, Boston,
22 * MA 02111-1307 USA
23 */
24
25#ifndef __CONFIG_H
26#define __CONFIG_H
27
28#define CONFIG_ARM926EJS
29#define CONFIG_NOMADIK
30#define CONFIG_NOMADIK_8815
31#define CONFIG_NOMADIK_NDK15
32#define CONFIG_NOMADIK_NHK15
33
34#define CONFIG_SKIP_LOWLEVEL_INIT /* we have already been loaded to RAM */
35
36/* commands */
37#include <config_cmd_default.h>
38#define CONFIG_CMD_PING
39#define CONFIG_CMD_DHCP
40/* At this point there is no flash driver, so remove some commands */
41#undef CONFIG_CMD_ENV
42#undef CONFIG_CMD_FLASH
43#undef CONFIG_CMD_IMLS
44
45/* user interface */
46#define CONFIG_SYS_LONGHELP
47#define CONFIG_SYS_HUSH_PARSER
48#define CONFIG_SYS_PROMPT "Nomadik> "
49#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
50#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
51#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE \
52 + sizeof(CONFIG_SYS_PROMPT) + 16)
53#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Arg Buffer Size */
54#define CONFIG_SYS_MAXARGS 16
55#define CONFIG_SYS_LOAD_ADDR 0x800000 /* default load address */
56#define CONFIG_SYS_LOADS_BAUD_CHANGE
57
58/* boot config */
59#define CONFIG_SETUP_MEMORY_TAGS
60#define CONFIG_INITRD_TAG
61#define CONFIG_CMDLINE_TAG
62#define CONFIG_BOOTDELAY 1
63#define CONFIG_BOOTARGS "root=/dev/ram0 console=ttyAMA1,115200n8 init=linuxrc"
64#define CONFIG_BOOTCOMMAND "fsload 0x100000 kernel.uimg;" \
65 " fsload 0x800000 initrd.gz.uimg;" \
66 " bootm 0x100000 0x800000"
67
68/* memory-related information */
69#define CONFIG_NR_DRAM_BANKS 2
70#define PHYS_SDRAM_1 0x00000000 /* DDR-SDRAM Bank #1 */
71#define PHYS_SDRAM_1_SIZE 0x04000000 /* 64 MB */
72#define PHYS_SDRAM_2 0x08000000 /* SDR-SDRAM BANK #2*/
73#define PHYS_SDRAM_2_SIZE 0x04000000 /* 64 MB */
74
75#define CONFIG_STACKSIZE (128 * 1024) /* regular stack */
76#ifdef CONFIG_USE_IRQ
77# define CONFIG_STACKSIZE_IRQ (4 * 1024) /* IRQ stack */
78# define CONFIG_STACKSIZE_FIQ (4 * 1024) /* FIQ stack */
79#endif
80
81#define CONFIG_SYS_MEMTEST_START 0x00000000
82#define CONFIG_SYS_MEMTEST_END 0x0FFFFFFF
83#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 256 * 1024)
84#define CONFIG_SYS_GBL_DATA_SIZE 128 /* for initial data */
85
86#define CONFIG_MISC_INIT_R /* call misc_init_r during start up */
87
88/* timing informazion */
89#define CONFIG_SYS_HZ (2400000 / 256) /* Timer0: 2.4Mhz + divider */
90#define CONFIG_SYS_TIMERBASE 0x101E2000
91#undef CONFIG_SYS_CLKS_IN_HZ
92
93/* serial port (PL011) configuration */
94#define CONFIG_PL011_SERIAL
95#define CONFIG_CONS_INDEX 1
96#define CONFIG_BAUDRATE 115200
97#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 }
98#define CFG_SERIAL0 0x101FD000
99#define CFG_SERIAL1 0x101FB000
100
101#define CONFIG_PL01x_PORTS { (void *)CFG_SERIAL0, (void *)CFG_SERIAL1 }
102#define CONFIG_PL011_CLOCK 48000000
103
104/* Ethernet */
105#define PCI_MEMORY_VADDR 0xe8000000
106#define PCI_IO_VADDR 0xee000000
107#define __io(a) ((void __iomem *)(PCI_IO_VADDR + (a)))
108#define __mem_isa(a) ((a) + PCI_MEMORY_VADDR)
109
110#define CONFIG_DRIVER_SMC91111 /* Using SMC91c111*/
111#define CONFIG_SMC91111_BASE 0x34000300
112#undef CONFIG_SMC91111_EXT_PHY /* Internal PHY */
113#define CONFIG_SMC_USE_32_BIT
114#define CONFIG_BOOTFILE "uImage"
115
116/* flash memory and filesystem information */
117#define CONFIG_DOS_PARTITION
118#define CONFIG_MTD_ONENAND_VERIFY_WRITE
119#define CONFIG_SYS_ONENAND_BASE 0x30000000
120#define CONFIG_SYS_MAX_NAND_DEVICE 1
121#define CONFIG_SYS_NAND_BASE 0x40000000
122
123#define CONFIG_SYS_NO_FLASH
124
125#ifdef CONFIG_BOOT_ONENAND
126
127# undef CONFIG_CMD_NAND /* Temporary: nand and onenand can't coexist */
128 /* Partition Size Start
129 * XloaderTOC + X-Loader 256KB 0x00000000
130 * Memory init function 256KB 0x00040000
131 * U-Boot 2MB 0x00080000
132 * Sysimage (kernel + ramdisk) 4MB 0x00280000
133 * JFFS2 Root filesystem 22MB 0x00680000
134 * JFFS2 User Data 227.5MB 0x01C80000
135 */
136# define CONFIG_JFFS2_PART_SIZE 0x400000
137# define CONFIG_JFFS2_PART_OFFSET 0x280000
138
139# define CONFIG_ENV_IS_IN_ONENAND
140# define CONFIG_ENV_SIZE (256 * 1024)
141# define CONFIG_ENV_ADDR 0x30300000
142
143#else /* ! CONFIG_BOOT_ONENAND */
144
145# undef CONFIG_CMD_ONENAND /* Temporary: nand and onenand can't coexist */
146
147# define CONFIG_JFFS2_DEV "nand0"
148# define CONFIG_JFFS2_NAND 1 /* For the jffs2 support*/
149# define CONFIG_JFFS2_PART_SIZE 0x00300000
150# define CONFIG_JFFS2_PART_OFFSET 0x00280000
151
152# define CONFIG_ENV_IS_IN_NAND
153# define CONFIG_ENV_SIZE 0x20000 /*128 Kb*/
154# define CONFIG_ENV_OFFSET (0x8000000 - CONFIG_ENV_SIZE)
155
156#endif /* CONFIG_BOOT_ONENAND */
157
158/* Temporarily, until we have no driver, env is not in nand */
159#undef CONFIG_ENV_IS_IN_NAND
160#define CONFIG_ENV_IS_NOWHERE
161
162/* this is needed to make hello_world.c and other stuff happy */
163#define CONFIG_SYS_MAX_FLASH_SECT 512
164#define CONFIG_SYS_MAX_FLASH_BANKS 1
165
166/* base addresses of our peripherals */
167#define NOMADIK_SRC_BASE 0x101E0000 /* System and Reset Cnt */
168#define NOMADIK_PMU_BASE 0x101E9000 /* Power Management Unit */
169#define NOMADIK_MPMC_BASE 0x10110000 /* SDRAM Controller */
170#define NOMADIK_FSMC_BASE 0x10100000 /* FSMC Controller */
171#define NOMADIK_1NAND_BASE 0x30000000
172#define NOMADIK_GPIO0_BASE 0x101E4000
173#define NOMADIK_GPIO1_BASE 0x101E5000
174#define NOMADIK_GPIO2_BASE 0x101E6000
175#define NOMADIK_GPIO3_BASE 0x101E7000
176#define NOMADIK_CPLD_BASE 0x36000000
177#define NOMADIK_UART0_BASE 0x101FD000
178#define NOMADIK_UART1_BASE 0x101FB000
179#define NOMADIK_UART2_BASE 0x101F2000
180
181#define NOMADIK_I2C1_BASE 0x101F7000 /* I2C1 interface */
182#define NOMADIK_I2C0_BASE 0x101F8000 /* I2C0 interface */
183
184#define NOMADIK_RTC_BASE 0x101E8000
185#define NOMADIK_ETH0_BASE 0x36800300
186#define NOMADIK_CPLD_UART_BASE 0x36480000
187
188#endif /* __CONFIG_H */