blob: e569e63741f3159e17270441e03ec5c7c204dbc4 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Dave Liub19ecd32007-09-18 12:37:57 +08002/*
3 * Copyright (C) 2007 Freescale Semiconductor, Inc.
4 * Dave Liu <daveliu@freescale.com>
Dave Liub19ecd32007-09-18 12:37:57 +08005 */
6
7#ifndef __CONFIG_H
8#define __CONFIG_H
9
Dave Liub19ecd32007-09-18 12:37:57 +080010/*
11 * High Level Configuration Options
12 */
13#define CONFIG_E300 1 /* E300 family */
Dave Liub19ecd32007-09-18 12:37:57 +080014
Dave Liued5a0982008-03-04 16:59:22 +080015/* Arbiter Configuration Register */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +020016#define CONFIG_SYS_ACR_PIPE_DEP 3 /* Arbiter pipeline depth is 4 */
Joe Hershberger0f193402011-10-11 23:57:18 -050017#define CONFIG_SYS_ACR_RPTCNT 3 /* Arbiter repeat count is 4 */
Dave Liued5a0982008-03-04 16:59:22 +080018
19/* System Priority Control Register */
Joe Hershberger0f193402011-10-11 23:57:18 -050020#define CONFIG_SYS_SPCR_TSECEP 3 /* eTSEC1/2 emergency has highest priority */
Dave Liued5a0982008-03-04 16:59:22 +080021
Dave Liub19ecd32007-09-18 12:37:57 +080022/*
Dave Liued5a0982008-03-04 16:59:22 +080023 * IP blocks clock configuration
Dave Liub19ecd32007-09-18 12:37:57 +080024 */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +020025#define CONFIG_SYS_SCCR_TSEC1CM 1 /* CSB:eTSEC1 = 1:1 */
26#define CONFIG_SYS_SCCR_TSEC2CM 1 /* CSB:eTSEC2 = 1:1 */
Joe Hershberger0f193402011-10-11 23:57:18 -050027#define CONFIG_SYS_SCCR_SATACM SCCR_SATACM_2 /* CSB:SATA[0:3] = 2:1 */
Dave Liub19ecd32007-09-18 12:37:57 +080028
29/*
30 * System IO Config
31 */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +020032#define CONFIG_SYS_SICRH 0x00000000
33#define CONFIG_SYS_SICRL 0x00000000
Dave Liub19ecd32007-09-18 12:37:57 +080034
35/*
36 * Output Buffer Impedance
37 */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +020038#define CONFIG_SYS_OBIR 0x31100000
Dave Liub19ecd32007-09-18 12:37:57 +080039
Anton Vorontsov5cd61522009-06-10 00:25:31 +040040#define CONFIG_HWCONFIG
Dave Liub19ecd32007-09-18 12:37:57 +080041
42/*
43 * IMMR new address
44 */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +020045#define CONFIG_SYS_IMMR 0xE0000000
Dave Liub19ecd32007-09-18 12:37:57 +080046
47/*
48 * DDR Setup
49 */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +020050#define CONFIG_SYS_DDR_BASE 0x00000000 /* DDR is system memory */
51#define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_BASE
52#define CONFIG_SYS_DDR_SDRAM_BASE CONFIG_SYS_DDR_BASE
53#define CONFIG_SYS_DDR_SDRAM_CLK_CNTL DDR_SDRAM_CLK_CNTL_CLK_ADJUST_05
54#define CONFIG_SYS_83XX_DDR_USES_CS0
Joe Hershbergercc03b802011-10-11 23:57:29 -050055#define CONFIG_SYS_DDRCDR_VALUE (DDRCDR_DHC_EN \
56 | DDRCDR_ODT \
57 | DDRCDR_Q_DRN)
58 /* 0x80080001 */ /* ODT 150ohm on SoC */
Dave Liub19ecd32007-09-18 12:37:57 +080059
60#undef CONFIG_DDR_ECC /* support DDR ECC function */
61#undef CONFIG_DDR_ECC_CMD /* Use DDR ECC user commands */
62
63#define CONFIG_SPD_EEPROM /* Use SPD EEPROM for DDR setup */
64#define CONFIG_NEVER_ASSERT_ODT_TO_CPU /* Never assert ODT to internal IOs */
65
66#if defined(CONFIG_SPD_EEPROM)
67#define SPD_EEPROM_ADDRESS 0x51 /* I2C address of DDR SODIMM SPD */
68#else
69/*
70 * Manually set up DDR parameters
Dave Liu925c8c82008-01-10 23:07:23 +080071 * WHITE ELECTRONIC DESIGNS - W3HG64M72EEU403PD4 SO-DIMM
Dave Liub19ecd32007-09-18 12:37:57 +080072 * consist of nine chips from SAMSUNG K4T51083QE-ZC(L)D5
73 */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +020074#define CONFIG_SYS_DDR_SIZE 512 /* MB */
75#define CONFIG_SYS_DDR_CS0_BNDS 0x0000001f
Joe Hershberger0f193402011-10-11 23:57:18 -050076#define CONFIG_SYS_DDR_CS0_CONFIG (CSCONFIG_EN \
Joe Hershbergercc03b802011-10-11 23:57:29 -050077 | CSCONFIG_ODT_RD_NEVER /* ODT_RD to none */ \
78 | CSCONFIG_ODT_WR_ONLY_CURRENT /* ODT_WR to CSn */ \
79 | CSCONFIG_ROW_BIT_14 \
80 | CSCONFIG_COL_BIT_10)
81 /* 0x80010202 */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +020082#define CONFIG_SYS_DDR_TIMING_3 0x00000000
Joe Hershberger0f193402011-10-11 23:57:18 -050083#define CONFIG_SYS_DDR_TIMING_0 ((0 << TIMING_CFG0_RWT_SHIFT) \
84 | (0 << TIMING_CFG0_WRT_SHIFT) \
85 | (0 << TIMING_CFG0_RRT_SHIFT) \
86 | (0 << TIMING_CFG0_WWT_SHIFT) \
87 | (6 << TIMING_CFG0_ACT_PD_EXIT_SHIFT) \
88 | (2 << TIMING_CFG0_PRE_PD_EXIT_SHIFT) \
89 | (8 << TIMING_CFG0_ODT_PD_EXIT_SHIFT) \
90 | (2 << TIMING_CFG0_MRS_CYC_SHIFT))
Dave Liub19ecd32007-09-18 12:37:57 +080091 /* 0x00620802 */
Joe Hershberger0f193402011-10-11 23:57:18 -050092#define CONFIG_SYS_DDR_TIMING_1 ((3 << TIMING_CFG1_PRETOACT_SHIFT) \
93 | (9 << TIMING_CFG1_ACTTOPRE_SHIFT) \
94 | (3 << TIMING_CFG1_ACTTORW_SHIFT) \
95 | (5 << TIMING_CFG1_CASLAT_SHIFT) \
96 | (13 << TIMING_CFG1_REFREC_SHIFT) \
97 | (3 << TIMING_CFG1_WRREC_SHIFT) \
98 | (2 << TIMING_CFG1_ACTTOACT_SHIFT) \
99 | (2 << TIMING_CFG1_WRTORD_SHIFT))
Dave Liub19ecd32007-09-18 12:37:57 +0800100 /* 0x3935d322 */
Joe Hershberger0f193402011-10-11 23:57:18 -0500101#define CONFIG_SYS_DDR_TIMING_2 ((1 << TIMING_CFG2_ADD_LAT_SHIFT) \
102 | (6 << TIMING_CFG2_CPO_SHIFT) \
103 | (2 << TIMING_CFG2_WR_LAT_DELAY_SHIFT) \
104 | (4 << TIMING_CFG2_RD_TO_PRE_SHIFT) \
105 | (2 << TIMING_CFG2_WR_DATA_DELAY_SHIFT) \
106 | (3 << TIMING_CFG2_CKE_PLS_SHIFT) \
107 | (8 << TIMING_CFG2_FOUR_ACT_SHIFT))
Dave Liu925c8c82008-01-10 23:07:23 +0800108 /* 0x131088c8 */
Joe Hershberger0f193402011-10-11 23:57:18 -0500109#define CONFIG_SYS_DDR_INTERVAL ((0x03E0 << SDRAM_INTERVAL_REFINT_SHIFT) \
110 | (0x0100 << SDRAM_INTERVAL_BSTOPRE_SHIFT))
Dave Liub19ecd32007-09-18 12:37:57 +0800111 /* 0x03E00100 */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200112#define CONFIG_SYS_DDR_SDRAM_CFG 0x43000000
113#define CONFIG_SYS_DDR_SDRAM_CFG2 0x00001000 /* 1 posted refresh */
Joe Hershberger0f193402011-10-11 23:57:18 -0500114#define CONFIG_SYS_DDR_MODE ((0x0448 << SDRAM_MODE_ESD_SHIFT) \
115 | (0x1432 << SDRAM_MODE_SD_SHIFT))
Dave Liu925c8c82008-01-10 23:07:23 +0800116 /* ODT 150ohm CL=3, AL=1 on SDRAM */
Joe Hershberger0f193402011-10-11 23:57:18 -0500117#define CONFIG_SYS_DDR_MODE2 0x00000000
Dave Liub19ecd32007-09-18 12:37:57 +0800118#endif
119
120/*
121 * Memory test
122 */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200123#undef CONFIG_SYS_DRAM_TEST /* memory test, takes time */
124#define CONFIG_SYS_MEMTEST_START 0x00040000 /* memtest region */
125#define CONFIG_SYS_MEMTEST_END 0x00140000
Dave Liub19ecd32007-09-18 12:37:57 +0800126
127/*
128 * The reserved memory
129 */
Wolfgang Denk0708bc62010-10-07 21:51:12 +0200130#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */
Dave Liub19ecd32007-09-18 12:37:57 +0800131
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200132#if (CONFIG_SYS_MONITOR_BASE < CONFIG_SYS_FLASH_BASE)
133#define CONFIG_SYS_RAMBOOT
Dave Liub19ecd32007-09-18 12:37:57 +0800134#else
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200135#undef CONFIG_SYS_RAMBOOT
Dave Liub19ecd32007-09-18 12:37:57 +0800136#endif
137
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200138/* CONFIG_SYS_MONITOR_LEN must be a multiple of CONFIG_ENV_SECT_SIZE */
Kevin Hao349a0152016-07-08 11:25:14 +0800139#define CONFIG_SYS_MONITOR_LEN (512 * 1024) /* Reserve 512 kB for Mon */
Joe Hershberger0f193402011-10-11 23:57:18 -0500140#define CONFIG_SYS_MALLOC_LEN (512 * 1024) /* Reserved for malloc */
Dave Liub19ecd32007-09-18 12:37:57 +0800141
142/*
143 * Initial RAM Base Address Setup
144 */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200145#define CONFIG_SYS_INIT_RAM_LOCK 1
146#define CONFIG_SYS_INIT_RAM_ADDR 0xE6000000 /* Initial RAM address */
Wolfgang Denk1c2e98e2010-10-26 13:32:32 +0200147#define CONFIG_SYS_INIT_RAM_SIZE 0x1000 /* Size of used area in RAM */
Joe Hershberger0f193402011-10-11 23:57:18 -0500148#define CONFIG_SYS_GBL_DATA_OFFSET \
149 (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
Dave Liub19ecd32007-09-18 12:37:57 +0800150
151/*
152 * Local Bus Configuration & Clock Setup
153 */
Kim Phillips328040a2009-09-25 18:19:44 -0500154#define CONFIG_SYS_LCRR_DBYP LCRR_DBYP
155#define CONFIG_SYS_LCRR_CLKDIV LCRR_CLKDIV_8
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200156#define CONFIG_SYS_LBC_LBCR 0x00000000
Becky Brucedfe6e232010-06-17 11:37:18 -0500157#define CONFIG_FSL_ELBC 1
Dave Liub19ecd32007-09-18 12:37:57 +0800158
159/*
160 * FLASH on the Local Bus
161 */
Joe Hershberger0f193402011-10-11 23:57:18 -0500162#define CONFIG_SYS_FLASH_BASE 0xFE000000 /* FLASH base address */
163#define CONFIG_SYS_FLASH_SIZE 32 /* max FLASH size is 32M */
Dave Liub19ecd32007-09-18 12:37:57 +0800164
Mario Sixc1e29d92019-01-21 09:18:01 +0100165/* FLASH */
166#define CONFIG_SYS_BR0_PRELIM (0xFE000000 | BR_PS_16 | BR_MS_GPCM | BR_V)
167#define CONFIG_SYS_OR0_PRELIM (OR_AM_32MB | OR_UPM_XAM | OR_GPCM_CSNT | OR_GPCM_ACS_DIV2 | OR_GPCM_XACS | OR_GPCM_SCY_15 | OR_GPCM_TRLX_SET | OR_GPCM_EHTR_SET | OR_GPCM_EAD)
Dave Liub19ecd32007-09-18 12:37:57 +0800168
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200169#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* number of banks */
170#define CONFIG_SYS_MAX_FLASH_SECT 256 /* max sectors per device */
Dave Liub19ecd32007-09-18 12:37:57 +0800171
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200172#undef CONFIG_SYS_FLASH_CHECKSUM
173#define CONFIG_SYS_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */
174#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */
Dave Liub19ecd32007-09-18 12:37:57 +0800175
176/*
177 * BCSR on the Local Bus
178 */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200179#define CONFIG_SYS_BCSR 0xF8000000
Joe Hershberger0f193402011-10-11 23:57:18 -0500180 /* Access window base at BCSR base */
Mario Sixc1e29d92019-01-21 09:18:01 +0100181/* BCSR */
182#define CONFIG_SYS_BR1_PRELIM (0xF8000000 | BR_PS_8 | BR_MS_GPCM | BR_V)
183#define CONFIG_SYS_OR1_PRELIM (OR_AM_32KB | OR_GPCM_XAM | OR_GPCM_CSNT | OR_GPCM_XACS | OR_GPCM_SCY_15 | OR_GPCM_TRLX_SET | OR_GPCM_EHTR_SET | OR_GPCM_EAD)
Dave Liub19ecd32007-09-18 12:37:57 +0800184
185/*
186 * NAND Flash on the Local Bus
187 */
Anton Vorontsovc7538792008-10-08 20:52:54 +0400188#define CONFIG_SYS_MAX_NAND_DEVICE 1
Joe Hershberger0f193402011-10-11 23:57:18 -0500189#define CONFIG_NAND_FSL_ELBC 1
Anton Vorontsovc7538792008-10-08 20:52:54 +0400190
Joe Hershbergerf05b9332011-10-11 23:57:30 -0500191#define CONFIG_SYS_NAND_BASE 0xE0600000
Mario Sixc1e29d92019-01-21 09:18:01 +0100192
193/* NAND */
194#define CONFIG_SYS_BR3_PRELIM (0xE0600000 | BR_DECC_CHK_GEN | BR_PS_8 | BR_MS_FCM | BR_V)
195#define CONFIG_SYS_OR3_PRELIM (OR_AM_32KB | OR_FCM_BCTLD | OR_FCM_CST | OR_FCM_CHT | OR_FCM_SCY_1 | OR_FCM_RST | OR_FCM_TRLX | OR_FCM_EHTR)
Dave Liub19ecd32007-09-18 12:37:57 +0800196
Dave Liub19ecd32007-09-18 12:37:57 +0800197/*
198 * Serial Port
199 */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200200#define CONFIG_SYS_NS16550_SERIAL
201#define CONFIG_SYS_NS16550_REG_SIZE 1
202#define CONFIG_SYS_NS16550_CLK get_bus_freq(0)
Dave Liub19ecd32007-09-18 12:37:57 +0800203
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200204#define CONFIG_SYS_BAUDRATE_TABLE \
Joe Hershberger0f193402011-10-11 23:57:18 -0500205 {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200}
Dave Liub19ecd32007-09-18 12:37:57 +0800206
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200207#define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_IMMR+0x4500)
208#define CONFIG_SYS_NS16550_COM2 (CONFIG_SYS_IMMR+0x4600)
Dave Liub19ecd32007-09-18 12:37:57 +0800209
Dave Liub19ecd32007-09-18 12:37:57 +0800210/* I2C */
Heiko Schocherf2850742012-10-24 13:48:22 +0200211#define CONFIG_SYS_I2C
212#define CONFIG_SYS_I2C_FSL
213#define CONFIG_SYS_FSL_I2C_SPEED 400000
214#define CONFIG_SYS_FSL_I2C_SLAVE 0x7F
215#define CONFIG_SYS_FSL_I2C_OFFSET 0x3000
216#define CONFIG_SYS_I2C_NOPROBES { {0, 0x51} }
Dave Liub19ecd32007-09-18 12:37:57 +0800217
218/*
219 * Config on-board RTC
220 */
221#define CONFIG_RTC_DS1374 /* use ds1374 rtc via i2c */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200222#define CONFIG_SYS_I2C_RTC_ADDR 0x68 /* at address 0x68 */
Dave Liub19ecd32007-09-18 12:37:57 +0800223
224/*
225 * General PCI
226 * Addresses are mapped 1-1.
227 */
Joe Hershberger0f193402011-10-11 23:57:18 -0500228#define CONFIG_SYS_PCI_MEM_BASE 0x80000000
229#define CONFIG_SYS_PCI_MEM_PHYS CONFIG_SYS_PCI_MEM_BASE
230#define CONFIG_SYS_PCI_MEM_SIZE 0x10000000 /* 256M */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200231#define CONFIG_SYS_PCI_MMIO_BASE 0x90000000
232#define CONFIG_SYS_PCI_MMIO_PHYS CONFIG_SYS_PCI_MMIO_BASE
233#define CONFIG_SYS_PCI_MMIO_SIZE 0x10000000 /* 256M */
234#define CONFIG_SYS_PCI_IO_BASE 0x00000000
235#define CONFIG_SYS_PCI_IO_PHYS 0xE0300000
236#define CONFIG_SYS_PCI_IO_SIZE 0x100000 /* 1M */
Dave Liub19ecd32007-09-18 12:37:57 +0800237
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200238#define CONFIG_SYS_PCI_SLV_MEM_LOCAL CONFIG_SYS_SDRAM_BASE
239#define CONFIG_SYS_PCI_SLV_MEM_BUS 0x00000000
240#define CONFIG_SYS_PCI_SLV_MEM_SIZE 0x80000000
Dave Liub19ecd32007-09-18 12:37:57 +0800241
Anton Vorontsov62842ec2009-01-08 04:26:19 +0300242#define CONFIG_SYS_PCIE1_BASE 0xA0000000
243#define CONFIG_SYS_PCIE1_CFG_BASE 0xA0000000
244#define CONFIG_SYS_PCIE1_CFG_SIZE 0x08000000
245#define CONFIG_SYS_PCIE1_MEM_BASE 0xA8000000
246#define CONFIG_SYS_PCIE1_MEM_PHYS 0xA8000000
247#define CONFIG_SYS_PCIE1_MEM_SIZE 0x10000000
248#define CONFIG_SYS_PCIE1_IO_BASE 0x00000000
249#define CONFIG_SYS_PCIE1_IO_PHYS 0xB8000000
250#define CONFIG_SYS_PCIE1_IO_SIZE 0x00800000
251
252#define CONFIG_SYS_PCIE2_BASE 0xC0000000
253#define CONFIG_SYS_PCIE2_CFG_BASE 0xC0000000
254#define CONFIG_SYS_PCIE2_CFG_SIZE 0x08000000
255#define CONFIG_SYS_PCIE2_MEM_BASE 0xC8000000
256#define CONFIG_SYS_PCIE2_MEM_PHYS 0xC8000000
257#define CONFIG_SYS_PCIE2_MEM_SIZE 0x10000000
258#define CONFIG_SYS_PCIE2_IO_BASE 0x00000000
259#define CONFIG_SYS_PCIE2_IO_PHYS 0xD8000000
260#define CONFIG_SYS_PCIE2_IO_SIZE 0x00800000
261
Dave Liub19ecd32007-09-18 12:37:57 +0800262#ifdef CONFIG_PCI
Gabor Juhosb4458732013-05-30 07:06:12 +0000263#define CONFIG_PCI_INDIRECT_BRIDGE
Anton Vorontsov30c69922008-10-02 19:17:33 +0400264#ifndef __ASSEMBLY__
265extern int board_pci_host_broken(void);
266#endif
Kim Phillipsf1384292009-07-23 14:09:38 -0500267#define CONFIG_PCIE
Dave Liub19ecd32007-09-18 12:37:57 +0800268#define CONFIG_PQ_MDS_PIB 1 /* PQ MDS Platform IO Board */
269
Anton Vorontsov504867a2008-10-14 22:58:53 +0400270#define CONFIG_HAS_FSL_DR_USB 1 /* fixup device tree for the DR USB */
Nikhil Badolac4cff522014-10-20 16:31:01 +0530271#define CONFIG_USB_EHCI_FSL
272#define CONFIG_EHCI_HCD_INIT_AFTER_RESET
Anton Vorontsov504867a2008-10-14 22:58:53 +0400273
Dave Liub19ecd32007-09-18 12:37:57 +0800274#undef CONFIG_EEPRO100
275#undef CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200276#define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x1957 /* Freescale */
Dave Liub19ecd32007-09-18 12:37:57 +0800277#endif /* CONFIG_PCI */
278
Dave Liub19ecd32007-09-18 12:37:57 +0800279/*
280 * TSEC
281 */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200282#define CONFIG_SYS_TSEC1_OFFSET 0x24000
Joe Hershberger0f193402011-10-11 23:57:18 -0500283#define CONFIG_SYS_TSEC1 (CONFIG_SYS_IMMR+CONFIG_SYS_TSEC1_OFFSET)
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200284#define CONFIG_SYS_TSEC2_OFFSET 0x25000
Joe Hershberger0f193402011-10-11 23:57:18 -0500285#define CONFIG_SYS_TSEC2 (CONFIG_SYS_IMMR+CONFIG_SYS_TSEC2_OFFSET)
Dave Liub19ecd32007-09-18 12:37:57 +0800286
287/*
288 * TSEC ethernet configuration
289 */
Dave Liub19ecd32007-09-18 12:37:57 +0800290#define CONFIG_TSEC1 1
291#define CONFIG_TSEC1_NAME "eTSEC0"
292#define CONFIG_TSEC2 1
293#define CONFIG_TSEC2_NAME "eTSEC1"
294#define TSEC1_PHY_ADDR 2
295#define TSEC2_PHY_ADDR 3
Anton Vorontsov32b1b702008-10-02 18:32:25 +0400296#define TSEC1_PHY_ADDR_SGMII 8
297#define TSEC2_PHY_ADDR_SGMII 4
Dave Liub19ecd32007-09-18 12:37:57 +0800298#define TSEC1_PHYIDX 0
299#define TSEC2_PHYIDX 0
300#define TSEC1_FLAGS (TSEC_GIGABIT | TSEC_REDUCED)
301#define TSEC2_FLAGS (TSEC_GIGABIT | TSEC_REDUCED)
302
303/* Options are: TSEC[0-1] */
304#define CONFIG_ETHPRIME "eTSEC1"
305
Dave Liub8dc5872008-03-26 22:56:36 +0800306/* SERDES */
307#define CONFIG_FSL_SERDES
308#define CONFIG_FSL_SERDES1 0xe3000
309#define CONFIG_FSL_SERDES2 0xe3100
310
Dave Liub19ecd32007-09-18 12:37:57 +0800311/*
Dave Liu4056d7a2008-03-26 22:57:19 +0800312 * SATA
313 */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200314#define CONFIG_SYS_SATA_MAX_DEVICE 2
Dave Liu4056d7a2008-03-26 22:57:19 +0800315#define CONFIG_SATA1
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200316#define CONFIG_SYS_SATA1_OFFSET 0x18000
Joe Hershberger0f193402011-10-11 23:57:18 -0500317#define CONFIG_SYS_SATA1 (CONFIG_SYS_IMMR + CONFIG_SYS_SATA1_OFFSET)
318#define CONFIG_SYS_SATA1_FLAGS FLAGS_DMA
Dave Liu4056d7a2008-03-26 22:57:19 +0800319#define CONFIG_SATA2
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200320#define CONFIG_SYS_SATA2_OFFSET 0x19000
Joe Hershberger0f193402011-10-11 23:57:18 -0500321#define CONFIG_SYS_SATA2 (CONFIG_SYS_IMMR + CONFIG_SYS_SATA2_OFFSET)
322#define CONFIG_SYS_SATA2_FLAGS FLAGS_DMA
Dave Liu4056d7a2008-03-26 22:57:19 +0800323
324#ifdef CONFIG_FSL_SATA
325#define CONFIG_LBA48
Dave Liu4056d7a2008-03-26 22:57:19 +0800326#endif
327
328/*
Dave Liub19ecd32007-09-18 12:37:57 +0800329 * Environment
330 */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200331#ifndef CONFIG_SYS_RAMBOOT
Joe Hershberger0f193402011-10-11 23:57:18 -0500332 #define CONFIG_ENV_ADDR \
333 (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN)
Jean-Christophe PLAGNIOL-VILLARD7e1cda62008-09-10 22:48:06 +0200334 #define CONFIG_ENV_SECT_SIZE 0x20000 /* 128K(one sector) for env */
335 #define CONFIG_ENV_SIZE 0x2000
Dave Liub19ecd32007-09-18 12:37:57 +0800336#else
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200337 #define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - 0x1000)
Jean-Christophe PLAGNIOL-VILLARD7e1cda62008-09-10 22:48:06 +0200338 #define CONFIG_ENV_SIZE 0x2000
Dave Liub19ecd32007-09-18 12:37:57 +0800339#endif
340
341#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200342#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
Dave Liub19ecd32007-09-18 12:37:57 +0800343
344/*
345 * BOOTP options
346 */
347#define CONFIG_BOOTP_BOOTFILESIZE
Dave Liub19ecd32007-09-18 12:37:57 +0800348
Dave Liub19ecd32007-09-18 12:37:57 +0800349/*
350 * Command line configuration.
351 */
Dave Liub19ecd32007-09-18 12:37:57 +0800352
Dave Liub19ecd32007-09-18 12:37:57 +0800353#undef CONFIG_WATCHDOG /* watchdog disabled */
354
Andy Fleming1463b4b2008-10-30 16:50:14 -0500355#ifdef CONFIG_MMC
Chenhui Zhao025eab02011-01-04 17:23:05 +0800356#define CONFIG_FSL_ESDHC_PIN_MUX
Andy Fleming1463b4b2008-10-30 16:50:14 -0500357#define CONFIG_SYS_FSL_ESDHC_ADDR CONFIG_SYS_MPC83xx_ESDHC_ADDR
Andy Fleming1463b4b2008-10-30 16:50:14 -0500358#endif
359
Dave Liub19ecd32007-09-18 12:37:57 +0800360/*
361 * Miscellaneous configurable options
362 */
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200363#define CONFIG_SYS_LOAD_ADDR 0x2000000 /* default load address */
Dave Liub19ecd32007-09-18 12:37:57 +0800364
Dave Liub19ecd32007-09-18 12:37:57 +0800365/*
366 * For booting Linux, the board info and command line data
Ira W. Snyderc5a22d02010-09-10 15:42:32 -0700367 * have to be in the first 256 MB of memory, since this is
Dave Liub19ecd32007-09-18 12:37:57 +0800368 * the maximum mapped by the Linux kernel during initialization.
369 */
Joe Hershberger0f193402011-10-11 23:57:18 -0500370#define CONFIG_SYS_BOOTMAPSZ (256 << 20) /* Initial Memory map for Linux */
Kevin Hao9c747962016-07-08 11:25:15 +0800371#define CONFIG_SYS_BOOTM_LEN (64 << 20) /* Increase max gunzip size */
Dave Liub19ecd32007-09-18 12:37:57 +0800372
373/*
374 * Core HID Setup
375 */
Kim Phillipsf3c7cd92010-04-20 19:37:54 -0500376#define CONFIG_SYS_HID0_INIT 0x000000000
377#define CONFIG_SYS_HID0_FINAL (HID0_ENABLE_MACHINE_CHECK | \
378 HID0_ENABLE_INSTRUCTION_CACHE)
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +0200379#define CONFIG_SYS_HID2 HID2_HBE
Dave Liub19ecd32007-09-18 12:37:57 +0800380
Dave Liub19ecd32007-09-18 12:37:57 +0800381#if defined(CONFIG_CMD_KGDB)
382#define CONFIG_KGDB_BAUDRATE 230400 /* speed of kgdb serial port */
Dave Liub19ecd32007-09-18 12:37:57 +0800383#endif
384
385/*
386 * Environment Configuration
387 */
388
389#define CONFIG_ENV_OVERWRITE
390
391#if defined(CONFIG_TSEC_ENET)
392#define CONFIG_HAS_ETH0
Dave Liub19ecd32007-09-18 12:37:57 +0800393#define CONFIG_HAS_ETH1
Dave Liub19ecd32007-09-18 12:37:57 +0800394#endif
395
Kim Phillipsfd3a3fc2009-08-21 16:34:38 -0500396#define CONFIG_LOADADDR 800000 /* default location for tftp and bootm */
Dave Liub19ecd32007-09-18 12:37:57 +0800397
Dave Liub19ecd32007-09-18 12:37:57 +0800398#define CONFIG_EXTRA_ENV_SETTINGS \
Joe Hershberger0f193402011-10-11 23:57:18 -0500399 "netdev=eth0\0" \
400 "consoledev=ttyS0\0" \
401 "ramdiskaddr=1000000\0" \
402 "ramdiskfile=ramfs.83xx\0" \
403 "fdtaddr=780000\0" \
404 "fdtfile=mpc8379_mds.dtb\0" \
405 ""
Dave Liub19ecd32007-09-18 12:37:57 +0800406
407#define CONFIG_NFSBOOTCOMMAND \
Joe Hershberger0f193402011-10-11 23:57:18 -0500408 "setenv bootargs root=/dev/nfs rw " \
409 "nfsroot=$serverip:$rootpath " \
410 "ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:" \
411 "$netdev:off " \
412 "console=$consoledev,$baudrate $othbootargs;" \
413 "tftp $loadaddr $bootfile;" \
414 "tftp $fdtaddr $fdtfile;" \
415 "bootm $loadaddr - $fdtaddr"
Dave Liub19ecd32007-09-18 12:37:57 +0800416
417#define CONFIG_RAMBOOTCOMMAND \
Joe Hershberger0f193402011-10-11 23:57:18 -0500418 "setenv bootargs root=/dev/ram rw " \
419 "console=$consoledev,$baudrate $othbootargs;" \
420 "tftp $ramdiskaddr $ramdiskfile;" \
421 "tftp $loadaddr $bootfile;" \
422 "tftp $fdtaddr $fdtfile;" \
423 "bootm $loadaddr $ramdiskaddr $fdtaddr"
Dave Liub19ecd32007-09-18 12:37:57 +0800424
Dave Liub19ecd32007-09-18 12:37:57 +0800425#define CONFIG_BOOTCOMMAND CONFIG_NFSBOOTCOMMAND
426
427#endif /* __CONFIG_H */