Tom Rini | 10e4779 | 2018-05-06 17:58:06 -0400 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 2 | /* |
| 3 | * Copyright (C) 2007 Freescale Semiconductor, Inc. |
| 4 | * Dave Liu <daveliu@freescale.com> |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 5 | */ |
| 6 | |
| 7 | #ifndef __CONFIG_H |
| 8 | #define __CONFIG_H |
| 9 | |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 10 | /* |
| 11 | * High Level Configuration Options |
| 12 | */ |
| 13 | #define CONFIG_E300 1 /* E300 family */ |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 14 | |
Dave Liu | ed5a098 | 2008-03-04 16:59:22 +0800 | [diff] [blame] | 15 | /* Arbiter Configuration Register */ |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 16 | #define CONFIG_SYS_ACR_PIPE_DEP 3 /* Arbiter pipeline depth is 4 */ |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 17 | #define CONFIG_SYS_ACR_RPTCNT 3 /* Arbiter repeat count is 4 */ |
Dave Liu | ed5a098 | 2008-03-04 16:59:22 +0800 | [diff] [blame] | 18 | |
| 19 | /* System Priority Control Register */ |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 20 | #define CONFIG_SYS_SPCR_TSECEP 3 /* eTSEC1/2 emergency has highest priority */ |
Dave Liu | ed5a098 | 2008-03-04 16:59:22 +0800 | [diff] [blame] | 21 | |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 22 | /* |
Dave Liu | ed5a098 | 2008-03-04 16:59:22 +0800 | [diff] [blame] | 23 | * IP blocks clock configuration |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 24 | */ |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 25 | #define CONFIG_SYS_SCCR_TSEC1CM 1 /* CSB:eTSEC1 = 1:1 */ |
| 26 | #define CONFIG_SYS_SCCR_TSEC2CM 1 /* CSB:eTSEC2 = 1:1 */ |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 27 | #define CONFIG_SYS_SCCR_SATACM SCCR_SATACM_2 /* CSB:SATA[0:3] = 2:1 */ |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 28 | |
| 29 | /* |
| 30 | * System IO Config |
| 31 | */ |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 32 | #define CONFIG_SYS_SICRH 0x00000000 |
| 33 | #define CONFIG_SYS_SICRL 0x00000000 |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 34 | |
| 35 | /* |
| 36 | * Output Buffer Impedance |
| 37 | */ |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 38 | #define CONFIG_SYS_OBIR 0x31100000 |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 39 | |
Anton Vorontsov | 5cd6152 | 2009-06-10 00:25:31 +0400 | [diff] [blame] | 40 | #define CONFIG_HWCONFIG |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 41 | |
| 42 | /* |
| 43 | * IMMR new address |
| 44 | */ |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 45 | #define CONFIG_SYS_IMMR 0xE0000000 |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 46 | |
| 47 | /* |
| 48 | * DDR Setup |
| 49 | */ |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 50 | #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 Hershberger | cc03b80 | 2011-10-11 23:57:29 -0500 | [diff] [blame] | 55 | #define CONFIG_SYS_DDRCDR_VALUE (DDRCDR_DHC_EN \ |
| 56 | | DDRCDR_ODT \ |
| 57 | | DDRCDR_Q_DRN) |
| 58 | /* 0x80080001 */ /* ODT 150ohm on SoC */ |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 59 | |
| 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 Liu | 925c8c8 | 2008-01-10 23:07:23 +0800 | [diff] [blame] | 71 | * WHITE ELECTRONIC DESIGNS - W3HG64M72EEU403PD4 SO-DIMM |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 72 | * consist of nine chips from SAMSUNG K4T51083QE-ZC(L)D5 |
| 73 | */ |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 74 | #define CONFIG_SYS_DDR_SIZE 512 /* MB */ |
| 75 | #define CONFIG_SYS_DDR_CS0_BNDS 0x0000001f |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 76 | #define CONFIG_SYS_DDR_CS0_CONFIG (CSCONFIG_EN \ |
Joe Hershberger | cc03b80 | 2011-10-11 23:57:29 -0500 | [diff] [blame] | 77 | | 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-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 82 | #define CONFIG_SYS_DDR_TIMING_3 0x00000000 |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 83 | #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 Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 91 | /* 0x00620802 */ |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 92 | #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 Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 100 | /* 0x3935d322 */ |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 101 | #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 Liu | 925c8c8 | 2008-01-10 23:07:23 +0800 | [diff] [blame] | 108 | /* 0x131088c8 */ |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 109 | #define CONFIG_SYS_DDR_INTERVAL ((0x03E0 << SDRAM_INTERVAL_REFINT_SHIFT) \ |
| 110 | | (0x0100 << SDRAM_INTERVAL_BSTOPRE_SHIFT)) |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 111 | /* 0x03E00100 */ |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 112 | #define CONFIG_SYS_DDR_SDRAM_CFG 0x43000000 |
| 113 | #define CONFIG_SYS_DDR_SDRAM_CFG2 0x00001000 /* 1 posted refresh */ |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 114 | #define CONFIG_SYS_DDR_MODE ((0x0448 << SDRAM_MODE_ESD_SHIFT) \ |
| 115 | | (0x1432 << SDRAM_MODE_SD_SHIFT)) |
Dave Liu | 925c8c8 | 2008-01-10 23:07:23 +0800 | [diff] [blame] | 116 | /* ODT 150ohm CL=3, AL=1 on SDRAM */ |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 117 | #define CONFIG_SYS_DDR_MODE2 0x00000000 |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 118 | #endif |
| 119 | |
| 120 | /* |
| 121 | * Memory test |
| 122 | */ |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 123 | #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 Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 126 | |
| 127 | /* |
| 128 | * The reserved memory |
| 129 | */ |
Wolfgang Denk | 0708bc6 | 2010-10-07 21:51:12 +0200 | [diff] [blame] | 130 | #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */ |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 131 | |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 132 | #if (CONFIG_SYS_MONITOR_BASE < CONFIG_SYS_FLASH_BASE) |
| 133 | #define CONFIG_SYS_RAMBOOT |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 134 | #else |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 135 | #undef CONFIG_SYS_RAMBOOT |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 136 | #endif |
| 137 | |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 138 | /* CONFIG_SYS_MONITOR_LEN must be a multiple of CONFIG_ENV_SECT_SIZE */ |
Kevin Hao | 349a015 | 2016-07-08 11:25:14 +0800 | [diff] [blame] | 139 | #define CONFIG_SYS_MONITOR_LEN (512 * 1024) /* Reserve 512 kB for Mon */ |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 140 | #define CONFIG_SYS_MALLOC_LEN (512 * 1024) /* Reserved for malloc */ |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 141 | |
| 142 | /* |
| 143 | * Initial RAM Base Address Setup |
| 144 | */ |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 145 | #define CONFIG_SYS_INIT_RAM_LOCK 1 |
| 146 | #define CONFIG_SYS_INIT_RAM_ADDR 0xE6000000 /* Initial RAM address */ |
Wolfgang Denk | 1c2e98e | 2010-10-26 13:32:32 +0200 | [diff] [blame] | 147 | #define CONFIG_SYS_INIT_RAM_SIZE 0x1000 /* Size of used area in RAM */ |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 148 | #define CONFIG_SYS_GBL_DATA_OFFSET \ |
| 149 | (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 150 | |
| 151 | /* |
| 152 | * Local Bus Configuration & Clock Setup |
| 153 | */ |
Kim Phillips | 328040a | 2009-09-25 18:19:44 -0500 | [diff] [blame] | 154 | #define CONFIG_SYS_LCRR_DBYP LCRR_DBYP |
| 155 | #define CONFIG_SYS_LCRR_CLKDIV LCRR_CLKDIV_8 |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 156 | #define CONFIG_SYS_LBC_LBCR 0x00000000 |
Becky Bruce | dfe6e23 | 2010-06-17 11:37:18 -0500 | [diff] [blame] | 157 | #define CONFIG_FSL_ELBC 1 |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 158 | |
| 159 | /* |
| 160 | * FLASH on the Local Bus |
| 161 | */ |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 162 | #define CONFIG_SYS_FLASH_BASE 0xFE000000 /* FLASH base address */ |
| 163 | #define CONFIG_SYS_FLASH_SIZE 32 /* max FLASH size is 32M */ |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 164 | |
Mario Six | c1e29d9 | 2019-01-21 09:18:01 +0100 | [diff] [blame] | 165 | /* 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 Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 168 | |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 169 | #define CONFIG_SYS_MAX_FLASH_BANKS 1 /* number of banks */ |
| 170 | #define CONFIG_SYS_MAX_FLASH_SECT 256 /* max sectors per device */ |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 171 | |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 172 | #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 Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 175 | |
| 176 | /* |
| 177 | * BCSR on the Local Bus |
| 178 | */ |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 179 | #define CONFIG_SYS_BCSR 0xF8000000 |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 180 | /* Access window base at BCSR base */ |
Mario Six | c1e29d9 | 2019-01-21 09:18:01 +0100 | [diff] [blame] | 181 | /* 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 Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 184 | |
| 185 | /* |
| 186 | * NAND Flash on the Local Bus |
| 187 | */ |
Anton Vorontsov | c753879 | 2008-10-08 20:52:54 +0400 | [diff] [blame] | 188 | #define CONFIG_SYS_MAX_NAND_DEVICE 1 |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 189 | #define CONFIG_NAND_FSL_ELBC 1 |
Anton Vorontsov | c753879 | 2008-10-08 20:52:54 +0400 | [diff] [blame] | 190 | |
Joe Hershberger | f05b933 | 2011-10-11 23:57:30 -0500 | [diff] [blame] | 191 | #define CONFIG_SYS_NAND_BASE 0xE0600000 |
Mario Six | c1e29d9 | 2019-01-21 09:18:01 +0100 | [diff] [blame] | 192 | |
| 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 Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 196 | |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 197 | /* |
| 198 | * Serial Port |
| 199 | */ |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 200 | #define CONFIG_SYS_NS16550_SERIAL |
| 201 | #define CONFIG_SYS_NS16550_REG_SIZE 1 |
| 202 | #define CONFIG_SYS_NS16550_CLK get_bus_freq(0) |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 203 | |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 204 | #define CONFIG_SYS_BAUDRATE_TABLE \ |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 205 | {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200} |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 206 | |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 207 | #define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_IMMR+0x4500) |
| 208 | #define CONFIG_SYS_NS16550_COM2 (CONFIG_SYS_IMMR+0x4600) |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 209 | |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 210 | /* I2C */ |
Heiko Schocher | f285074 | 2012-10-24 13:48:22 +0200 | [diff] [blame] | 211 | #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 Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 217 | |
| 218 | /* |
| 219 | * Config on-board RTC |
| 220 | */ |
| 221 | #define CONFIG_RTC_DS1374 /* use ds1374 rtc via i2c */ |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 222 | #define CONFIG_SYS_I2C_RTC_ADDR 0x68 /* at address 0x68 */ |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 223 | |
| 224 | /* |
| 225 | * General PCI |
| 226 | * Addresses are mapped 1-1. |
| 227 | */ |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 228 | #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-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 231 | #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 Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 237 | |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 238 | #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 Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 241 | |
Anton Vorontsov | 62842ec | 2009-01-08 04:26:19 +0300 | [diff] [blame] | 242 | #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 Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 262 | #ifdef CONFIG_PCI |
Gabor Juhos | b445873 | 2013-05-30 07:06:12 +0000 | [diff] [blame] | 263 | #define CONFIG_PCI_INDIRECT_BRIDGE |
Anton Vorontsov | 30c6992 | 2008-10-02 19:17:33 +0400 | [diff] [blame] | 264 | #ifndef __ASSEMBLY__ |
| 265 | extern int board_pci_host_broken(void); |
| 266 | #endif |
Kim Phillips | f138429 | 2009-07-23 14:09:38 -0500 | [diff] [blame] | 267 | #define CONFIG_PCIE |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 268 | #define CONFIG_PQ_MDS_PIB 1 /* PQ MDS Platform IO Board */ |
| 269 | |
Anton Vorontsov | 504867a | 2008-10-14 22:58:53 +0400 | [diff] [blame] | 270 | #define CONFIG_HAS_FSL_DR_USB 1 /* fixup device tree for the DR USB */ |
Nikhil Badola | c4cff52 | 2014-10-20 16:31:01 +0530 | [diff] [blame] | 271 | #define CONFIG_USB_EHCI_FSL |
| 272 | #define CONFIG_EHCI_HCD_INIT_AFTER_RESET |
Anton Vorontsov | 504867a | 2008-10-14 22:58:53 +0400 | [diff] [blame] | 273 | |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 274 | #undef CONFIG_EEPRO100 |
| 275 | #undef CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */ |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 276 | #define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x1957 /* Freescale */ |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 277 | #endif /* CONFIG_PCI */ |
| 278 | |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 279 | /* |
| 280 | * TSEC |
| 281 | */ |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 282 | #define CONFIG_SYS_TSEC1_OFFSET 0x24000 |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 283 | #define CONFIG_SYS_TSEC1 (CONFIG_SYS_IMMR+CONFIG_SYS_TSEC1_OFFSET) |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 284 | #define CONFIG_SYS_TSEC2_OFFSET 0x25000 |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 285 | #define CONFIG_SYS_TSEC2 (CONFIG_SYS_IMMR+CONFIG_SYS_TSEC2_OFFSET) |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 286 | |
| 287 | /* |
| 288 | * TSEC ethernet configuration |
| 289 | */ |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 290 | #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 Vorontsov | 32b1b70 | 2008-10-02 18:32:25 +0400 | [diff] [blame] | 296 | #define TSEC1_PHY_ADDR_SGMII 8 |
| 297 | #define TSEC2_PHY_ADDR_SGMII 4 |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 298 | #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 Liu | b8dc587 | 2008-03-26 22:56:36 +0800 | [diff] [blame] | 306 | /* SERDES */ |
| 307 | #define CONFIG_FSL_SERDES |
| 308 | #define CONFIG_FSL_SERDES1 0xe3000 |
| 309 | #define CONFIG_FSL_SERDES2 0xe3100 |
| 310 | |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 311 | /* |
Dave Liu | 4056d7a | 2008-03-26 22:57:19 +0800 | [diff] [blame] | 312 | * SATA |
| 313 | */ |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 314 | #define CONFIG_SYS_SATA_MAX_DEVICE 2 |
Dave Liu | 4056d7a | 2008-03-26 22:57:19 +0800 | [diff] [blame] | 315 | #define CONFIG_SATA1 |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 316 | #define CONFIG_SYS_SATA1_OFFSET 0x18000 |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 317 | #define CONFIG_SYS_SATA1 (CONFIG_SYS_IMMR + CONFIG_SYS_SATA1_OFFSET) |
| 318 | #define CONFIG_SYS_SATA1_FLAGS FLAGS_DMA |
Dave Liu | 4056d7a | 2008-03-26 22:57:19 +0800 | [diff] [blame] | 319 | #define CONFIG_SATA2 |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 320 | #define CONFIG_SYS_SATA2_OFFSET 0x19000 |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 321 | #define CONFIG_SYS_SATA2 (CONFIG_SYS_IMMR + CONFIG_SYS_SATA2_OFFSET) |
| 322 | #define CONFIG_SYS_SATA2_FLAGS FLAGS_DMA |
Dave Liu | 4056d7a | 2008-03-26 22:57:19 +0800 | [diff] [blame] | 323 | |
| 324 | #ifdef CONFIG_FSL_SATA |
| 325 | #define CONFIG_LBA48 |
Dave Liu | 4056d7a | 2008-03-26 22:57:19 +0800 | [diff] [blame] | 326 | #endif |
| 327 | |
| 328 | /* |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 329 | * Environment |
| 330 | */ |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 331 | #ifndef CONFIG_SYS_RAMBOOT |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 332 | #define CONFIG_ENV_ADDR \ |
| 333 | (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN) |
Jean-Christophe PLAGNIOL-VILLARD | 7e1cda6 | 2008-09-10 22:48:06 +0200 | [diff] [blame] | 334 | #define CONFIG_ENV_SECT_SIZE 0x20000 /* 128K(one sector) for env */ |
| 335 | #define CONFIG_ENV_SIZE 0x2000 |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 336 | #else |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 337 | #define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - 0x1000) |
Jean-Christophe PLAGNIOL-VILLARD | 7e1cda6 | 2008-09-10 22:48:06 +0200 | [diff] [blame] | 338 | #define CONFIG_ENV_SIZE 0x2000 |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 339 | #endif |
| 340 | |
| 341 | #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 342 | #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */ |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 343 | |
| 344 | /* |
| 345 | * BOOTP options |
| 346 | */ |
| 347 | #define CONFIG_BOOTP_BOOTFILESIZE |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 348 | |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 349 | /* |
| 350 | * Command line configuration. |
| 351 | */ |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 352 | |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 353 | #undef CONFIG_WATCHDOG /* watchdog disabled */ |
| 354 | |
Andy Fleming | 1463b4b | 2008-10-30 16:50:14 -0500 | [diff] [blame] | 355 | #ifdef CONFIG_MMC |
Chenhui Zhao | 025eab0 | 2011-01-04 17:23:05 +0800 | [diff] [blame] | 356 | #define CONFIG_FSL_ESDHC_PIN_MUX |
Andy Fleming | 1463b4b | 2008-10-30 16:50:14 -0500 | [diff] [blame] | 357 | #define CONFIG_SYS_FSL_ESDHC_ADDR CONFIG_SYS_MPC83xx_ESDHC_ADDR |
Andy Fleming | 1463b4b | 2008-10-30 16:50:14 -0500 | [diff] [blame] | 358 | #endif |
| 359 | |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 360 | /* |
| 361 | * Miscellaneous configurable options |
| 362 | */ |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 363 | #define CONFIG_SYS_LOAD_ADDR 0x2000000 /* default load address */ |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 364 | |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 365 | /* |
| 366 | * For booting Linux, the board info and command line data |
Ira W. Snyder | c5a22d0 | 2010-09-10 15:42:32 -0700 | [diff] [blame] | 367 | * have to be in the first 256 MB of memory, since this is |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 368 | * the maximum mapped by the Linux kernel during initialization. |
| 369 | */ |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 370 | #define CONFIG_SYS_BOOTMAPSZ (256 << 20) /* Initial Memory map for Linux */ |
Kevin Hao | 9c74796 | 2016-07-08 11:25:15 +0800 | [diff] [blame] | 371 | #define CONFIG_SYS_BOOTM_LEN (64 << 20) /* Increase max gunzip size */ |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 372 | |
| 373 | /* |
| 374 | * Core HID Setup |
| 375 | */ |
Kim Phillips | f3c7cd9 | 2010-04-20 19:37:54 -0500 | [diff] [blame] | 376 | #define CONFIG_SYS_HID0_INIT 0x000000000 |
| 377 | #define CONFIG_SYS_HID0_FINAL (HID0_ENABLE_MACHINE_CHECK | \ |
| 378 | HID0_ENABLE_INSTRUCTION_CACHE) |
Jean-Christophe PLAGNIOL-VILLARD | 0383694 | 2008-10-16 15:01:15 +0200 | [diff] [blame] | 379 | #define CONFIG_SYS_HID2 HID2_HBE |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 380 | |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 381 | #if defined(CONFIG_CMD_KGDB) |
| 382 | #define CONFIG_KGDB_BAUDRATE 230400 /* speed of kgdb serial port */ |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 383 | #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 Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 393 | #define CONFIG_HAS_ETH1 |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 394 | #endif |
| 395 | |
Kim Phillips | fd3a3fc | 2009-08-21 16:34:38 -0500 | [diff] [blame] | 396 | #define CONFIG_LOADADDR 800000 /* default location for tftp and bootm */ |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 397 | |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 398 | #define CONFIG_EXTRA_ENV_SETTINGS \ |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 399 | "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 Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 406 | |
| 407 | #define CONFIG_NFSBOOTCOMMAND \ |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 408 | "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 Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 416 | |
| 417 | #define CONFIG_RAMBOOTCOMMAND \ |
Joe Hershberger | 0f19340 | 2011-10-11 23:57:18 -0500 | [diff] [blame] | 418 | "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 Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 424 | |
Dave Liu | b19ecd3 | 2007-09-18 12:37:57 +0800 | [diff] [blame] | 425 | #define CONFIG_BOOTCOMMAND CONFIG_NFSBOOTCOMMAND |
| 426 | |
| 427 | #endif /* __CONFIG_H */ |