blob: 930699ba6da53adc9080fdc2d421b03dcf6be6a5 [file] [log] [blame]
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +02001/*
2 * Copyright (C) 2007 Freescale Semiconductor, Inc.
3 *
4 * Copyright (C) 2011 Matrix Vision GmbH
5 * Andre Schwarz <andre.schwarz@matrix-vision.de>
6 *
Wolfgang Denk1a459662013-07-08 09:37:19 +02007 * SPDX-License-Identifier: GPL-2.0+
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +02008 */
9
10#ifndef __CONFIG_H
11#define __CONFIG_H
12
13#include <version.h>
14
15/*
16 * High Level Configuration Options
17 */
18#define CONFIG_E300 1
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +020019#define CONFIG_MPC837x 1
20#define CONFIG_MPC8377 1
21
22#define CONFIG_SYS_TEXT_BASE 0xFC000000
23
24#define CONFIG_PCI 1
Gabor Juhos842033e2013-05-30 07:06:12 +000025#define CONFIG_PCI_INDIRECT_BRIDGE 1
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +020026
27#define CONFIG_MASK_AER_AO
28#define CONFIG_DISPLAY_AER_FULL
29
30#define CONFIG_MISC_INIT_R
31
32/*
33 * On-board devices
34 */
35#define CONFIG_TSEC_ENET
36
37/*
38 * System Clock Setup
39 */
40#define CONFIG_83XX_CLKIN 66666667 /* in Hz */
41#define CONFIG_PCIE
42#define CONFIG_83XX_GENERIC_PCIE_REGISTER_HOSES
43#define CONFIG_SYS_CLK_FREQ CONFIG_83XX_CLKIN
44
45/*
46 * Hardware Reset Configuration Word stored in EEPROM.
47 */
48#define CONFIG_SYS_HRCW_LOW 0
49#define CONFIG_SYS_HRCW_HIGH 0
50
51/* Arbiter Configuration Register */
52#define CONFIG_SYS_ACR_PIPE_DEP 3
53#define CONFIG_SYS_ACR_RPTCNT 3
54
55/* System Priority Control Regsiter */
56#define CONFIG_SYS_SPCR_TSECEP 3
57
58/* System Clock Configuration Register */
59#define CONFIG_SYS_SCCR_TSEC1CM 3
60#define CONFIG_SYS_SCCR_TSEC2CM 0
61#define CONFIG_SYS_SCCR_SDHCCM 3
62#define CONFIG_SYS_SCCR_ENCCM 3 /* also clock for I2C-1 */
63#define CONFIG_SYS_SCCR_USBDRCM CONFIG_SYS_SCCR_ENCCM /* must match */
64#define CONFIG_SYS_SCCR_PCIEXP1CM 3
65#define CONFIG_SYS_SCCR_PCIEXP2CM 3
66#define CONFIG_SYS_SCCR_PCICM 1
67#define CONFIG_SYS_SCCR_SATACM 0xFF
68
69/*
70 * System IO Config
71 */
72#define CONFIG_SYS_SICRH 0x087c0000
73#define CONFIG_SYS_SICRL 0x40000000
74
75/*
76 * Output Buffer Impedance
77 */
78#define CONFIG_SYS_OBIR 0x30000000
79
80/*
81 * IMMR new address
82 */
83#define CONFIG_SYS_IMMR 0xE0000000
84
85/*
86 * DDR Setup
87 */
88#define CONFIG_SYS_DDR_BASE 0x00000000
89#define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_BASE
90#define CONFIG_SYS_DDR_SDRAM_BASE CONFIG_SYS_DDR_BASE
91#define CONFIG_SYS_83XX_DDR_USES_CS0
92
93#define CONFIG_SYS_DDRCDR_VALUE (DDRCDR_EN | DDRCDR_PZ_HIZ |\
94 DDRCDR_NZ_HIZ | DDRCDR_ODT |\
95 DDRCDR_Q_DRN)
96
97#define CONFIG_SYS_DDR_SDRAM_CLK_CNTL DDR_SDRAM_CLK_CNTL_CLK_ADJUST_05
98
99#define CONFIG_SYS_DDR_MODE_WEAK
100#define CONFIG_SYS_DDR_WRITE_DATA_DELAY 2
101#define CONFIG_SYS_DDR_CPO 0x1f
102
103/* SPD table located at offset 0x20 in extended adressing ROM
104 * used for HRCW fetch after power-on reset
105 */
106#define CONFIG_SPD_EEPROM
107#define SPD_EEPROM_ADDRESS 0x50
108#define SPD_EEPROM_OFFSET 0x20
109#define SPD_EEPROM_ADDR_LEN 2
110
111/*
112 * The reserved memory
113 */
114#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
115#define CONFIG_SYS_MONITOR_LEN (512*1024)
116#define CONFIG_SYS_MALLOC_LEN (512*1024)
117
118/*
119 * Initial RAM Base Address Setup
120 */
121#define CONFIG_SYS_INIT_RAM_LOCK 1
122#define CONFIG_SYS_INIT_RAM_ADDR 0xE6000000 /* Initial RAM address */
123#define CONFIG_SYS_INIT_RAM_SIZE 0x1000 /* End of used area in RAM */
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200124#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE -\
Masahiro Yamada627b73e2014-02-07 09:23:03 +0900125 GENERATED_GBL_DATA_SIZE)
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200126
127/*
128 * Local Bus Configuration & Clock Setup
129 */
130#define CONFIG_SYS_LCRR_DBYP LCRR_DBYP
131#define CONFIG_SYS_LCRR_CLKDIV LCRR_CLKDIV_8
132#define CONFIG_SYS_LBC_LBCR 0x00000000
133#define CONFIG_FSL_ELBC 1
134
135/*
136 * FLASH on the Local Bus
137 */
138#define CONFIG_SYS_FLASH_CFI
139#define CONFIG_FLASH_CFI_DRIVER
140#define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_16BIT
141
142#define CONFIG_SYS_FLASH_BASE CONFIG_SYS_TEXT_BASE
143#define CONFIG_SYS_FLASH_SIZE 64
144
145#define CONFIG_SYS_LBLAWBAR0_PRELIM CONFIG_SYS_FLASH_BASE
146#define CONFIG_SYS_LBLAWAR0_PRELIM (LBLAWAR_EN | LBLAWAR_64MB)
147
Joe Hershberger7d6a0982011-10-11 23:57:30 -0500148#define CONFIG_SYS_BR0_PRELIM (CONFIG_SYS_FLASH_BASE | BR_PS_16 |\
149 BR_MS_GPCM | BR_V)
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200150#define CONFIG_SYS_OR0_PRELIM (CONFIG_SYS_FLASH_BASE | OR_UPM_XAM |\
151 OR_GPCM_CSNT | OR_GPCM_ACS_DIV2 |\
Joe Hershberger7d6a0982011-10-11 23:57:30 -0500152 OR_GPCM_XACS | OR_GPCM_SCY_15 |\
153 OR_GPCM_TRLX_SET | OR_GPCM_EHTR_SET |\
154 OR_GPCM_EAD)
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200155
156#define CONFIG_SYS_MAX_FLASH_BANKS 1
157#define CONFIG_SYS_MAX_FLASH_SECT 512
158
159#undef CONFIG_SYS_FLASH_CHECKSUM
160#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Flash Erase Timeout (ms) */
161#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */
162
163/*
164 * NAND Flash on the Local Bus
165 */
166#define CONFIG_MTD_NAND_VERIFY_WRITE 1
167#define CONFIG_SYS_MAX_NAND_DEVICE 1
Joe Hershberger7c3a4f92011-10-11 23:57:08 -0500168#define CONFIG_NAND_FSL_ELBC 1
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200169
170#define CONFIG_SYS_NAND_BASE 0xE0600000
Joe Hershberger7d6a0982011-10-11 23:57:30 -0500171#define CONFIG_SYS_BR1_PRELIM (CONFIG_SYS_NAND_BASE | BR_DECC_CHK_GEN |\
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200172 BR_PS_8 | BR_MS_FCM | BR_V)
Joe Hershberger7d6a0982011-10-11 23:57:30 -0500173#define CONFIG_SYS_OR1_PRELIM (OR_AM_32KB | OR_FCM_BCTLD | OR_FCM_CST |\
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200174 OR_FCM_CHT | OR_FCM_SCY_1 | OR_FCM_RST |\
175 OR_FCM_TRLX | OR_FCM_EHTR)
176
177#define CONFIG_SYS_LBLAWBAR1_PRELIM CONFIG_SYS_NAND_BASE
Joe Hershberger7d6a0982011-10-11 23:57:30 -0500178#define CONFIG_SYS_LBLAWAR1_PRELIM (LBLAWAR_EN | LBLAWAR_32KB)
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200179
180/*
181 * Serial Port
182 */
183#define CONFIG_CONS_INDEX 1
184#define CONFIG_SYS_NS16550
185#define CONFIG_SYS_NS16550_SERIAL
186#define CONFIG_SYS_NS16550_REG_SIZE 1
187#define CONFIG_SYS_NS16550_CLK get_bus_freq(0)
188
189#define CONFIG_SYS_BAUDRATE_TABLE \
190 {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200}
191
192#define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_IMMR+0x4500)
193#define CONFIG_SYS_NS16550_COM2 (CONFIG_SYS_IMMR+0x4600)
194
195#define CONFIG_CONSOLE ttyS0
196#define CONFIG_BAUDRATE 115200
197
198/* SERDES */
199#define CONFIG_FSL_SERDES
200#define CONFIG_FSL_SERDES1 0xe3000
201#define CONFIG_FSL_SERDES2 0xe3100
202
203/* Use the HUSH parser */
204#define CONFIG_SYS_HUSH_PARSER
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200205
206/* Pass open firmware flat tree */
207#define CONFIG_OF_LIBFDT 1
208#define CONFIG_OF_BOARD_SETUP 1
209#define CONFIG_OF_STDOUT_VIA_ALIAS 1
210
211/* I2C */
Heiko Schocher00f792e2012-10-24 13:48:22 +0200212#define CONFIG_SYS_I2C
213#define CONFIG_SYS_I2C_FSL
214#define CONFIG_SYS_FSL_I2C_SPEED 400000
215#define CONFIG_SYS_FSL_I2C_SLAVE 0x7F
216#define CONFIG_SYS_FSL_I2C_OFFSET 0x3000
217#define CONFIG_SYS_FSL_I2C2_SPEED 400000
218#define CONFIG_SYS_FSL_I2C2_SLAVE 0x7F
219#define CONFIG_SYS_FSL_I2C2_OFFSET 0x3100
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200220
221/*
222 * General PCI
223 * Addresses are mapped 1-1.
224 */
225#define CONFIG_SYS_PCI_MEM_BASE 0x80000000
226#define CONFIG_SYS_PCI_MEM_PHYS CONFIG_SYS_PCI_MEM_BASE
227#define CONFIG_SYS_PCI_MEM_SIZE (256 << 20)
228#define CONFIG_SYS_PCI_MMIO_BASE 0x90000000
229#define CONFIG_SYS_PCI_MMIO_PHYS CONFIG_SYS_PCI_MMIO_BASE
230#define CONFIG_SYS_PCI_MMIO_SIZE (256 << 20)
231#define CONFIG_SYS_PCI_IO_BASE 0x00000000
232#define CONFIG_SYS_PCI_IO_PHYS 0xE0300000
233#define CONFIG_SYS_PCI_IO_SIZE (1 << 20)
234
235#ifdef CONFIG_PCIE
236#define CONFIG_SYS_PCIE1_BASE 0xA0000000
237#define CONFIG_SYS_PCIE1_CFG_BASE 0xA0000000
238#define CONFIG_SYS_PCIE1_CFG_SIZE (128 << 20)
239#define CONFIG_SYS_PCIE1_MEM_BASE 0xA8000000
240#define CONFIG_SYS_PCIE1_MEM_PHYS 0xA8000000
241#define CONFIG_SYS_PCIE1_MEM_SIZE (256 << 20)
242#define CONFIG_SYS_PCIE1_IO_BASE 0x00000000
243#define CONFIG_SYS_PCIE1_IO_PHYS 0xB8000000
244#define CONFIG_SYS_PCIE1_IO_SIZE (8 << 20)
245
246#define CONFIG_SYS_PCIE2_BASE 0xC0000000
247#define CONFIG_SYS_PCIE2_CFG_BASE 0xC0000000
248#define CONFIG_SYS_PCIE2_CFG_SIZE (128 << 20)
249#define CONFIG_SYS_PCIE2_MEM_BASE 0xC8000000
250#define CONFIG_SYS_PCIE2_MEM_PHYS 0xC8000000
251#define CONFIG_SYS_PCIE2_MEM_SIZE (256 << 20)
252#define CONFIG_SYS_PCIE2_IO_BASE 0x00000000
253#define CONFIG_SYS_PCIE2_IO_PHYS 0xD8000000
254#define CONFIG_SYS_PCIE2_IO_SIZE (8 << 20)
255#endif
256
257#define CONFIG_PCI_PNP
258#define CONFIG_PCI_SCAN_SHOW
259#define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x1957 /* Freescale */
260
261/*
262 * TSEC
263 */
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200264#define CONFIG_GMII /* MII PHY management */
265#define CONFIG_SYS_VSC8601_SKEWFIX
266#define CONFIG_SYS_VSC8601_SKEW_TX 3
267#define CONFIG_SYS_VSC8601_SKEW_RX 3
268
269#define CONFIG_TSEC1
270#define CONFIG_HAS_ETH0
271#define CONFIG_TSEC1_NAME "TSEC0"
272#define CONFIG_SYS_TSEC1_OFFSET 0x24000
273#define TSEC1_PHY_ADDR 0x10
274#define TSEC1_FLAGS (TSEC_GIGABIT | TSEC_REDUCED)
275#define TSEC1_PHYIDX 0
276
277#define CONFIG_ETHPRIME "TSEC0"
278#define CONFIG_HAS_ETH0
279
280/*
281 * SATA
282 */
283#define CONFIG_LIBATA
284#define CONFIG_FSL_SATA
285
286#define CONFIG_SYS_SATA_MAX_DEVICE 2
287#define CONFIG_SATA1
288#define CONFIG_SYS_SATA1_OFFSET 0x18000
289#define CONFIG_SYS_SATA1 (CONFIG_SYS_IMMR + CONFIG_SYS_SATA1_OFFSET)
290#define CONFIG_SYS_SATA1_FLAGS FLAGS_DMA
291#define CONFIG_SATA2
292#define CONFIG_SYS_SATA2_OFFSET 0x19000
293#define CONFIG_SYS_SATA2 (CONFIG_SYS_IMMR + CONFIG_SYS_SATA2_OFFSET)
294#define CONFIG_SYS_SATA2_FLAGS FLAGS_DMA
295
296#define CONFIG_LBA48
297#define CONFIG_CMD_SATA
298#define CONFIG_DOS_PARTITION
299#define CONFIG_CMD_EXT2
300
301/*
302 * BOOTP options
303 */
304#define CONFIG_BOOTP_BOOTFILESIZE
305#define CONFIG_BOOTP_BOOTPATH
306#define CONFIG_BOOTP_GATEWAY
307#define CONFIG_BOOTP_HOSTNAME
308#define CONFIG_BOOTP_VENDOREX
309#define CONFIG_BOOTP_SUBNETMASK
310#define CONFIG_BOOTP_DNS
311#define CONFIG_BOOTP_DNS2
312#define CONFIG_BOOTP_NTPSERVER
313#define CONFIG_BOOTP_RANDOM_DELAY
314#define CONFIG_BOOTP_SEND_HOSTNAME
315
316/*
317 * Command line configuration.
318 */
319#include <config_cmd_default.h>
320
321#define CONFIG_CMD_ASKENV
322#define CONFIG_CMD_NAND
323#define CONFIG_CMD_PING
324#define CONFIG_CMD_EEPROM
325#define CONFIG_CMD_I2C
326#define CONFIG_CMD_MII
327#define CONFIG_CMD_PCI
328#define CONFIG_CMD_USB
329#define CONFIG_CMD_SPI
330#define CONFIG_CMD_DHCP
331#define CONFIG_CMD_UBI
332#define CONFIG_CMD_UBIFS
333#define CONFIG_CMD_MTDPARTS
334#define CONFIG_CMD_SATA
335
336#define CONFIG_CMD_EXT2
337#define CONFIG_CMD_FAT
338#define CONFIG_CMD_JFFS2
339
340#define CONFIG_RBTREE
341#define CONFIG_LZO
342
343#define CONFIG_MTD_DEVICE
344#define CONFIG_MTD_PARTITIONS
345
346#define CONFIG_FLASH_CFI_MTD
347#define MTDIDS_DEFAULT "nor0=NOR,nand0=NAND"
348#define MTDPARTS_DEFAULT "mtdparts=NOR:1M(u-boot),2M(FPGA);NAND:-(root)"
349
350#define CONFIG_FIT
351#define CONFIG_FIT_VERBOSE 1
352
353#define CONFIG_CMDLINE_EDITING 1
354#define CONFIG_AUTO_COMPLETE
355
356/*
357 * Miscellaneous configurable options
358 */
359#define CONFIG_SYS_LONGHELP
360#define CONFIG_SYS_LOAD_ADDR 0x2000000
361#define CONFIG_LOADADDR 0x4000000
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200362#define CONFIG_SYS_CBSIZE 256
363
364#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
365#define CONFIG_SYS_MAXARGS 16
366#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200367
368#define CONFIG_LOADS_ECHO 1
369#define CONFIG_SYS_LOADS_BAUD_CHANGE 1
370
371#define CONFIG_SYS_MEMTEST_START (60<<20)
372#define CONFIG_SYS_MEMTEST_END (70<<20)
373
374/*
375 * For booting Linux, the board info and command line data
376 * have to be in the first 256 MB of memory, since this is
377 * the maximum mapped by the Linux kernel during initialization.
378 */
379#define CONFIG_SYS_BOOTMAPSZ (256 << 20) /* Initial Memory map for Linux */
380
381/*
382 * Core HID Setup
383 */
384#define CONFIG_SYS_HID0_INIT 0x000000000
385#define CONFIG_SYS_HID0_FINAL (HID0_ENABLE_MACHINE_CHECK | \
386 HID0_ENABLE_INSTRUCTION_CACHE)
387#define CONFIG_SYS_HID2 HID2_HBE
388
389/*
390 * MMU Setup
391 */
392#define CONFIG_HIGH_BATS 1
393
394/* DDR: cache cacheable */
395#define CONFIG_SYS_SDRAM CONFIG_SYS_SDRAM_BASE
396
Joe Hershberger72cd4082011-10-11 23:57:28 -0500397#define CONFIG_SYS_IBAT0L (CONFIG_SYS_SDRAM | BATL_PP_RW |\
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200398 BATL_MEMCOHERENCE)
399#define CONFIG_SYS_IBAT0U (CONFIG_SYS_SDRAM | BATU_BL_256M | BATU_VS |\
400 BATU_VP)
401#define CONFIG_SYS_DBAT0L CONFIG_SYS_IBAT0L
402#define CONFIG_SYS_DBAT0U CONFIG_SYS_IBAT0U
403
404/* unused */
405#define CONFIG_SYS_IBAT1L (0)
406#define CONFIG_SYS_IBAT1U (0)
407#define CONFIG_SYS_DBAT1L CONFIG_SYS_IBAT1L
408#define CONFIG_SYS_DBAT1U CONFIG_SYS_IBAT1U
409
410/* IMMRBAR, PCI IO and NAND: cache-inhibit and guarded */
Joe Hershberger72cd4082011-10-11 23:57:28 -0500411#define CONFIG_SYS_IBAT2L (CONFIG_SYS_IMMR | BATL_PP_RW |\
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200412 BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
413#define CONFIG_SYS_IBAT2U (CONFIG_SYS_IMMR | BATU_BL_8M | BATU_VS |\
414 BATU_VP)
415#define CONFIG_SYS_DBAT2L CONFIG_SYS_IBAT2L
416#define CONFIG_SYS_DBAT2U CONFIG_SYS_IBAT2U
417
418/* unused */
419#define CONFIG_SYS_IBAT3L (0)
420#define CONFIG_SYS_IBAT3U (0)
421#define CONFIG_SYS_DBAT3L CONFIG_SYS_IBAT3L
422#define CONFIG_SYS_DBAT3U CONFIG_SYS_IBAT3U
423
424/* FLASH: icache cacheable, but dcache-inhibit and guarded */
Joe Hershberger72cd4082011-10-11 23:57:28 -0500425#define CONFIG_SYS_IBAT4L (CONFIG_SYS_FLASH_BASE | BATL_PP_RW |\
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200426 BATL_MEMCOHERENCE)
427#define CONFIG_SYS_IBAT4U (CONFIG_SYS_FLASH_BASE | BATU_BL_64M |\
428 BATU_VS | BATU_VP)
Joe Hershberger72cd4082011-10-11 23:57:28 -0500429#define CONFIG_SYS_DBAT4L (CONFIG_SYS_FLASH_BASE | BATL_PP_RW | \
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200430 BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
431#define CONFIG_SYS_DBAT4U CONFIG_SYS_IBAT4U
432
433/* Stack in dcache: cacheable, no memory coherence */
Joe Hershberger72cd4082011-10-11 23:57:28 -0500434#define CONFIG_SYS_IBAT5L (CONFIG_SYS_INIT_RAM_ADDR | BATL_PP_RW)
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200435#define CONFIG_SYS_IBAT5U (CONFIG_SYS_INIT_RAM_ADDR | BATU_BL_128K |\
436 BATU_VS | BATU_VP)
437#define CONFIG_SYS_DBAT5L CONFIG_SYS_IBAT5L
438#define CONFIG_SYS_DBAT5U CONFIG_SYS_IBAT5U
439
440/* PCI MEM space: cacheable */
Joe Hershberger72cd4082011-10-11 23:57:28 -0500441#define CONFIG_SYS_IBAT6L (CONFIG_SYS_PCI_MEM_PHYS | BATL_PP_RW |\
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200442 BATL_MEMCOHERENCE)
443#define CONFIG_SYS_IBAT6U (CONFIG_SYS_PCI_MEM_PHYS | BATU_BL_256M |\
444 BATU_VS | BATU_VP)
445#define CONFIG_SYS_DBAT6L CONFIG_SYS_IBAT6L
446#define CONFIG_SYS_DBAT6U CONFIG_SYS_IBAT6U
447
448/* PCI MMIO space: cache-inhibit and guarded */
Joe Hershberger72cd4082011-10-11 23:57:28 -0500449#define CONFIG_SYS_IBAT7L (CONFIG_SYS_PCI_MMIO_PHYS | BATL_PP_RW | \
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200450 BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
451#define CONFIG_SYS_IBAT7U (CONFIG_SYS_PCI_MMIO_PHYS | BATU_BL_256M |\
452 BATU_VS | BATU_VP)
453#define CONFIG_SYS_DBAT7L CONFIG_SYS_IBAT7L
454#define CONFIG_SYS_DBAT7U CONFIG_SYS_IBAT7U
455
456/*
457 * I2C EEPROM settings
458 */
459#define CONFIG_SYS_I2C_EEPROM_ADDR 0x50
460#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 6
461#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10
Joe Hershberger7c3a4f92011-10-11 23:57:08 -0500462#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200463#define CONFIG_SYS_EEPROM_SIZE 0x4000
464
465/*
466 * Environment Configuration
467 */
468#define CONFIG_SYS_FLASH_PROTECTION
469#define CONFIG_ENV_OVERWRITE
470#define CONFIG_ENV_IS_IN_FLASH 1
471#define CONFIG_ENV_ADDR 0xFFD00000
472#define CONFIG_ENV_SECT_SIZE 0x20000
473#define CONFIG_ENV_SIZE CONFIG_ENV_SECT_SIZE
474
475/*
476 * Video
477 */
478#define CONFIG_VIDEO
479#define CONFIG_VIDEO_SM501_PCI
480#define VIDEO_FB_LITTLE_ENDIAN
481#define CONFIG_CMD_BMP
482#define CONFIG_VIDEO_SM501
483#define CONFIG_VIDEO_SM501_32BPP
484#define CONFIG_VIDEO_SM501_FBMEM_OFFSET 0x10000
485#define CONFIG_CFB_CONSOLE
486#define CONFIG_VIDEO_LOGO
487#define CONFIG_VIDEO_BMP_LOGO
488#define CONFIG_VGA_AS_SINGLE_DEVICE
489#define CONFIG_SPLASH_SCREEN
490#define CONFIG_SYS_CONSOLE_IS_IN_ENV
491#define CONFIG_VIDEO_BMP_GZIP
492#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (2 << 20)
493
494/*
495 * SPI
496 */
497#define CONFIG_MPC8XXX_SPI
498
499/*
500 * USB
501 */
502#define CONFIG_SYS_USB_HOST
503#define CONFIG_USB_EHCI
504#define CONFIG_USB_EHCI_FSL
505#define CONFIG_HAS_FSL_DR_USB
506#define CONFIG_EHCI_HCD_INIT_AFTER_RESET
507
508#define CONFIG_USB_STORAGE
509#define CONFIG_USB_KEYBOARD
510/*
511 *
512 */
513#define CONFIG_BOOTDELAY 5
514#define CONFIG_AUTOBOOT_KEYED
515#define CONFIG_AUTOBOOT_STOP_STR "s"
516#define CONFIG_ZERO_BOOTDELAY_CHECK
517#define CONFIG_RESET_TO_RETRY 1000
518
Joe Hershberger7c3a4f92011-10-11 23:57:08 -0500519#define MV_CI "MergerBox"
520#define MV_VCI "MergerBox"
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200521#define MV_FPGA_DATA 0xfc100000
522#define MV_FPGA_SIZE 0x00200000
523
524#define CONFIG_SHOW_BOOT_PROGRESS 1
525
526#define MV_KERNEL_ADDR_RAM 0x02800000
527#define MV_DTB_ADDR_RAM 0x00600000
528#define MV_INITRD_ADDR_RAM 0x01000000
529#define MV_FITADDR 0xfc300000
530#define MV_SPLAH_ADDR 0xffe00000
531
532#define CONFIG_BOOTCOMMAND "run i2c_init;if test ${boot_sqfs} -eq 1;"\
533 "then; run fitboot;else;run ubiboot;fi;"
534#define CONFIG_BOOTARGS "console=ttyS0,115200n8"
535
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200536#define CONFIG_EXTRA_ENV_SETTINGS \
537 "console_nr=0\0"\
538 "stdin=serial\0"\
539 "stdout=serial\0"\
540 "stderr=serial\0"\
541 "boot_sqfs=1\0"\
542 "usb_dr_mode=host\0"\
543 "bootfile=MergerBox.fit\0"\
Marek Vasut5368c552012-09-23 17:41:24 +0200544 "baudrate=" __stringify(CONFIG_BAUDRATE) "\0"\
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200545 "fpga=0\0"\
Marek Vasut5368c552012-09-23 17:41:24 +0200546 "fpgadata=" __stringify(MV_FPGA_DATA) "\0"\
547 "fpgadatasize=" __stringify(MV_FPGA_SIZE) "\0"\
548 "mv_kernel_ram=" __stringify(MV_KERNEL_ADDR_RAM) "\0"\
549 "mv_initrd_ram=" __stringify(MV_INITRD_ADDR_RAM) "\0"\
550 "mv_dtb_ram=" __stringify(MV_DTB_ADDR_RAM) "\0"\
551 "uboota=" __stringify(CONFIG_SYS_TEXT_BASE) "\0"\
552 "fitaddr=" __stringify(MV_FITADDR) "\0"\
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200553 "mv_version=" U_BOOT_VERSION "\0"\
554 "mtdids=" MTDIDS_DEFAULT "\0"\
555 "mtdparts=" MTDPARTS_DEFAULT "\0"\
Joe Hershberger7c3a4f92011-10-11 23:57:08 -0500556 "dhcp_client_id=" MV_CI "\0"\
557 "dhcp_vendor-class-identifier=" MV_VCI "\0"\
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200558 "upd_uboot=dhcp;tftp bdi2000/u-boot-mergerbox-xp.bin;"\
559 "protect off all;erase $uboota +0xC0000;"\
560 "cp.b $loadaddr $uboota $filesize\0"\
561 "upd_fpga=dhcp;tftp MergerBox.rbf;erase $fpgadata +$fpgadatasize;"\
562 "cp.b $loadaddr $fpgadata $filesize\0"\
563 "upd_fit=dhcp;tftp MergerBox.fit;erase $fitaddr +0x1000000;"\
564 "cp.b $loadaddr $fitaddr $filesize\0"\
565 "addsqshrfs=set bootargs $bootargs root=/dev/ram ro "\
566 "rootfstype=squashfs\0"\
567 "addubirfs=set bootargs $bootargs ubi.mtd=9 root=ubi0:rootfs rw "\
568 "rootfstype=ubifs\0"\
569 "addusbrfs=set bootargs $bootargs root=/dev/sda1 rw "\
570 "rootfstype=ext3 usb-storage.delay_use=1 rootdelay=3\0"\
571 "netusbboot=bootp;run fpganetload fitnetload addusbrfs doboot\0"\
572 "netubiboot= bootp;run fpganetload fitnetload addubirfs doboot\0"\
573 "ubiboot=run fitprep addubirfs;set mv_initrd_ram -;run doboot\0"\
574 "doboot=bootm $mv_kernel_ram $mv_initrd_ram $mv_dtb_ram\0"\
575 "fitprep=imxtract $fitaddr kernel $mv_kernel_ram;"\
576 "imxtract $fitaddr ramdisk $mv_initrd_ram;"\
577 "imxtract $fitaddr fdt $mv_dtb_ram\0"\
578 "fdtprep=fdt addr $mv_dtb_ram;fdt boardsetup\0"\
579 "fitboot=run fitprep fdtprep addsqshrfs doboot\0"\
580 "i2c_init=run i2c_speed init_sdi_tx i2c_init_pll\0"\
581 "i2c_init_pll=i2c mw 65 9 2;i2c mw 65 9 0;i2c mw 65 5 2b;"\
582 "i2c mw 65 7 f;i2c mw 65 8 f;i2c mw 65 11 40;i2c mw 65 12 40;"\
583 "i2c mw 65 13 40; i2c mw 65 14 40; i2c mw 65 a 0\0"\
584 "i2c_speed=i2c dev 0;i2c speed 300000;i2c dev 1;i2c speed 120000\0"\
585 "init_sdi_tx=i2c mw 21 6 0;i2c mw 21 2 0;i2c mw 21 3 0;sleep 1;"\
586 "i2c mw 21 2 ff;i2c mw 21 3 3c\0"\
Marek Vasut5368c552012-09-23 17:41:24 +0200587 "splashimage=" __stringify(MV_SPLAH_ADDR) "\0"\
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200588 ""
589
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200590/*
591 * FPGA
592 */
593#define CONFIG_FPGA_COUNT 1
Michal Simekb03b25c2013-05-01 18:05:56 +0200594#define CONFIG_FPGA
Andre Schwarz7fb3e7a2011-04-14 15:11:44 +0200595#define CONFIG_FPGA_ALTERA
596#define CONFIG_FPGA_CYCLON2
597
598#endif