blob: d6371fce4d044418f12e3377c0c0d5c8bdb2227d [file] [log] [blame]
Cyril Chemparathy5cc48f72010-06-07 14:13:36 -04001/*
2 * Copyright (C) 2008 Texas Instruments, Inc <www.ti.com>
3 *
4 * Based on davinci_dvevm.h. Original Copyrights follow:
5 *
6 * Copyright (C) 2007 Sergey Kubushyn <ksi@koi8.net>
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License as
10 * published by the Free Software Foundation; either version 2 of
11 * the License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21 * MA 02111-1307 USA
22 */
23
24#ifndef __CONFIG_H
25#define __CONFIG_H
26
27#include <asm/sizes.h>
28#include <asm/arch/hardware.h>
29#include <asm/arch/clock.h>
30
31/* Architecture, CPU, etc */
32#define CONFIG_ARM1176
33#define CONFIG_TNETV107X
34#define CONFIG_TNETV107X_EVM
Marek Vasutd7312822012-07-21 05:02:21 +000035#define CONFIG_TNETV107X_WATCHDOG
Cyril Chemparathy5cc48f72010-06-07 14:13:36 -040036#define CONFIG_ARCH_CPU_INIT
Wolfgang Denk14d0a022010-10-07 21:51:12 +020037#define CONFIG_SYS_UBOOT_BASE CONFIG_SYS_TEXT_BASE
Cyril Chemparathy5cc48f72010-06-07 14:13:36 -040038#define CONFIG_DISABLE_TCM
39#define CONFIG_PERIPORT_REMAP
40#define CONFIG_PERIPORT_BASE 0x2000000
41#define CONFIG_PERIPORT_SIZE 0x10
42#define CONFIG_SYS_CLK_FREQ clk_get_rate(TNETV107X_LPSC_ARM)
43
44#define CONFIG_SYS_TIMERBASE TNETV107X_TIMER0_BASE
45#define CONFIG_SYS_HZ_CLOCK clk_get_rate(TNETV107X_LPSC_TIMER0)
46#define CONFIG_SYS_HZ 1000
47
48#define CONFIG_PLL_SYS_EXT_FREQ 25000000
49#define CONFIG_PLL_TDM_EXT_FREQ 19200000
50#define CONFIG_PLL_ETH_EXT_FREQ 25000000
51
52/* Memory Info */
53#define CONFIG_SYS_MALLOC_LEN (0x10000 + 1*1024*1024)
Cyril Chemparathy5cc48f72010-06-07 14:13:36 -040054#define PHYS_SDRAM_1 TNETV107X_DDR_EMIF_DATA_BASE
55#define PHYS_SDRAM_1_SIZE 0x04000000
56#define CONFIG_SYS_MEMTEST_START PHYS_SDRAM_1
57#define CONFIG_SYS_MEMTEST_END (PHYS_SDRAM_1 + 16*1024*1024)
58#define CONFIG_NR_DRAM_BANKS 1
Cyril Chemparathy5cc48f72010-06-07 14:13:36 -040059
Chan-Taek Park930f3352011-06-23 09:19:26 +000060#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1
61#define CONFIG_SYS_INIT_RAM_SIZE 0x1000
62#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + \
63 CONFIG_SYS_INIT_RAM_SIZE - \
64 GENERATED_GBL_DATA_SIZE)
65
Cyril Chemparathy5cc48f72010-06-07 14:13:36 -040066/* Serial Driver Info */
67#define CONFIG_SYS_NS16550
68#define CONFIG_SYS_NS16550_SERIAL
69#define CONFIG_SYS_NS16550_REG_SIZE -4
70#define CONFIG_SYS_NS16550_COM1 TNETV107X_UART1_BASE
71#define CONFIG_SYS_NS16550_CLK clk_get_rate(TNETV107X_LPSC_UART1)
72#define CONFIG_CONS_INDEX 1
73#define CONFIG_BAUDRATE 115200
Cyril Chemparathy5cc48f72010-06-07 14:13:36 -040074
75/* Flash and environment info */
76#define CONFIG_SYS_NO_FLASH
77#define CONFIG_ENV_IS_IN_NAND
78#define CONFIG_NAND_DAVINCI
79#define CONFIG_ENV_SIZE (SZ_128K)
80#define CONFIG_SYS_NAND_HW_ECC
81#define CONFIG_SYS_NAND_1BIT_ECC
82#define CONFIG_SYS_NAND_CS 2
83#define CONFIG_SYS_NAND_USE_FLASH_BBT
84#define CONFIG_SYS_NAND_BASE TNETV107X_ASYNC_EMIF_DATA_CE0_BASE
85#define CONFIG_SYS_CLE_MASK 0x10
86#define CONFIG_SYS_ALE_MASK 0x8
87#define CONFIG_SYS_MAX_NAND_DEVICE 1
88#define CONFIG_MTD_PARTITIONS
89#define CONFIG_CMD_MTDPARTS
90#define CONFIG_MTD_DEVICE
91#define CONFIG_JFFS2_NAND
Cyril Chemparathy5cc48f72010-06-07 14:13:36 -040092#define CONFIG_ENV_OFFSET 0x180000
Cyril Chemparathy5cc48f72010-06-07 14:13:36 -040093
94/*
95 * davinci_nand is a bit of a misnomer since this particular EMIF block is
96 * commonly used across multiple TI devices. Unfortunately, this misnomer
97 * (amongst others) carries forward into the kernel too. Consequently, if we
98 * use a different device name here, the mtdparts variable won't be usable as
99 * a kernel command-line argument.
100 */
101#define MTDIDS_DEFAULT "nand0=davinci_nand.0"
102#define MTDPARTS_DEFAULT "mtdparts=davinci_nand.0:" \
103 "1536k(uboot)ro," \
104 "128k(params)ro," \
105 "4m(kernel)," \
106 "-(filesystem)"
107
108/* General U-Boot configuration */
109#define CONFIG_BOOTFILE "uImage"
110#define CONFIG_SYS_PROMPT "U-Boot > "
111#define CONFIG_SYS_CBSIZE 1024
112#define CONFIG_SYS_MAXARGS 64
113#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
114#define CONFIG_VERSION_VARIABLE
115#define CONFIG_AUTO_COMPLETE
116#define CONFIG_SYS_HUSH_PARSER
Cyril Chemparathy5cc48f72010-06-07 14:13:36 -0400117#define CONFIG_CMDLINE_EDITING
118#define CONFIG_SYS_LONGHELP
119#define CONFIG_CRC32_VERIFY
120#define CONFIG_MX_CYCLIC
121#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \
122 sizeof(CONFIG_SYS_PROMPT) + 16)
123#define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_MEMTEST_START + \
124 0x700000)
125#define LINUX_BOOT_PARAM_ADDR (CONFIG_SYS_MEMTEST_START + 0x100)
126#define CONFIG_CMDLINE_TAG
127#define CONFIG_SETUP_MEMORY_TAGS
128#define CONFIG_BOOTARGS "mem=32M console=ttyS1,115200n8 " \
129 "root=/dev/mmcblk0p1 rw noinitrd"
130#define CONFIG_BOOTCOMMAND ""
131#define CONFIG_BOOTDELAY 1
132
133#define CONFIG_CMD_BDI
134#define CONFIG_CMD_BOOTD
135#define CONFIG_CMD_CONSOLE
136#define CONFIG_CMD_ECHO
137#define CONFIG_CMD_EDITENV
138#define CONFIG_CMD_IMI
139#define CONFIG_CMD_ITEST
140#define CONFIG_CMD_LOADB
141#define CONFIG_CMD_LOADS
142#define CONFIG_CMD_MEMORY
143#define CONFIG_CMD_MISC
144#define CONFIG_CMD_RUN
145#define CONFIG_CMD_SAVEENV
146#define CONFIG_CMD_SOURCE
147#define CONFIG_CMD_ENV
148#define CONFIG_CMD_ASKENV
149#define CONFIG_CMD_SAVES
150#define CONFIG_CMD_MEMORY
151#define CONFIG_CMD_NAND
152#define CONFIG_CMD_JFFS2
153
154#endif /* __CONFIG_H */