blob: 38178151febc54c574e388febc511242b8b4d19d [file] [log] [blame]
Mike Dunn0dc0e842013-06-18 11:08:50 -07001/*
2 * Palm Treo 680 configuration file
3 *
4 * Copyright (C) 2013 Mike Dunn <mikedunn@newsguy.com>
5 *
6 * This file is released under the terms of GPL v2 and any later version.
7 * See the file COPYING in the root directory of the source tree for details.
8 *
9 */
10
11#ifndef __CONFIG_H
12#define __CONFIG_H
13
14/*
15 * High Level Board Configuration Options
16 */
17#define CONFIG_CPU_PXA27X
18#define CONFIG_PALMTREO680
19#define CONFIG_MACH_TYPE MACH_TYPE_TREO680
20
21#define CONFIG_SYS_MALLOC_LEN (4096*1024)
22
23#define CONFIG_LZMA
24
25/*
26 * Serial Console Configuration
27 */
28#define CONFIG_PXA_SERIAL
29#define CONFIG_FFUART 1
30#define CONFIG_BAUDRATE 9600
31#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 }
32#define CONFIG_CONS_INDEX 3
33
34/* we have nand (although technically nand *is* flash...) */
35#define CONFIG_SYS_NO_FLASH
36
37#define CONFIG_LCD
38/* #define CONFIG_KEYBOARD */ /* TODO */
39
40/*
41 * Bootloader Components Configuration
42 */
43#include <config_cmd_default.h>
44#undef CONFIG_CMD_FPGA
45#undef CONFIG_CMD_LOADS
Mike Dunn0dc0e842013-06-18 11:08:50 -070046#undef CONFIG_CMD_NFS
47#undef CONFIG_CMD_IMLS
48#undef CONFIG_CMD_FLASH
49#undef CONFIG_CMD_SETGETDCR
50#undef CONFIG_CMD_SOURCE
51#undef CONFIG_CMD_XIMG
52
53#define CONFIG_CMD_ENV
54#define CONFIG_CMD_MMC
55#define CONFIG_CMD_NAND
56
57#define CONFIG_CMDLINE_TAG
58#define CONFIG_SETUP_MEMORY_TAGS
59
60/*
61 * MMC Card Configuration
62 */
63#ifdef CONFIG_CMD_MMC
64#define CONFIG_MMC
65#define CONFIG_GENERIC_MMC
66#define CONFIG_PXA_MMC_GENERIC
67
68#define CONFIG_CMD_FAT
69#define CONFIG_CMD_EXT2
70#define CONFIG_DOS_PARTITION
71#endif
72
73/*
74 * LCD
75 */
76#ifdef CONFIG_LCD
77#define CONFIG_PXA_LCD
78#define CONFIG_ACX544AKN
79#define CONFIG_LCD_LOGO
80#define CONFIG_SYS_LCD_PXA_NO_L_BIAS /* don't configure GPIO77 as L_BIAS */
81#define LCD_BPP LCD_COLOR16
82#define CONFIG_FB_ADDR 0x5c000000 /* internal SRAM */
83#define CONFIG_CMD_BMP
84#define CONFIG_SPLASH_SCREEN /* requires "splashimage" env var */
85#define CONFIG_SPLASH_SCREEN_ALIGN /* requires "splashpos" env var */
86#define CONFIG_VIDEO_BMP_GZIP
87#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (2 << 20)
88
89#endif
90
91/*
92 * KGDB
93 */
94#ifdef CONFIG_CMD_KGDB
95#define CONFIG_KGDB_BAUDRATE 230400 /* kgdb serial port speed */
Mike Dunn0dc0e842013-06-18 11:08:50 -070096#endif
97
98/*
99 * HUSH Shell Configuration
100 */
101#define CONFIG_SYS_HUSH_PARSER 1
102#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
103
104#define CONFIG_SYS_LONGHELP
105#ifdef CONFIG_SYS_HUSH_PARSER
106#define CONFIG_SYS_PROMPT "$ "
107#else
Mike Dunn0dc0e842013-06-18 11:08:50 -0700108#endif
109#define CONFIG_SYS_CBSIZE 256
110#define CONFIG_SYS_PBSIZE \
111 (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
112#define CONFIG_SYS_MAXARGS 16
113#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
114#define CONFIG_SYS_DEVICE_NULLDEV 1
115
116/*
117 * Clock Configuration
118 */
Mike Dunn0dc0e842013-06-18 11:08:50 -0700119#define CONFIG_SYS_CPUSPEED 0x210 /* 416MHz ; N=2,L=16 */
120
121/*
122 * Stack sizes
123 */
124#define CONFIG_STACKSIZE (128*1024) /* regular stack */
125#ifdef CONFIG_USE_IRQ
126#define CONFIG_STACKSIZE_IRQ (4*1024) /* IRQ stack */
127#define CONFIG_STACKSIZE_FIQ (4*1024) /* FIQ stack */
128#endif
129
130/*
131 * DRAM Map
132 */
133#define CONFIG_NR_DRAM_BANKS 1 /* 1 bank of DRAM */
134#define PHYS_SDRAM_1 0xa0000000 /* SDRAM Bank #1 */
135#define PHYS_SDRAM_1_SIZE 0x04000000 /* 64 MB */
136
137#define CONFIG_SYS_DRAM_BASE 0xa0000000
138#define CONFIG_SYS_DRAM_SIZE 0x04000000 /* 64 MB DRAM */
139
140#define CONFIG_SYS_MEMTEST_START 0xa0400000 /* memtest works on */
141#define CONFIG_SYS_MEMTEST_END 0xa0800000 /* 4 ... 8 MB in DRAM */
142#define CONFIG_SYS_LOAD_ADDR CONFIG_SYS_DRAM_BASE
143#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1
144
145/*
146 * GPIO settings
147 */
148#define CONFIG_SYS_GAFR0_L_VAL 0x0E000000
149#define CONFIG_SYS_GAFR0_U_VAL 0xA500001A
150#define CONFIG_SYS_GAFR1_L_VAL 0x60000002
151#define CONFIG_SYS_GAFR1_U_VAL 0xAAA07959
152#define CONFIG_SYS_GAFR2_L_VAL 0x02AAAAAA
153#define CONFIG_SYS_GAFR2_U_VAL 0x41440F08
154#define CONFIG_SYS_GAFR3_L_VAL 0x56AA95FF
155#define CONFIG_SYS_GAFR3_U_VAL 0x00001401
156#define CONFIG_SYS_GPCR0_VAL 0x1FF80400
157#define CONFIG_SYS_GPCR1_VAL 0x03003FC1
158#define CONFIG_SYS_GPCR2_VAL 0x01C1E000
159#define CONFIG_SYS_GPCR3_VAL 0x01C1E000
160#define CONFIG_SYS_GPDR0_VAL 0xCFF90400
161#define CONFIG_SYS_GPDR1_VAL 0xFB22BFC1
162#define CONFIG_SYS_GPDR2_VAL 0x93CDFFDF
163#define CONFIG_SYS_GPDR3_VAL 0x0069FF81
164#define CONFIG_SYS_GPSR0_VAL 0x02000018
165#define CONFIG_SYS_GPSR1_VAL 0x00000000
166#define CONFIG_SYS_GPSR2_VAL 0x000C0000
167#define CONFIG_SYS_GPSR3_VAL 0x00080000
168
169#define CONFIG_SYS_PSSR_VAL 0x30
170
171/*
172 * Clock settings
173 */
174#define CONFIG_SYS_CKEN 0x01ffffff
175#define CONFIG_SYS_CCCR 0x02000210
176
177/*
178 * Memory settings
179 */
180#define CONFIG_SYS_MSC0_VAL 0x7ff844c8
181#define CONFIG_SYS_MSC1_VAL 0x7ff86ab4
182#define CONFIG_SYS_MSC2_VAL 0x7ff87ff8
183#define CONFIG_SYS_MDCNFG_VAL 0x0B880acd
184#define CONFIG_SYS_MDREFR_VAL 0x201fa031
185#define CONFIG_SYS_MDMRS_VAL 0x00320032
186#define CONFIG_SYS_FLYCNFG_VAL 0x00000000
187#define CONFIG_SYS_SXCNFG_VAL 0x40044004
188#define CONFIG_SYS_MECR_VAL 0x00000003
189#define CONFIG_SYS_MCMEM0_VAL 0x0001c391
190#define CONFIG_SYS_MCMEM1_VAL 0x0001c391
191#define CONFIG_SYS_MCATT0_VAL 0x0001c391
192#define CONFIG_SYS_MCATT1_VAL 0x0001c391
193#define CONFIG_SYS_MCIO0_VAL 0x00014611
194#define CONFIG_SYS_MCIO1_VAL 0x0001c391
195
196/*
197 * USB
198 */
199#define CONFIG_USB_DEVICE
200#define CONFIG_USB_TTY
201#define CONFIG_USB_DEV_PULLUP_GPIO 114
202
203/*
204 * SPL
205 */
Mike Dunn0dc0e842013-06-18 11:08:50 -0700206#define CONFIG_SPL_TEXT_BASE 0xa1700000 /* IPL loads SPL here */
207#define CONFIG_SPL_STACK 0x5c040000 /* end of internal SRAM */
208#define CONFIG_SPL_NAND_SUPPORT /* build libnand for spl */
209#define CONFIG_SPL_NAND_DOCG4 /* use lean docg4 nand spl driver */
210#define CONFIG_SPL_LIBGENERIC_SUPPORT /* spl uses memcpy */
211
212/*
213 * NAND
214 */
215#define CONFIG_NAND_DOCG4
216#define CONFIG_SYS_NAND_SELF_INIT
217#define CONFIG_SYS_MAX_NAND_DEVICE 1 /* only one device */
218#define CONFIG_SYS_NAND_BASE 0x00000000 /* mapped to reset vector */
219#define CONFIG_SYS_NAND_PAGE_SIZE 0x200
220#define CONFIG_SYS_NAND_BLOCK_SIZE 0x40000
221#define CONFIG_BITREVERSE /* needed by docg4 driver */
222#define CONFIG_BCH /* needed by docg4 driver */
223
224/*
225 * IMPORTANT NOTE: this is the size of the concatenated spl + u-boot image. It
226 * will be rounded up to the next 64k boundary (the spl flash block size), so it
227 * does not have to be exact, but you must ensure that it is not less than the
228 * actual image size, or it may fail to boot (bricked phone)!
229 * (Tip: reduces to three blocks with lcd and mmc support removed from u-boot.)
230*/
231#define CONFIG_SYS_NAND_U_BOOT_SIZE 0x40000 /* four 64k flash blocks */
232
233/*
234 * This is the byte offset into the flash at which the concatenated spl + u-boot
235 * image is placed. It must be at the start of a block (256k boundary). Blocks
236 * 0 - 5 are write-protected, so we start at block 6.
237 */
238#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x180000 /* block 6 */
239
240/* DRAM address to which u-boot proper is loaded (before it relocates itself) */
241#define CONFIG_SYS_NAND_U_BOOT_DST 0xa0000000
242#define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_NAND_U_BOOT_DST
243
244/* passed to linker by Makefile as arg to -Ttext option */
245#define CONFIG_SYS_TEXT_BASE 0xa0000000
246
247#define CONFIG_SYS_INIT_SP_ADDR 0x5c040000 /* end of internal SRAM */
248
249/*
250 * environment
251 */
252#define CONFIG_ENV_IS_NOWHERE
253#define CONFIG_BUILD_ENVCRC
254#define CONFIG_ENV_SIZE 0x200
255#define CONFIG_SYS_CONSOLE_IS_IN_ENV
256#define CONFIG_EXTRA_ENV_SETTINGS \
257 "stdin=usbtty\0" \
258 "stdout=usbtty\0" \
259 "stderr=usbtty"
260#define CONFIG_BOOTARGS "mtdparts=Msys_Diskonchip_G4:1536k(protected_part)ro,1024k(bootloader_part),-(filesys_part) \
261ip=192.168.11.102:::255.255.255.0:treo:usb0"
262#define CONFIG_BOOTDELAY 3
263
264#if 0 /* example: try 2nd mmc partition, then nand */
265#define CONFIG_BOOTCOMMAND \
266 "mmc rescan; " \
267 "if mmcinfo && ext2load mmc 0:2 0xa1000000 uImage; then " \
268 "bootm 0xa1000000; " \
269 "elif nand read 0xa1000000 0x280000 0x240000; then " \
270 "bootm 0xa1000000; " \
271 "fi; "
272#endif
273
274/* u-boot lives at end of SDRAM, so use start of SDRAM for stand alone apps */
275#define CONFIG_STANDALONE_LOAD_ADDR 0xa0000000
276
277#define CONFIG_SYS_DCACHE_OFF
278#define CONFIG_SYS_ICACHE_OFF
279
280#endif /* __CONFIG_H */