1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */ 29e3ed392SJoe Hamman /* 32738bc8dSPaul Gortmaker * Copyright 2007,2009 Wind River Systems <www.windriver.com> 49e3ed392SJoe Hamman * Copyright 2007 Embedded Specialties, Inc. 59e3ed392SJoe Hamman * Copyright 2004, 2007 Freescale Semiconductor. 69e3ed392SJoe Hamman */ 79e3ed392SJoe Hamman 89e3ed392SJoe Hamman /* 99e3ed392SJoe Hamman * sbc8548 board configuration file 102738bc8dSPaul Gortmaker * Please refer to doc/README.sbc8548 for more info. 119e3ed392SJoe Hamman */ 129e3ed392SJoe Hamman #ifndef __CONFIG_H 139e3ed392SJoe Hamman #define __CONFIG_H 149e3ed392SJoe Hamman 152738bc8dSPaul Gortmaker /* 162738bc8dSPaul Gortmaker * Top level Makefile configuration choices 172738bc8dSPaul Gortmaker */ 18d24f2d32SWolfgang Denk #ifdef CONFIG_PCI 19842033e6SGabor Juhos #define CONFIG_PCI_INDIRECT_BRIDGE 202738bc8dSPaul Gortmaker #define CONFIG_PCI1 212738bc8dSPaul Gortmaker #endif 222738bc8dSPaul Gortmaker 23d24f2d32SWolfgang Denk #ifdef CONFIG_66 242738bc8dSPaul Gortmaker #define CONFIG_SYS_CLK_DIV 1 252738bc8dSPaul Gortmaker #endif 262738bc8dSPaul Gortmaker 27d24f2d32SWolfgang Denk #ifdef CONFIG_33 282738bc8dSPaul Gortmaker #define CONFIG_SYS_CLK_DIV 2 292738bc8dSPaul Gortmaker #endif 302738bc8dSPaul Gortmaker 31d24f2d32SWolfgang Denk #ifdef CONFIG_PCIE 322738bc8dSPaul Gortmaker #define CONFIG_PCIE1 332738bc8dSPaul Gortmaker #endif 342738bc8dSPaul Gortmaker 352738bc8dSPaul Gortmaker /* 362738bc8dSPaul Gortmaker * High Level Configuration Options 372738bc8dSPaul Gortmaker */ 389e3ed392SJoe Hamman 39f0aec4eaSPaul Gortmaker /* 40f0aec4eaSPaul Gortmaker * If you want to boot from the SODIMM flash, instead of the soldered 41f0aec4eaSPaul Gortmaker * on flash, set this, and change JP12, SW2:8 accordingly. 42f0aec4eaSPaul Gortmaker */ 43f0aec4eaSPaul Gortmaker #undef CONFIG_SYS_ALT_BOOT 44f0aec4eaSPaul Gortmaker 459e3ed392SJoe Hamman #undef CONFIG_RIO 46fdc7eb90SPaul Gortmaker 47fdc7eb90SPaul Gortmaker #ifdef CONFIG_PCI 48fdc7eb90SPaul Gortmaker #define CONFIG_FSL_PCI_INIT /* Use common FSL init code */ 49fdc7eb90SPaul Gortmaker #define CONFIG_SYS_PCI_64BIT 1 /* enable 64-bit PCI resources */ 50fdc7eb90SPaul Gortmaker #endif 51fdc7eb90SPaul Gortmaker #ifdef CONFIG_PCIE1 52fdc7eb90SPaul Gortmaker #define CONFIG_FSL_PCIE_RESET 1 /* need PCIe reset errata */ 53fdc7eb90SPaul Gortmaker #endif 549e3ed392SJoe Hamman 559e3ed392SJoe Hamman #define CONFIG_ENV_OVERWRITE 569e3ed392SJoe Hamman 579e3ed392SJoe Hamman #define CONFIG_INTERRUPTS /* enable pci, srio, ddr interrupts */ 589e3ed392SJoe Hamman 592738bc8dSPaul Gortmaker /* 602738bc8dSPaul Gortmaker * Below assumes that CCB:SYSCLK remains unchanged at 6:1 via SW2:[1-4] 612738bc8dSPaul Gortmaker */ 622738bc8dSPaul Gortmaker #ifndef CONFIG_SYS_CLK_DIV 632738bc8dSPaul Gortmaker #define CONFIG_SYS_CLK_DIV 1 /* 2, if 33MHz PCI card installed */ 642738bc8dSPaul Gortmaker #endif 652738bc8dSPaul Gortmaker #define CONFIG_SYS_CLK_FREQ (66000000 / CONFIG_SYS_CLK_DIV) 669e3ed392SJoe Hamman 679e3ed392SJoe Hamman /* 689e3ed392SJoe Hamman * These can be toggled for performance analysis, otherwise use default. 699e3ed392SJoe Hamman */ 709e3ed392SJoe Hamman #define CONFIG_L2_CACHE /* toggle L2 cache */ 719e3ed392SJoe Hamman #define CONFIG_BTB /* toggle branch predition */ 729e3ed392SJoe Hamman 739e3ed392SJoe Hamman /* 749e3ed392SJoe Hamman * Only possible on E500 Version 2 or newer cores. 759e3ed392SJoe Hamman */ 769e3ed392SJoe Hamman #define CONFIG_ENABLE_36BIT_PHYS 1 779e3ed392SJoe Hamman 786d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #undef CONFIG_SYS_DRAM_TEST /* memory test, takes time */ 796d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest works on */ 806d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MEMTEST_END 0x00400000 819e3ed392SJoe Hamman 82e46fedfeSTimur Tabi #define CONFIG_SYS_CCSRBAR 0xe0000000 83e46fedfeSTimur Tabi #define CONFIG_SYS_CCSRBAR_PHYS_LOW CONFIG_SYS_CCSRBAR 849e3ed392SJoe Hamman 8533b9079bSKumar Gala /* DDR Setup */ 867e44f2b7SPaul Gortmaker #undef CONFIG_DDR_ECC /* only for ECC DDR module */ 877e44f2b7SPaul Gortmaker /* 887e44f2b7SPaul Gortmaker * A hardware errata caused the LBC SDRAM SPD and the DDR2 SPD 897e44f2b7SPaul Gortmaker * to collide, meaning you couldn't reliably read either. So 907e44f2b7SPaul Gortmaker * physically remove the LBC PC100 SDRAM module from the board 913e3262bdSPaul Gortmaker * before enabling the two SPD options below, or check that you 923e3262bdSPaul Gortmaker * have the hardware fix on your board via "i2c probe" and looking 933e3262bdSPaul Gortmaker * for a device at 0x53. 947e44f2b7SPaul Gortmaker */ 9533b9079bSKumar Gala #undef CONFIG_SPD_EEPROM /* Use SPD EEPROM for DDR setup */ 9633b9079bSKumar Gala #undef CONFIG_DDR_SPD 979e3ed392SJoe Hamman 9833b9079bSKumar Gala #define CONFIG_ECC_INIT_VIA_DDRCONTROLLER /* DDR controller or DMA? */ 9933b9079bSKumar Gala #define CONFIG_MEM_INIT_VALUE 0xDeadBeef 10033b9079bSKumar Gala 1016d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DDR_SDRAM_BASE 0x00000000 1026d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_SDRAM_BASE 10333b9079bSKumar Gala #define CONFIG_VERY_BIG_RAM 10433b9079bSKumar Gala 10533b9079bSKumar Gala #define CONFIG_DIMM_SLOTS_PER_CTLR 1 10633b9079bSKumar Gala #define CONFIG_CHIP_SELECTS_PER_CTRL 2 10733b9079bSKumar Gala 1083e3262bdSPaul Gortmaker /* 1093e3262bdSPaul Gortmaker * The hardware fix for the I2C address collision puts the DDR 1103e3262bdSPaul Gortmaker * SPD at 0x53, but if we are running on an older board w/o the 1113e3262bdSPaul Gortmaker * fix, it will still be at 0x51. We check 0x53 1st. 1123e3262bdSPaul Gortmaker */ 11333b9079bSKumar Gala #define SPD_EEPROM_ADDRESS 0x51 /* CTLR 0 DIMM 0 */ 1143e3262bdSPaul Gortmaker #define ALT_SPD_EEPROM_ADDRESS 0x53 /* CTLR 0 DIMM 0 */ 1159e3ed392SJoe Hamman 1169e3ed392SJoe Hamman /* 1179e3ed392SJoe Hamman * Make sure required options are set 1189e3ed392SJoe Hamman */ 1199e3ed392SJoe Hamman #ifndef CONFIG_SPD_EEPROM 1206d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_SIZE 256 /* DDR is 256MB */ 1212a6b3b74SPaul Gortmaker #define CONFIG_SYS_DDR_CONTROL 0xc300c000 1229e3ed392SJoe Hamman #endif 1239e3ed392SJoe Hamman 1249e3ed392SJoe Hamman #undef CONFIG_CLOCKS_IN_MHZ 1259e3ed392SJoe Hamman 1269e3ed392SJoe Hamman /* 1279e3ed392SJoe Hamman * FLASH on the Local Bus 1289e3ed392SJoe Hamman * Two banks, one 8MB the other 64MB, using the CFI driver. 129f0aec4eaSPaul Gortmaker * JP12+SW2.8 are used to swap CS0 and CS6, defaults are to have 130f0aec4eaSPaul Gortmaker * CS0 the 8MB boot flash, and CS6 the 64MB flash. 1319e3ed392SJoe Hamman * 132f0aec4eaSPaul Gortmaker * Default: 133f0aec4eaSPaul Gortmaker * ec00_0000 efff_ffff 64MB SODIMM 134f0aec4eaSPaul Gortmaker * ff80_0000 ffff_ffff 8MB soldered flash 135f0aec4eaSPaul Gortmaker * 136f0aec4eaSPaul Gortmaker * Alternate: 137f0aec4eaSPaul Gortmaker * ef80_0000 efff_ffff 8MB soldered flash 138f0aec4eaSPaul Gortmaker * fc00_0000 ffff_ffff 64MB SODIMM 139f0aec4eaSPaul Gortmaker * 140f0aec4eaSPaul Gortmaker * BR0_8M: 1419e3ed392SJoe Hamman * Base address 0 = 0xff80_0000 = BR0[0:16] = 1111 1111 1000 0000 0 1429e3ed392SJoe Hamman * Port Size = 8 bits = BRx[19:20] = 01 1439e3ed392SJoe Hamman * Use GPCM = BRx[24:26] = 000 1449e3ed392SJoe Hamman * Valid = BRx[31] = 1 1459e3ed392SJoe Hamman * 146f0aec4eaSPaul Gortmaker * BR0_64M: 147f0aec4eaSPaul Gortmaker * Base address 0 = 0xfc00_0000 = BR0[0:16] = 1111 1100 0000 0000 0 1489e3ed392SJoe Hamman * Port Size = 32 bits = BRx[19:20] = 11 149f0aec4eaSPaul Gortmaker * 150f0aec4eaSPaul Gortmaker * 0 4 8 12 16 20 24 28 151f0aec4eaSPaul Gortmaker * 1111 1111 1000 0000 0000 1000 0000 0001 = ff800801 BR0_8M 152f0aec4eaSPaul Gortmaker * 1111 1100 0000 0000 0001 1000 0000 0001 = fc001801 BR0_64M 153f0aec4eaSPaul Gortmaker */ 154f0aec4eaSPaul Gortmaker #define CONFIG_SYS_BR0_8M 0xff800801 155f0aec4eaSPaul Gortmaker #define CONFIG_SYS_BR0_64M 0xfc001801 156f0aec4eaSPaul Gortmaker 157f0aec4eaSPaul Gortmaker /* 158f0aec4eaSPaul Gortmaker * BR6_8M: 159f0aec4eaSPaul Gortmaker * Base address 6 = 0xef80_0000 = BR6[0:16] = 1110 1111 1000 0000 0 160f0aec4eaSPaul Gortmaker * Port Size = 8 bits = BRx[19:20] = 01 1619e3ed392SJoe Hamman * Use GPCM = BRx[24:26] = 000 1629e3ed392SJoe Hamman * Valid = BRx[31] = 1 163f0aec4eaSPaul Gortmaker 164f0aec4eaSPaul Gortmaker * BR6_64M: 165f0aec4eaSPaul Gortmaker * Base address 6 = 0xec00_0000 = BR6[0:16] = 1110 1100 0000 0000 0 166f0aec4eaSPaul Gortmaker * Port Size = 32 bits = BRx[19:20] = 11 1679e3ed392SJoe Hamman * 1689e3ed392SJoe Hamman * 0 4 8 12 16 20 24 28 169f0aec4eaSPaul Gortmaker * 1110 1111 1000 0000 0000 1000 0000 0001 = ef800801 BR6_8M 170f0aec4eaSPaul Gortmaker * 1110 1100 0000 0000 0001 1000 0000 0001 = ec001801 BR6_64M 171f0aec4eaSPaul Gortmaker */ 172f0aec4eaSPaul Gortmaker #define CONFIG_SYS_BR6_8M 0xef800801 173f0aec4eaSPaul Gortmaker #define CONFIG_SYS_BR6_64M 0xec001801 174f0aec4eaSPaul Gortmaker 175f0aec4eaSPaul Gortmaker /* 176f0aec4eaSPaul Gortmaker * OR0_8M: 1779e3ed392SJoe Hamman * Addr Mask = 8M = OR1[0:16] = 1111 1111 1000 0000 0 1789e3ed392SJoe Hamman * XAM = OR0[17:18] = 11 1799e3ed392SJoe Hamman * CSNT = OR0[20] = 1 1809e3ed392SJoe Hamman * ACS = half cycle delay = OR0[21:22] = 11 1819e3ed392SJoe Hamman * SCY = 6 = OR0[24:27] = 0110 1829e3ed392SJoe Hamman * TRLX = use relaxed timing = OR0[29] = 1 1839e3ed392SJoe Hamman * EAD = use external address latch delay = OR0[31] = 1 1849e3ed392SJoe Hamman * 185f0aec4eaSPaul Gortmaker * OR0_64M: 186f0aec4eaSPaul Gortmaker * Addr Mask = 64M = OR1[0:16] = 1111 1100 0000 0000 0 1879e3ed392SJoe Hamman * 188f0aec4eaSPaul Gortmaker * 189f0aec4eaSPaul Gortmaker * 0 4 8 12 16 20 24 28 190f0aec4eaSPaul Gortmaker * 1111 1111 1000 0000 0110 1110 0110 0101 = ff806e65 OR0_8M 191f0aec4eaSPaul Gortmaker * 1111 1100 0000 0000 0110 1110 0110 0101 = fc006e65 OR0_64M 192f0aec4eaSPaul Gortmaker */ 193f0aec4eaSPaul Gortmaker #define CONFIG_SYS_OR0_8M 0xff806e65 194f0aec4eaSPaul Gortmaker #define CONFIG_SYS_OR0_64M 0xfc006e65 195f0aec4eaSPaul Gortmaker 196f0aec4eaSPaul Gortmaker /* 197f0aec4eaSPaul Gortmaker * OR6_8M: 198f0aec4eaSPaul Gortmaker * Addr Mask = 8M = OR6[0:16] = 1111 1111 1000 0000 0 1999e3ed392SJoe Hamman * XAM = OR6[17:18] = 11 2009e3ed392SJoe Hamman * CSNT = OR6[20] = 1 2019e3ed392SJoe Hamman * ACS = half cycle delay = OR6[21:22] = 11 2029e3ed392SJoe Hamman * SCY = 6 = OR6[24:27] = 0110 2039e3ed392SJoe Hamman * TRLX = use relaxed timing = OR6[29] = 1 2049e3ed392SJoe Hamman * EAD = use external address latch delay = OR6[31] = 1 2059e3ed392SJoe Hamman * 206f0aec4eaSPaul Gortmaker * OR6_64M: 207f0aec4eaSPaul Gortmaker * Addr Mask = 64M = OR6[0:16] = 1111 1100 0000 0000 0 208f0aec4eaSPaul Gortmaker * 2099e3ed392SJoe Hamman * 0 4 8 12 16 20 24 28 210f0aec4eaSPaul Gortmaker * 1111 1111 1000 0000 0110 1110 0110 0101 = ff806e65 OR6_8M 211f0aec4eaSPaul Gortmaker * 1111 1100 0000 0000 0110 1110 0110 0101 = fc006e65 OR6_64M 2129e3ed392SJoe Hamman */ 213f0aec4eaSPaul Gortmaker #define CONFIG_SYS_OR6_8M 0xff806e65 214f0aec4eaSPaul Gortmaker #define CONFIG_SYS_OR6_64M 0xfc006e65 2159e3ed392SJoe Hamman 216f0aec4eaSPaul Gortmaker #ifndef CONFIG_SYS_ALT_BOOT /* JP12 in default position */ 2176d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_BOOT_BLOCK 0xff800000 /* start of 8MB Flash */ 2183fd673cfSPaul Gortmaker #define CONFIG_SYS_ALT_FLASH 0xec000000 /* 64MB "user" flash */ 2199e3ed392SJoe Hamman 220f0aec4eaSPaul Gortmaker #define CONFIG_SYS_BR0_PRELIM CONFIG_SYS_BR0_8M 221f0aec4eaSPaul Gortmaker #define CONFIG_SYS_OR0_PRELIM CONFIG_SYS_OR0_8M 2229e3ed392SJoe Hamman 223f0aec4eaSPaul Gortmaker #define CONFIG_SYS_BR6_PRELIM CONFIG_SYS_BR6_64M 224f0aec4eaSPaul Gortmaker #define CONFIG_SYS_OR6_PRELIM CONFIG_SYS_OR6_64M 225f0aec4eaSPaul Gortmaker #else /* JP12 in alternate position */ 226f0aec4eaSPaul Gortmaker #define CONFIG_SYS_BOOT_BLOCK 0xfc000000 /* start 64MB Flash */ 227f0aec4eaSPaul Gortmaker #define CONFIG_SYS_ALT_FLASH 0xef800000 /* 8MB soldered flash */ 2289e3ed392SJoe Hamman 229f0aec4eaSPaul Gortmaker #define CONFIG_SYS_BR0_PRELIM CONFIG_SYS_BR0_64M 230f0aec4eaSPaul Gortmaker #define CONFIG_SYS_OR0_PRELIM CONFIG_SYS_OR0_64M 231f0aec4eaSPaul Gortmaker 232f0aec4eaSPaul Gortmaker #define CONFIG_SYS_BR6_PRELIM CONFIG_SYS_BR6_8M 233f0aec4eaSPaul Gortmaker #define CONFIG_SYS_OR6_PRELIM CONFIG_SYS_OR6_8M 234f0aec4eaSPaul Gortmaker #endif 235f0aec4eaSPaul Gortmaker 236f0aec4eaSPaul Gortmaker #define CONFIG_SYS_FLASH_BASE CONFIG_SYS_BOOT_BLOCK 2379b3ba24fSPaul Gortmaker #define CONFIG_SYS_FLASH_BANKS_LIST {CONFIG_SYS_FLASH_BASE, \ 2389b3ba24fSPaul Gortmaker CONFIG_SYS_ALT_FLASH} 2399b3ba24fSPaul Gortmaker #define CONFIG_SYS_MAX_FLASH_BANKS 2 /* number of banks */ 2409b3ba24fSPaul Gortmaker #define CONFIG_SYS_MAX_FLASH_SECT 256 /* sectors per device */ 2416d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #undef CONFIG_SYS_FLASH_CHECKSUM 2426d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */ 2436d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */ 2449e3ed392SJoe Hamman 24514d0a02aSWolfgang Denk #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */ 2469e3ed392SJoe Hamman 2476d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_FLASH_EMPTY_INFO 2489e3ed392SJoe Hamman 2499e3ed392SJoe Hamman /* CS5 = Local bus peripherals controlled by the EPLD */ 2509e3ed392SJoe Hamman 2516d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_BR5_PRELIM 0xf8000801 2526d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_OR5_PRELIM 0xff006e65 2536d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_EPLD_BASE 0xf8000000 2546d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LED_DISP_BASE 0xf8000000 2556d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_USER_SWITCHES_BASE 0xf8100000 2566d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_BD_REV 0xf8300000 2576d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_EEPROM_BASE 0xf8b00000 2589e3ed392SJoe Hamman 2599e3ed392SJoe Hamman /* 26011d5a629SPaul Gortmaker * SDRAM on the Local Bus (CS3 and CS4) 2617e44f2b7SPaul Gortmaker * Note that most boards have a hardware errata where both the 2627e44f2b7SPaul Gortmaker * LBC SDRAM and the DDR2 SDRAM decode at 0x51, making it impossible 2637e44f2b7SPaul Gortmaker * to use CONFIG_DDR_SPD unless you physically remove the LBC DIMM. 2643e3262bdSPaul Gortmaker * A hardware workaround is also available, see README.sbc8548 file. 2659e3ed392SJoe Hamman */ 2666d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LBC_SDRAM_BASE 0xf0000000 /* Localbus SDRAM */ 26711d5a629SPaul Gortmaker #define CONFIG_SYS_LBC_SDRAM_SIZE 128 /* LBC SDRAM is 128MB */ 2689e3ed392SJoe Hamman 2699e3ed392SJoe Hamman /* 27011d5a629SPaul Gortmaker * Base Register 3 and Option Register 3 configure the 1st 1/2 SDRAM. 2716d0f6bcfSJean-Christophe PLAGNIOL-VILLARD * The SDRAM base address, CONFIG_SYS_LBC_SDRAM_BASE, is 0xf0000000. 2729e3ed392SJoe Hamman * 2739e3ed392SJoe Hamman * For BR3, need: 2749e3ed392SJoe Hamman * Base address of 0xf0000000 = BR[0:16] = 1111 0000 0000 0000 0 2759e3ed392SJoe Hamman * port-size = 32-bits = BR2[19:20] = 11 2769e3ed392SJoe Hamman * no parity checking = BR2[21:22] = 00 2779e3ed392SJoe Hamman * SDRAM for MSEL = BR2[24:26] = 011 2789e3ed392SJoe Hamman * Valid = BR[31] = 1 2799e3ed392SJoe Hamman * 2809e3ed392SJoe Hamman * 0 4 8 12 16 20 24 28 2819e3ed392SJoe Hamman * 1111 0000 0000 0000 0001 1000 0110 0001 = f0001861 2829e3ed392SJoe Hamman * 2839e3ed392SJoe Hamman */ 2849e3ed392SJoe Hamman 2856d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_BR3_PRELIM 0xf0001861 2869e3ed392SJoe Hamman 2879e3ed392SJoe Hamman /* 28811d5a629SPaul Gortmaker * The SDRAM size in MB, of 1/2 CONFIG_SYS_LBC_SDRAM_SIZE, is 64. 2899e3ed392SJoe Hamman * 2909e3ed392SJoe Hamman * For OR3, need: 2919e3ed392SJoe Hamman * 64MB mask for AM, OR3[0:7] = 1111 1100 2929e3ed392SJoe Hamman * XAM, OR3[17:18] = 11 2939e3ed392SJoe Hamman * 10 columns OR3[19-21] = 011 2949e3ed392SJoe Hamman * 12 rows OR3[23-25] = 011 2959e3ed392SJoe Hamman * EAD set for extra time OR[31] = 0 2969e3ed392SJoe Hamman * 2979e3ed392SJoe Hamman * 0 4 8 12 16 20 24 28 2989e3ed392SJoe Hamman * 1111 1100 0000 0000 0110 1100 1100 0000 = fc006cc0 2999e3ed392SJoe Hamman */ 3009e3ed392SJoe Hamman 3016d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_OR3_PRELIM 0xfc006cc0 3029e3ed392SJoe Hamman 30311d5a629SPaul Gortmaker /* 30411d5a629SPaul Gortmaker * Base Register 4 and Option Register 4 configure the 2nd 1/2 SDRAM. 30511d5a629SPaul Gortmaker * The base address, (SDRAM_BASE + 1/2*SIZE), is 0xf4000000. 30611d5a629SPaul Gortmaker * 30711d5a629SPaul Gortmaker * For BR4, need: 30811d5a629SPaul Gortmaker * Base address of 0xf4000000 = BR[0:16] = 1111 0100 0000 0000 0 30911d5a629SPaul Gortmaker * port-size = 32-bits = BR2[19:20] = 11 31011d5a629SPaul Gortmaker * no parity checking = BR2[21:22] = 00 31111d5a629SPaul Gortmaker * SDRAM for MSEL = BR2[24:26] = 011 31211d5a629SPaul Gortmaker * Valid = BR[31] = 1 31311d5a629SPaul Gortmaker * 31411d5a629SPaul Gortmaker * 0 4 8 12 16 20 24 28 31511d5a629SPaul Gortmaker * 1111 0000 0000 0000 0001 1000 0110 0001 = f4001861 31611d5a629SPaul Gortmaker * 31711d5a629SPaul Gortmaker */ 31811d5a629SPaul Gortmaker 31911d5a629SPaul Gortmaker #define CONFIG_SYS_BR4_PRELIM 0xf4001861 32011d5a629SPaul Gortmaker 32111d5a629SPaul Gortmaker /* 32211d5a629SPaul Gortmaker * The SDRAM size in MB, of 1/2 CONFIG_SYS_LBC_SDRAM_SIZE, is 64. 32311d5a629SPaul Gortmaker * 32411d5a629SPaul Gortmaker * For OR4, need: 32511d5a629SPaul Gortmaker * 64MB mask for AM, OR3[0:7] = 1111 1100 32611d5a629SPaul Gortmaker * XAM, OR3[17:18] = 11 32711d5a629SPaul Gortmaker * 10 columns OR3[19-21] = 011 32811d5a629SPaul Gortmaker * 12 rows OR3[23-25] = 011 32911d5a629SPaul Gortmaker * EAD set for extra time OR[31] = 0 33011d5a629SPaul Gortmaker * 33111d5a629SPaul Gortmaker * 0 4 8 12 16 20 24 28 33211d5a629SPaul Gortmaker * 1111 1100 0000 0000 0110 1100 1100 0000 = fc006cc0 33311d5a629SPaul Gortmaker */ 33411d5a629SPaul Gortmaker 33511d5a629SPaul Gortmaker #define CONFIG_SYS_OR4_PRELIM 0xfc006cc0 33611d5a629SPaul Gortmaker 3376d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LBC_LCRR 0x00000002 /* LB clock ratio reg */ 3386d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LBC_LBCR 0x00000000 /* LB config reg */ 3396d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LBC_LSRT 0x20000000 /* LB sdram refresh timer */ 3406d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LBC_MRTPR 0x00000000 /* LB refresh timer prescal*/ 3419e3ed392SJoe Hamman 3429e3ed392SJoe Hamman /* 3439e3ed392SJoe Hamman * Common settings for all Local Bus SDRAM commands. 3449e3ed392SJoe Hamman */ 345b0fe93edSKumar Gala #define CONFIG_SYS_LBC_LSDMR_COMMON ( LSDMR_RFCR16 \ 3465f4c6f0dSPaul Gortmaker | LSDMR_BSMA1516 \ 3475f4c6f0dSPaul Gortmaker | LSDMR_PRETOACT3 \ 3485f4c6f0dSPaul Gortmaker | LSDMR_ACTTORW3 \ 3495f4c6f0dSPaul Gortmaker | LSDMR_BUFCMD \ 350b0fe93edSKumar Gala | LSDMR_BL8 \ 3515f4c6f0dSPaul Gortmaker | LSDMR_WRC2 \ 352b0fe93edSKumar Gala | LSDMR_CL3 \ 3539e3ed392SJoe Hamman ) 3549e3ed392SJoe Hamman 3555f4c6f0dSPaul Gortmaker #define CONFIG_SYS_LBC_LSDMR_PCHALL \ 3565f4c6f0dSPaul Gortmaker (CONFIG_SYS_LBC_LSDMR_COMMON | LSDMR_OP_PCHALL) 3575f4c6f0dSPaul Gortmaker #define CONFIG_SYS_LBC_LSDMR_ARFRSH \ 3585f4c6f0dSPaul Gortmaker (CONFIG_SYS_LBC_LSDMR_COMMON | LSDMR_OP_ARFRSH) 3595f4c6f0dSPaul Gortmaker #define CONFIG_SYS_LBC_LSDMR_MRW \ 3605f4c6f0dSPaul Gortmaker (CONFIG_SYS_LBC_LSDMR_COMMON | LSDMR_OP_MRW) 3615f4c6f0dSPaul Gortmaker #define CONFIG_SYS_LBC_LSDMR_RFEN \ 3625f4c6f0dSPaul Gortmaker (CONFIG_SYS_LBC_LSDMR_COMMON | LSDMR_RFEN) 3635f4c6f0dSPaul Gortmaker 3646d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_INIT_RAM_LOCK 1 3656d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_INIT_RAM_ADDR 0xe4010000 /* Initial RAM address */ 366553f0982SWolfgang Denk #define CONFIG_SYS_INIT_RAM_SIZE 0x4000 /* Size of used area in RAM */ 3679e3ed392SJoe Hamman 3686d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_INIT_L2_ADDR 0xf8f80000 /* relocate boot L2SRAM */ 3699e3ed392SJoe Hamman 37025ddd1fbSWolfgang Denk #define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 3716d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET 3729e3ed392SJoe Hamman 373dd9ca98fSPaul Gortmaker /* 374dd9ca98fSPaul Gortmaker * For soldered on flash, (128kB/sector) we use 2 sectors for u-boot and 37514d0a02aSWolfgang Denk * one for env+bootpg (CONFIG_SYS_TEXT_BASE=0xfffa_0000, 384kB total). For SODIMM 376dd9ca98fSPaul Gortmaker * flash (512kB/sector) we use 1 sector for u-boot, and one for env+bootpg 37714d0a02aSWolfgang Denk * (CONFIG_SYS_TEXT_BASE=0xfff0_0000, 1MB total). This dynamically sets the right 378dd9ca98fSPaul Gortmaker * thing for MONITOR_LEN in both cases. 379dd9ca98fSPaul Gortmaker */ 38014d0a02aSWolfgang Denk #define CONFIG_SYS_MONITOR_LEN (~CONFIG_SYS_TEXT_BASE + 1) 381f0aec4eaSPaul Gortmaker #define CONFIG_SYS_MALLOC_LEN (1024 * 1024) /* Reserved for malloc */ 3829e3ed392SJoe Hamman 3839e3ed392SJoe Hamman /* Serial Port */ 3846d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_NS16550_SERIAL 3856d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_NS16550_REG_SIZE 1 3862738bc8dSPaul Gortmaker #define CONFIG_SYS_NS16550_CLK (400000000 / CONFIG_SYS_CLK_DIV) 3879e3ed392SJoe Hamman 3886d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_BAUDRATE_TABLE \ 3899e3ed392SJoe Hamman {300, 600, 1200, 2400, 4800, 9600, 19200, 38400,115200} 3909e3ed392SJoe Hamman 3916d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_CCSRBAR+0x4500) 3926d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_NS16550_COM2 (CONFIG_SYS_CCSRBAR+0x4600) 3939e3ed392SJoe Hamman 3949e3ed392SJoe Hamman /* 3959e3ed392SJoe Hamman * I2C 3969e3ed392SJoe Hamman */ 39700f792e0SHeiko Schocher #define CONFIG_SYS_I2C 39800f792e0SHeiko Schocher #define CONFIG_SYS_I2C_FSL 39900f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C_SPEED 400000 40000f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C_SLAVE 0x7F 40100f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C_OFFSET 0x3000 4026d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 4039e3ed392SJoe Hamman 4049e3ed392SJoe Hamman /* 4059e3ed392SJoe Hamman * General PCI 4069e3ed392SJoe Hamman * Memory space is mapped 1-1, but I/O space must start from 0. 4079e3ed392SJoe Hamman */ 408fdc7eb90SPaul Gortmaker #define CONFIG_SYS_PCI_VIRT 0x80000000 /* 1G PCI TLB */ 4096d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_PCI_PHYS 0x80000000 /* 1G PCI TLB */ 4109e3ed392SJoe Hamman 411fdc7eb90SPaul Gortmaker #define CONFIG_SYS_PCI1_MEM_VIRT 0x80000000 412fdc7eb90SPaul Gortmaker #define CONFIG_SYS_PCI1_MEM_BUS 0x80000000 413fdc7eb90SPaul Gortmaker #define CONFIG_SYS_PCI1_MEM_PHYS 0x80000000 4146d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_PCI1_MEM_SIZE 0x20000000 /* 512M */ 415fdc7eb90SPaul Gortmaker #define CONFIG_SYS_PCI1_IO_VIRT 0xe2000000 416fdc7eb90SPaul Gortmaker #define CONFIG_SYS_PCI1_IO_BUS 0x00000000 4176d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_PCI1_IO_PHYS 0xe2000000 418fdc7eb90SPaul Gortmaker #define CONFIG_SYS_PCI1_IO_SIZE 0x00800000 /* 8M */ 4199e3ed392SJoe Hamman 4209e3ed392SJoe Hamman #ifdef CONFIG_PCIE1 421fdc7eb90SPaul Gortmaker #define CONFIG_SYS_PCIE1_MEM_VIRT 0xa0000000 422fdc7eb90SPaul Gortmaker #define CONFIG_SYS_PCIE1_MEM_BUS 0xa0000000 423fdc7eb90SPaul Gortmaker #define CONFIG_SYS_PCIE1_MEM_PHYS 0xa0000000 4246d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_PCIE1_MEM_SIZE 0x20000000 /* 512M */ 425fdc7eb90SPaul Gortmaker #define CONFIG_SYS_PCIE1_IO_VIRT 0xe2800000 426fdc7eb90SPaul Gortmaker #define CONFIG_SYS_PCIE1_IO_BUS 0x00000000 427fdc7eb90SPaul Gortmaker #define CONFIG_SYS_PCIE1_IO_PHYS 0xe2800000 428fdc7eb90SPaul Gortmaker #define CONFIG_SYS_PCIE1_IO_SIZE 0x00800000 /* 8M */ 4299e3ed392SJoe Hamman #endif 4309e3ed392SJoe Hamman 4319e3ed392SJoe Hamman #ifdef CONFIG_RIO 4329e3ed392SJoe Hamman /* 4339e3ed392SJoe Hamman * RapidIO MMU 4349e3ed392SJoe Hamman */ 4356d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_RIO_MEM_BASE 0xC0000000 4366d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_RIO_MEM_SIZE 0x20000000 /* 512M */ 4379e3ed392SJoe Hamman #endif 4389e3ed392SJoe Hamman 4399e3ed392SJoe Hamman #if defined(CONFIG_PCI) 4409e3ed392SJoe Hamman #undef CONFIG_EEPRO100 4419e3ed392SJoe Hamman #undef CONFIG_TULIP 4429e3ed392SJoe Hamman 443fdc7eb90SPaul Gortmaker #define CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */ 4449e3ed392SJoe Hamman 4459e3ed392SJoe Hamman #endif /* CONFIG_PCI */ 4469e3ed392SJoe Hamman 4479e3ed392SJoe Hamman #if defined(CONFIG_TSEC_ENET) 4489e3ed392SJoe Hamman 4499e3ed392SJoe Hamman #define CONFIG_TSEC1 1 4509e3ed392SJoe Hamman #define CONFIG_TSEC1_NAME "eTSEC0" 4519e3ed392SJoe Hamman #define CONFIG_TSEC2 1 4529e3ed392SJoe Hamman #define CONFIG_TSEC2_NAME "eTSEC1" 4539e3ed392SJoe Hamman #undef CONFIG_MPC85XX_FEC 4549e3ed392SJoe Hamman 45558da8890SPaul Gortmaker #define TSEC1_PHY_ADDR 0x19 45658da8890SPaul Gortmaker #define TSEC2_PHY_ADDR 0x1a 4579e3ed392SJoe Hamman 4589e3ed392SJoe Hamman #define TSEC1_PHYIDX 0 4599e3ed392SJoe Hamman #define TSEC2_PHYIDX 0 460bd93105fSPaul Gortmaker 4619e3ed392SJoe Hamman #define TSEC1_FLAGS TSEC_GIGABIT 4629e3ed392SJoe Hamman #define TSEC2_FLAGS TSEC_GIGABIT 4639e3ed392SJoe Hamman 4649e3ed392SJoe Hamman /* Options are: eTSEC[0-3] */ 4659e3ed392SJoe Hamman #define CONFIG_ETHPRIME "eTSEC0" 4669e3ed392SJoe Hamman #endif /* CONFIG_TSEC_ENET */ 4679e3ed392SJoe Hamman 4689e3ed392SJoe Hamman /* 4699e3ed392SJoe Hamman * Environment 4709e3ed392SJoe Hamman */ 4710e8d1586SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_SIZE 0x2000 47214d0a02aSWolfgang Denk #if CONFIG_SYS_TEXT_BASE == 0xfff00000 /* Boot from 64MB SODIMM */ 473dd9ca98fSPaul Gortmaker #define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE + 0x80000) 474dd9ca98fSPaul Gortmaker #define CONFIG_ENV_SECT_SIZE 0x80000 /* 512K(one sector) for env */ 47514d0a02aSWolfgang Denk #elif CONFIG_SYS_TEXT_BASE == 0xfffa0000 /* Boot from 8MB soldered flash */ 476dd9ca98fSPaul Gortmaker #define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE + 0x40000) 477dd9ca98fSPaul Gortmaker #define CONFIG_ENV_SECT_SIZE 0x20000 /* 128K(one sector) for env */ 478dd9ca98fSPaul Gortmaker #else 479dd9ca98fSPaul Gortmaker #warning undefined environment size/location. 480dd9ca98fSPaul Gortmaker #endif 4819e3ed392SJoe Hamman 4829e3ed392SJoe Hamman #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ 4836d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */ 4849e3ed392SJoe Hamman 4859e3ed392SJoe Hamman /* 4869e3ed392SJoe Hamman * BOOTP options 4879e3ed392SJoe Hamman */ 4889e3ed392SJoe Hamman #define CONFIG_BOOTP_BOOTFILESIZE 4899e3ed392SJoe Hamman 4909e3ed392SJoe Hamman #undef CONFIG_WATCHDOG /* watchdog disabled */ 4919e3ed392SJoe Hamman 4929e3ed392SJoe Hamman /* 4939e3ed392SJoe Hamman * Miscellaneous configurable options 4949e3ed392SJoe Hamman */ 4956d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LOAD_ADDR 0x2000000 /* default load address */ 4969e3ed392SJoe Hamman 4979e3ed392SJoe Hamman /* 4989e3ed392SJoe Hamman * For booting Linux, the board info and command line data 4999e3ed392SJoe Hamman * have to be in the first 8 MB of memory, since this is 5009e3ed392SJoe Hamman * the maximum mapped by the Linux kernel during initialization. 5019e3ed392SJoe Hamman */ 5026d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux*/ 5039e3ed392SJoe Hamman 5049e3ed392SJoe Hamman #if defined(CONFIG_CMD_KGDB) 5059e3ed392SJoe Hamman #define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */ 5069e3ed392SJoe Hamman #endif 5079e3ed392SJoe Hamman 5089e3ed392SJoe Hamman /* 5099e3ed392SJoe Hamman * Environment Configuration 5109e3ed392SJoe Hamman */ 5119e3ed392SJoe Hamman #if defined(CONFIG_TSEC_ENET) 5129e3ed392SJoe Hamman #define CONFIG_HAS_ETH0 5139e3ed392SJoe Hamman #define CONFIG_HAS_ETH1 5149e3ed392SJoe Hamman #endif 5159e3ed392SJoe Hamman 5169e3ed392SJoe Hamman #define CONFIG_IPADDR 192.168.0.55 5179e3ed392SJoe Hamman 5185bc0543dSMario Six #define CONFIG_HOSTNAME "sbc8548" 5198b3637c6SJoe Hershberger #define CONFIG_ROOTPATH "/opt/eldk/ppc_85xx" 520b3f44c21SJoe Hershberger #define CONFIG_BOOTFILE "/uImage" 5219e3ed392SJoe Hamman #define CONFIG_UBOOTPATH /u-boot.bin /* TFTP server */ 5229e3ed392SJoe Hamman 5239e3ed392SJoe Hamman #define CONFIG_SERVERIP 192.168.0.2 5249e3ed392SJoe Hamman #define CONFIG_GATEWAYIP 192.168.0.1 5259e3ed392SJoe Hamman #define CONFIG_NETMASK 255.255.255.0 5269e3ed392SJoe Hamman 5279e3ed392SJoe Hamman #define CONFIG_LOADADDR 1000000 /*default location for tftp and bootm*/ 5289e3ed392SJoe Hamman 5299e3ed392SJoe Hamman #define CONFIG_EXTRA_ENV_SETTINGS \ 5309e3ed392SJoe Hamman "netdev=eth0\0" \ 5315368c55dSMarek Vasut "uboot=" __stringify(CONFIG_UBOOTPATH) "\0" \ 5329e3ed392SJoe Hamman "tftpflash=tftpboot $loadaddr $uboot; " \ 5335368c55dSMarek Vasut "protect off " __stringify(CONFIG_SYS_TEXT_BASE) " +$filesize; " \ 5345368c55dSMarek Vasut "erase " __stringify(CONFIG_SYS_TEXT_BASE) " +$filesize; " \ 5355368c55dSMarek Vasut "cp.b $loadaddr " __stringify(CONFIG_SYS_TEXT_BASE) " $filesize; " \ 5365368c55dSMarek Vasut "protect on " __stringify(CONFIG_SYS_TEXT_BASE) " +$filesize; " \ 5375368c55dSMarek Vasut "cmp.b $loadaddr " __stringify(CONFIG_SYS_TEXT_BASE) " $filesize\0" \ 5389e3ed392SJoe Hamman "consoledev=ttyS0\0" \ 5399e3ed392SJoe Hamman "ramdiskaddr=2000000\0" \ 5409e3ed392SJoe Hamman "ramdiskfile=uRamdisk\0" \ 541b24a4f62SScott Wood "fdtaddr=1e00000\0" \ 5429e3ed392SJoe Hamman "fdtfile=sbc8548.dtb\0" 5439e3ed392SJoe Hamman 5449e3ed392SJoe Hamman #define CONFIG_NFSBOOTCOMMAND \ 5459e3ed392SJoe Hamman "setenv bootargs root=/dev/nfs rw " \ 5469e3ed392SJoe Hamman "nfsroot=$serverip:$rootpath " \ 5479e3ed392SJoe Hamman "ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off " \ 5489e3ed392SJoe Hamman "console=$consoledev,$baudrate $othbootargs;" \ 5499e3ed392SJoe Hamman "tftp $loadaddr $bootfile;" \ 5509e3ed392SJoe Hamman "tftp $fdtaddr $fdtfile;" \ 5519e3ed392SJoe Hamman "bootm $loadaddr - $fdtaddr" 5529e3ed392SJoe Hamman 5539e3ed392SJoe Hamman #define CONFIG_RAMBOOTCOMMAND \ 5549e3ed392SJoe Hamman "setenv bootargs root=/dev/ram rw " \ 5559e3ed392SJoe Hamman "console=$consoledev,$baudrate $othbootargs;" \ 5569e3ed392SJoe Hamman "tftp $ramdiskaddr $ramdiskfile;" \ 5579e3ed392SJoe Hamman "tftp $loadaddr $bootfile;" \ 5589e3ed392SJoe Hamman "tftp $fdtaddr $fdtfile;" \ 5599e3ed392SJoe Hamman "bootm $loadaddr $ramdiskaddr $fdtaddr" 5609e3ed392SJoe Hamman 5619e3ed392SJoe Hamman #define CONFIG_BOOTCOMMAND CONFIG_RAMBOOTCOMMAND 5629e3ed392SJoe Hamman 5639e3ed392SJoe Hamman #endif /* __CONFIG_H */ 564