11c274c4eSKim Phillips /* 21c274c4eSKim Phillips * Copyright (C) 2007 Freescale Semiconductor, Inc. 31c274c4eSKim Phillips * 41c274c4eSKim Phillips * This program is free software; you can redistribute it and/or modify it 51c274c4eSKim Phillips * under the terms of the GNU General Public License version 2 as published 61c274c4eSKim Phillips * by the Free Software Foundation. 71c274c4eSKim Phillips */ 81c274c4eSKim Phillips 91c274c4eSKim Phillips #ifndef __CONFIG_H 101c274c4eSKim Phillips #define __CONFIG_H 111c274c4eSKim Phillips 12fdfaa29eSKim Phillips #define CONFIG_DISPLAY_BOARDINFO 13fdfaa29eSKim Phillips 141c274c4eSKim Phillips /* 151c274c4eSKim Phillips * High Level Configuration Options 161c274c4eSKim Phillips */ 171c274c4eSKim Phillips #define CONFIG_E300 1 /* E300 family */ 181c274c4eSKim Phillips #define CONFIG_QE 1 /* Has QE */ 192c7920afSPeter Tyser #define CONFIG_MPC832x 1 /* MPC832x CPU specific */ 201c274c4eSKim Phillips 212ae18241SWolfgang Denk #define CONFIG_SYS_TEXT_BASE 0xFE000000 222ae18241SWolfgang Denk 231c274c4eSKim Phillips #define CONFIG_PCI 1 241c274c4eSKim Phillips 251c274c4eSKim Phillips /* 261c274c4eSKim Phillips * System Clock Setup 271c274c4eSKim Phillips */ 281c274c4eSKim Phillips #define CONFIG_83XX_CLKIN 66666667 /* in Hz */ 291c274c4eSKim Phillips 301c274c4eSKim Phillips #ifndef CONFIG_SYS_CLK_FREQ 311c274c4eSKim Phillips #define CONFIG_SYS_CLK_FREQ CONFIG_83XX_CLKIN 321c274c4eSKim Phillips #endif 331c274c4eSKim Phillips 341c274c4eSKim Phillips /* 351c274c4eSKim Phillips * Hardware Reset Configuration Word 361c274c4eSKim Phillips */ 376d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_HRCW_LOW (\ 381c274c4eSKim Phillips HRCWL_LCL_BUS_TO_SCB_CLK_1X1 |\ 391c274c4eSKim Phillips HRCWL_DDR_TO_SCB_CLK_2X1 |\ 401c274c4eSKim Phillips HRCWL_VCO_1X2 |\ 411c274c4eSKim Phillips HRCWL_CSB_TO_CLKIN_2X1 |\ 421c274c4eSKim Phillips HRCWL_CORE_TO_CSB_2_5X1 |\ 431c274c4eSKim Phillips HRCWL_CE_PLL_VCO_DIV_2 |\ 441c274c4eSKim Phillips HRCWL_CE_PLL_DIV_1X1 |\ 451c274c4eSKim Phillips HRCWL_CE_TO_PLL_1X3) 461c274c4eSKim Phillips 476d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_HRCW_HIGH (\ 481c274c4eSKim Phillips HRCWH_PCI_HOST |\ 491c274c4eSKim Phillips HRCWH_PCI1_ARBITER_ENABLE |\ 501c274c4eSKim Phillips HRCWH_CORE_ENABLE |\ 511c274c4eSKim Phillips HRCWH_FROM_0X00000100 |\ 521c274c4eSKim Phillips HRCWH_BOOTSEQ_DISABLE |\ 531c274c4eSKim Phillips HRCWH_SW_WATCHDOG_DISABLE |\ 541c274c4eSKim Phillips HRCWH_ROM_LOC_LOCAL_16BIT |\ 551c274c4eSKim Phillips HRCWH_BIG_ENDIAN |\ 561c274c4eSKim Phillips HRCWH_LALE_NORMAL) 571c274c4eSKim Phillips 581c274c4eSKim Phillips /* 591c274c4eSKim Phillips * System IO Config 601c274c4eSKim Phillips */ 616d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SICRL 0x00000000 621c274c4eSKim Phillips 631c274c4eSKim Phillips /* 641c274c4eSKim Phillips * IMMR new address 651c274c4eSKim Phillips */ 666d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_IMMR 0xE0000000 671c274c4eSKim Phillips 681c274c4eSKim Phillips /* 695bbeea86SMichael Barkowski * System performance 705bbeea86SMichael Barkowski */ 716d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_ACR_PIPE_DEP 3 /* Arbiter pipeline depth (0-3) */ 726d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_ACR_RPTCNT 3 /* Arbiter repeat count (0-7) */ 734dde49d8SJoe Hershberger /* (0-1) Optimize transactions between CSB and the SEC and QUICC Engine block */ 744dde49d8SJoe Hershberger #define CONFIG_SYS_SPCR_OPT 1 755bbeea86SMichael Barkowski 765bbeea86SMichael Barkowski /* 771c274c4eSKim Phillips * DDR Setup 781c274c4eSKim Phillips */ 796d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DDR_BASE 0x00000000 /* DDR is system memory */ 806d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_BASE 816d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DDR_SDRAM_BASE CONFIG_SYS_DDR_BASE 821c274c4eSKim Phillips 831c274c4eSKim Phillips #undef CONFIG_SPD_EEPROM 841c274c4eSKim Phillips #if defined(CONFIG_SPD_EEPROM) 851c274c4eSKim Phillips /* Determine DDR configuration from I2C interface 861c274c4eSKim Phillips */ 871c274c4eSKim Phillips #define SPD_EEPROM_ADDRESS 0x51 /* DDR SODIMM */ 881c274c4eSKim Phillips #else 891c274c4eSKim Phillips /* Manually set up DDR parameters 901c274c4eSKim Phillips */ 916d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DDR_SIZE 64 /* MB */ 926d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DDR_CS0_CONFIG (CSCONFIG_EN \ 934dde49d8SJoe Hershberger | CSCONFIG_ROW_BIT_13 \ 944dde49d8SJoe Hershberger | CSCONFIG_COL_BIT_9) 955bbeea86SMichael Barkowski /* 0x80010101 */ 966d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DDR_TIMING_0 ((0 << TIMING_CFG0_RWT_SHIFT) \ 97fc549c87SMichael Barkowski | (0 << TIMING_CFG0_WRT_SHIFT) \ 98fc549c87SMichael Barkowski | (0 << TIMING_CFG0_RRT_SHIFT) \ 99fc549c87SMichael Barkowski | (0 << TIMING_CFG0_WWT_SHIFT) \ 100fc549c87SMichael Barkowski | (2 << TIMING_CFG0_ACT_PD_EXIT_SHIFT) \ 101fc549c87SMichael Barkowski | (2 << TIMING_CFG0_PRE_PD_EXIT_SHIFT) \ 102fc549c87SMichael Barkowski | (8 << TIMING_CFG0_ODT_PD_EXIT_SHIFT) \ 103fc549c87SMichael Barkowski | (2 << TIMING_CFG0_MRS_CYC_SHIFT)) 104fc549c87SMichael Barkowski /* 0x00220802 */ 1056d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DDR_TIMING_1 ((2 << TIMING_CFG1_PRETOACT_SHIFT) \ 1065bbeea86SMichael Barkowski | (6 << TIMING_CFG1_ACTTOPRE_SHIFT) \ 1075bbeea86SMichael Barkowski | (2 << TIMING_CFG1_ACTTORW_SHIFT) \ 108fc549c87SMichael Barkowski | (5 << TIMING_CFG1_CASLAT_SHIFT) \ 1095bbeea86SMichael Barkowski | (3 << TIMING_CFG1_REFREC_SHIFT) \ 1105bbeea86SMichael Barkowski | (2 << TIMING_CFG1_WRREC_SHIFT) \ 111fc549c87SMichael Barkowski | (2 << TIMING_CFG1_ACTTOACT_SHIFT) \ 112fc549c87SMichael Barkowski | (2 << TIMING_CFG1_WRTORD_SHIFT)) 1135bbeea86SMichael Barkowski /* 0x26253222 */ 1146d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DDR_TIMING_2 ((1 << TIMING_CFG2_ADD_LAT_SHIFT) \ 1155bbeea86SMichael Barkowski | (31 << TIMING_CFG2_CPO_SHIFT) \ 116fc549c87SMichael Barkowski | (2 << TIMING_CFG2_WR_LAT_DELAY_SHIFT) \ 117fc549c87SMichael Barkowski | (2 << TIMING_CFG2_RD_TO_PRE_SHIFT) \ 118fc549c87SMichael Barkowski | (2 << TIMING_CFG2_WR_DATA_DELAY_SHIFT) \ 119fc549c87SMichael Barkowski | (3 << TIMING_CFG2_CKE_PLS_SHIFT) \ 1205bbeea86SMichael Barkowski | (7 << TIMING_CFG2_FOUR_ACT_SHIFT)) 1215bbeea86SMichael Barkowski /* 0x1f9048c7 */ 1226d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DDR_TIMING_3 0x00000000 1236d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DDR_CLK_CNTL DDR_SDRAM_CLK_CNTL_CLK_ADJUST_05 124fc549c87SMichael Barkowski /* 0x02000000 */ 1256d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DDR_MODE ((0x4448 << SDRAM_MODE_ESD_SHIFT) \ 126fc549c87SMichael Barkowski | (0x0232 << SDRAM_MODE_SD_SHIFT)) 1275bbeea86SMichael Barkowski /* 0x44480232 */ 1286d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DDR_MODE2 0x8000c000 1296d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DDR_INTERVAL ((800 << SDRAM_INTERVAL_REFINT_SHIFT) \ 130fc549c87SMichael Barkowski | (100 << SDRAM_INTERVAL_BSTOPRE_SHIFT)) 131fc549c87SMichael Barkowski /* 0x03200064 */ 1326d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DDR_CS0_BNDS 0x00000003 1336d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DDR_SDRAM_CFG (SDRAM_CFG_SREN \ 134fc549c87SMichael Barkowski | SDRAM_CFG_SDRAM_TYPE_DDR2 \ 135fc549c87SMichael Barkowski | SDRAM_CFG_32_BE) 136fc549c87SMichael Barkowski /* 0x43080000 */ 1376d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DDR_SDRAM_CFG2 0x00401000 1381c274c4eSKim Phillips #endif 1391c274c4eSKim Phillips 1401c274c4eSKim Phillips /* 1411c274c4eSKim Phillips * Memory test 1421c274c4eSKim Phillips */ 1436d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #undef CONFIG_SYS_DRAM_TEST /* memory test, takes time */ 1446d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MEMTEST_START 0x00030000 /* memtest region */ 1456d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MEMTEST_END 0x03f00000 1461c274c4eSKim Phillips 1471c274c4eSKim Phillips /* 1481c274c4eSKim Phillips * The reserved memory 1491c274c4eSKim Phillips */ 15014d0a02aSWolfgang Denk #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */ 1511c274c4eSKim Phillips 1526d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #if (CONFIG_SYS_MONITOR_BASE < CONFIG_SYS_FLASH_BASE) 1536d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_RAMBOOT 1541c274c4eSKim Phillips #else 1556d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #undef CONFIG_SYS_RAMBOOT 1561c274c4eSKim Phillips #endif 1571c274c4eSKim Phillips 1586d0f6bcfSJean-Christophe PLAGNIOL-VILLARD /* CONFIG_SYS_MONITOR_LEN must be a multiple of CONFIG_ENV_SECT_SIZE */ 159*16c8c170SKevin Hao #define CONFIG_SYS_MONITOR_LEN (512 * 1024) /* Reserve 512 kB for Mon */ 160c8a90646SKim Phillips #define CONFIG_SYS_MALLOC_LEN (256 * 1024) /* Reserved for malloc */ 1611c274c4eSKim Phillips 1621c274c4eSKim Phillips /* 1631c274c4eSKim Phillips * Initial RAM Base Address Setup 1641c274c4eSKim Phillips */ 1656d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_INIT_RAM_LOCK 1 1666d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_INIT_RAM_ADDR 0xE6000000 /* Initial RAM address */ 167553f0982SWolfgang Denk #define CONFIG_SYS_INIT_RAM_SIZE 0x1000 /* Size of used area in RAM */ 1684dde49d8SJoe Hershberger #define CONFIG_SYS_GBL_DATA_OFFSET \ 1694dde49d8SJoe Hershberger (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 1701c274c4eSKim Phillips 1711c274c4eSKim Phillips /* 1721c274c4eSKim Phillips * Local Bus Configuration & Clock Setup 1731c274c4eSKim Phillips */ 174c7190f02SKim Phillips #define CONFIG_SYS_LCRR_DBYP LCRR_DBYP 175c7190f02SKim Phillips #define CONFIG_SYS_LCRR_CLKDIV LCRR_CLKDIV_2 1766d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LBC_LBCR 0x00000000 1771c274c4eSKim Phillips 1781c274c4eSKim Phillips /* 1791c274c4eSKim Phillips * FLASH on the Local Bus 1801c274c4eSKim Phillips */ 1816d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_FLASH_CFI /* use the Common Flash Interface */ 18200b1883aSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_FLASH_CFI_DRIVER /* use the CFI driver */ 1836d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_FLASH_BASE 0xFE000000 /* FLASH base address */ 1846d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_FLASH_SIZE 16 /* FLASH size is 16M */ 1856d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_FLASH_PROTECTION 1 /* Use h/w Flash protection. */ 1861c274c4eSKim Phillips 1874dde49d8SJoe Hershberger /* Window base at flash base */ 1884dde49d8SJoe Hershberger #define CONFIG_SYS_LBLAWBAR0_PRELIM CONFIG_SYS_FLASH_BASE 1897d6a0982SJoe Hershberger #define CONFIG_SYS_LBLAWAR0_PRELIM (LBLAWAR_EN | LBLAWAR_32MB) 1901c274c4eSKim Phillips 1914dde49d8SJoe Hershberger #define CONFIG_SYS_BR0_PRELIM (CONFIG_SYS_FLASH_BASE \ 1927d6a0982SJoe Hershberger | BR_PS_16 /* 16 bit port */ \ 1937d6a0982SJoe Hershberger | BR_MS_GPCM /* MSEL = GPCM */ \ 1944dde49d8SJoe Hershberger | BR_V) /* valid */ 1957d6a0982SJoe Hershberger #define CONFIG_SYS_OR0_PRELIM (MEG_TO_AM(CONFIG_SYS_FLASH_SIZE) \ 1967d6a0982SJoe Hershberger | OR_GPCM_XAM \ 1977d6a0982SJoe Hershberger | OR_GPCM_CSNT \ 1987d6a0982SJoe Hershberger | OR_GPCM_ACS_DIV2 \ 1997d6a0982SJoe Hershberger | OR_GPCM_XACS \ 2007d6a0982SJoe Hershberger | OR_GPCM_SCY_15 \ 2017d6a0982SJoe Hershberger | OR_GPCM_TRLX_SET \ 2027d6a0982SJoe Hershberger | OR_GPCM_EHTR_SET \ 2037d6a0982SJoe Hershberger | OR_GPCM_EAD) 2047d6a0982SJoe Hershberger /* 0xFE006FF7 */ 2051c274c4eSKim Phillips 2066d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MAX_FLASH_BANKS 1 /* number of banks */ 2076d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MAX_FLASH_SECT 128 /* sectors per device */ 2081c274c4eSKim Phillips 2096d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #undef CONFIG_SYS_FLASH_CHECKSUM 2101c274c4eSKim Phillips 2111c274c4eSKim Phillips /* 2121c274c4eSKim Phillips * Serial Port 2131c274c4eSKim Phillips */ 2141c274c4eSKim Phillips #define CONFIG_CONS_INDEX 1 2156d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_NS16550_SERIAL 2166d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_NS16550_REG_SIZE 1 2176d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_NS16550_CLK get_bus_freq(0) 2181c274c4eSKim Phillips 2196d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_BAUDRATE_TABLE \ 2201c274c4eSKim Phillips {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 115200} 2211c274c4eSKim Phillips 2226d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_IMMR+0x4500) 2236d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_NS16550_COM2 (CONFIG_SYS_IMMR+0x4600) 2241c274c4eSKim Phillips 2251c274c4eSKim Phillips #define CONFIG_CMDLINE_EDITING 1 /* add command line history */ 226a059e90eSKim Phillips #define CONFIG_AUTO_COMPLETE /* add autocompletion support */ 2271c274c4eSKim Phillips 2281c274c4eSKim Phillips /* I2C */ 22900f792e0SHeiko Schocher #define CONFIG_SYS_I2C 23000f792e0SHeiko Schocher #define CONFIG_SYS_I2C_FSL 23100f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C_SPEED 400000 23200f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C_SLAVE 0x7F 23300f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C_OFFSET 0x3000 23400f792e0SHeiko Schocher #define CONFIG_SYS_I2C_NOPROBES { {0, 0x51} } 2351c274c4eSKim Phillips 2361c274c4eSKim Phillips /* 2370fa7a1b4SMichael Barkowski * Config on-board EEPROM 2381c274c4eSKim Phillips */ 2396d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 2406d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2 2416d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 6 2426d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 2431c274c4eSKim Phillips 2441c274c4eSKim Phillips /* 2451c274c4eSKim Phillips * General PCI 2461c274c4eSKim Phillips * Addresses are mapped 1-1. 2471c274c4eSKim Phillips */ 2486d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_PCI1_MEM_BASE 0x80000000 2496d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_PCI1_MEM_PHYS CONFIG_SYS_PCI1_MEM_BASE 2506d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_PCI1_MEM_SIZE 0x10000000 /* 256M */ 2516d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_PCI1_MMIO_BASE 0x90000000 2526d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_PCI1_MMIO_PHYS CONFIG_SYS_PCI1_MMIO_BASE 2536d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_PCI1_MMIO_SIZE 0x10000000 /* 256M */ 2546d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_PCI1_IO_BASE 0xd0000000 2556d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_PCI1_IO_PHYS CONFIG_SYS_PCI1_IO_BASE 2566d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_PCI1_IO_SIZE 0x04000000 /* 64M */ 2571c274c4eSKim Phillips 2581c274c4eSKim Phillips #ifdef CONFIG_PCI 259842033e6SGabor Juhos #define CONFIG_PCI_INDIRECT_BRIDGE 2608f325cffSMichael Barkowski #define CONFIG_PCI_SKIP_HOST_BRIDGE 2611c274c4eSKim Phillips #define CONFIG_PCI_PNP /* do pci plug-and-play */ 2621c274c4eSKim Phillips 2631c274c4eSKim Phillips #undef CONFIG_EEPRO100 2641c274c4eSKim Phillips #undef CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */ 2656d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x1957 /* Freescale */ 2661c274c4eSKim Phillips 2671c274c4eSKim Phillips #endif /* CONFIG_PCI */ 2681c274c4eSKim Phillips 2691c274c4eSKim Phillips /* 2701c274c4eSKim Phillips * QE UEC ethernet configuration 2711c274c4eSKim Phillips */ 2721c274c4eSKim Phillips #define CONFIG_UEC_ETH 27378b7a8efSKim Phillips #define CONFIG_ETHPRIME "UEC0" 2741c274c4eSKim Phillips 2751c274c4eSKim Phillips #define CONFIG_UEC_ETH1 /* ETH3 */ 2761c274c4eSKim Phillips 2771c274c4eSKim Phillips #ifdef CONFIG_UEC_ETH1 2786d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_UEC1_UCC_NUM 2 /* UCC3 */ 2796d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_UEC1_RX_CLK QE_CLK9 2806d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_UEC1_TX_CLK QE_CLK10 2816d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_UEC1_ETH_TYPE FAST_ETH 2826d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_UEC1_PHY_ADDR 4 283865ff856SAndy Fleming #define CONFIG_SYS_UEC1_INTERFACE_TYPE PHY_INTERFACE_MODE_MII 284582c55a0SHeiko Schocher #define CONFIG_SYS_UEC1_INTERFACE_SPEED 100 2851c274c4eSKim Phillips #endif 2861c274c4eSKim Phillips 2871c274c4eSKim Phillips #define CONFIG_UEC_ETH2 /* ETH4 */ 2881c274c4eSKim Phillips 2891c274c4eSKim Phillips #ifdef CONFIG_UEC_ETH2 2906d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_UEC2_UCC_NUM 1 /* UCC2 */ 2916d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_UEC2_RX_CLK QE_CLK16 2926d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_UEC2_TX_CLK QE_CLK3 2936d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_UEC2_ETH_TYPE FAST_ETH 2946d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_UEC2_PHY_ADDR 0 295865ff856SAndy Fleming #define CONFIG_SYS_UEC2_INTERFACE_TYPE PHY_INTERFACE_MODE_MII 296582c55a0SHeiko Schocher #define CONFIG_SYS_UEC2_INTERFACE_SPEED 100 2971c274c4eSKim Phillips #endif 2981c274c4eSKim Phillips 2991c274c4eSKim Phillips /* 3001c274c4eSKim Phillips * Environment 3011c274c4eSKim Phillips */ 3026d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #ifndef CONFIG_SYS_RAMBOOT 3035a1aceb0SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_IS_IN_FLASH 1 3044dde49d8SJoe Hershberger #define CONFIG_ENV_ADDR \ 3054dde49d8SJoe Hershberger (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN) 3060e8d1586SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_SECT_SIZE 0x20000 3070e8d1586SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_SIZE 0x2000 3081c274c4eSKim Phillips #else 3096d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_NO_FLASH 1 /* Flash is not usable now */ 31093f6d725SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_IS_NOWHERE 1 /* Store ENV in memory only */ 3116d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - 0x1000) 3120e8d1586SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_SIZE 0x2000 3131c274c4eSKim Phillips #endif 3141c274c4eSKim Phillips 3151c274c4eSKim Phillips #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ 3166d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */ 3171c274c4eSKim Phillips 3181c274c4eSKim Phillips /* 3191c274c4eSKim Phillips * BOOTP options 3201c274c4eSKim Phillips */ 3211c274c4eSKim Phillips #define CONFIG_BOOTP_BOOTFILESIZE 3221c274c4eSKim Phillips #define CONFIG_BOOTP_BOOTPATH 3231c274c4eSKim Phillips #define CONFIG_BOOTP_GATEWAY 3241c274c4eSKim Phillips #define CONFIG_BOOTP_HOSTNAME 3251c274c4eSKim Phillips 3261c274c4eSKim Phillips /* 3271c274c4eSKim Phillips * Command line configuration. 3281c274c4eSKim Phillips */ 3290fa7a1b4SMichael Barkowski #define CONFIG_CMD_EEPROM 3301c274c4eSKim Phillips 3311c274c4eSKim Phillips #if defined(CONFIG_PCI) 3321c274c4eSKim Phillips #define CONFIG_CMD_PCI 3331c274c4eSKim Phillips #endif 3341c274c4eSKim Phillips 3351c274c4eSKim Phillips #undef CONFIG_WATCHDOG /* watchdog disabled */ 3361c274c4eSKim Phillips 3371c274c4eSKim Phillips /* 3381c274c4eSKim Phillips * Miscellaneous configurable options 3391c274c4eSKim Phillips */ 3406d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LONGHELP /* undef to save memory */ 3416d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LOAD_ADDR 0x2000000 /* default load address */ 3421c274c4eSKim Phillips 3431c274c4eSKim Phillips #if (CONFIG_CMD_KGDB) 3446d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */ 3451c274c4eSKim Phillips #else 3466d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */ 3471c274c4eSKim Phillips #endif 3481c274c4eSKim Phillips 3494dde49d8SJoe Hershberger /* Print Buffer Size */ 3504dde49d8SJoe Hershberger #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) 3516d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MAXARGS 16 /* max number of command args */ 3524dde49d8SJoe Hershberger /* Boot Argument Buffer Size */ 3534dde49d8SJoe Hershberger #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE 3541c274c4eSKim Phillips 3551c274c4eSKim Phillips /* 3561c274c4eSKim Phillips * For booting Linux, the board info and command line data 3579f530d59SIra W. Snyder * have to be in the first 256 MB of memory, since this is 3581c274c4eSKim Phillips * the maximum mapped by the Linux kernel during initialization. 3591c274c4eSKim Phillips */ 3604dde49d8SJoe Hershberger /* Initial Memory map for Linux */ 3614dde49d8SJoe Hershberger #define CONFIG_SYS_BOOTMAPSZ (256 << 20) 3621c274c4eSKim Phillips 3631c274c4eSKim Phillips /* 3641c274c4eSKim Phillips * Core HID Setup 3651c274c4eSKim Phillips */ 3666d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_HID0_INIT 0x000000000 3671a2e203bSKim Phillips #define CONFIG_SYS_HID0_FINAL (HID0_ENABLE_MACHINE_CHECK | \ 3681a2e203bSKim Phillips HID0_ENABLE_INSTRUCTION_CACHE) 3696d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_HID2 HID2_HBE 3701c274c4eSKim Phillips 3711c274c4eSKim Phillips /* 3721c274c4eSKim Phillips * MMU Setup 3731c274c4eSKim Phillips */ 37431d82672SBecky Bruce #define CONFIG_HIGH_BATS 1 /* High BATs supported */ 3751c274c4eSKim Phillips 3761c274c4eSKim Phillips /* DDR: cache cacheable */ 3774dde49d8SJoe Hershberger #define CONFIG_SYS_IBAT0L (CONFIG_SYS_SDRAM_BASE \ 37872cd4087SJoe Hershberger | BATL_PP_RW \ 3794dde49d8SJoe Hershberger | BATL_MEMCOHERENCE) 3804dde49d8SJoe Hershberger #define CONFIG_SYS_IBAT0U (CONFIG_SYS_SDRAM_BASE \ 3814dde49d8SJoe Hershberger | BATU_BL_256M \ 3824dde49d8SJoe Hershberger | BATU_VS \ 3834dde49d8SJoe Hershberger | BATU_VP) 3846d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DBAT0L CONFIG_SYS_IBAT0L 3856d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DBAT0U CONFIG_SYS_IBAT0U 3861c274c4eSKim Phillips 3871c274c4eSKim Phillips /* IMMRBAR & PCI IO: cache-inhibit and guarded */ 3884dde49d8SJoe Hershberger #define CONFIG_SYS_IBAT1L (CONFIG_SYS_IMMR \ 38972cd4087SJoe Hershberger | BATL_PP_RW \ 3904dde49d8SJoe Hershberger | BATL_CACHEINHIBIT \ 3914dde49d8SJoe Hershberger | BATL_GUARDEDSTORAGE) 3924dde49d8SJoe Hershberger #define CONFIG_SYS_IBAT1U (CONFIG_SYS_IMMR \ 3934dde49d8SJoe Hershberger | BATU_BL_4M \ 3944dde49d8SJoe Hershberger | BATU_VS \ 3954dde49d8SJoe Hershberger | BATU_VP) 3966d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DBAT1L CONFIG_SYS_IBAT1L 3976d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DBAT1U CONFIG_SYS_IBAT1U 3981c274c4eSKim Phillips 3991c274c4eSKim Phillips /* FLASH: icache cacheable, but dcache-inhibit and guarded */ 4004dde49d8SJoe Hershberger #define CONFIG_SYS_IBAT2L (CONFIG_SYS_FLASH_BASE \ 40172cd4087SJoe Hershberger | BATL_PP_RW \ 4024dde49d8SJoe Hershberger | BATL_MEMCOHERENCE) 4034dde49d8SJoe Hershberger #define CONFIG_SYS_IBAT2U (CONFIG_SYS_FLASH_BASE \ 4044dde49d8SJoe Hershberger | BATU_BL_32M \ 4054dde49d8SJoe Hershberger | BATU_VS \ 4064dde49d8SJoe Hershberger | BATU_VP) 4074dde49d8SJoe Hershberger #define CONFIG_SYS_DBAT2L (CONFIG_SYS_FLASH_BASE \ 40872cd4087SJoe Hershberger | BATL_PP_RW \ 4094dde49d8SJoe Hershberger | BATL_CACHEINHIBIT \ 4104dde49d8SJoe Hershberger | BATL_GUARDEDSTORAGE) 4116d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DBAT2U CONFIG_SYS_IBAT2U 4121c274c4eSKim Phillips 4136d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_IBAT3L (0) 4146d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_IBAT3U (0) 4156d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DBAT3L CONFIG_SYS_IBAT3L 4166d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DBAT3U CONFIG_SYS_IBAT3U 4171c274c4eSKim Phillips 4181c274c4eSKim Phillips /* Stack in dcache: cacheable, no memory coherence */ 41972cd4087SJoe Hershberger #define CONFIG_SYS_IBAT4L (CONFIG_SYS_INIT_RAM_ADDR | BATL_PP_RW) 4204dde49d8SJoe Hershberger #define CONFIG_SYS_IBAT4U (CONFIG_SYS_INIT_RAM_ADDR \ 4214dde49d8SJoe Hershberger | BATU_BL_128K \ 4224dde49d8SJoe Hershberger | BATU_VS \ 4234dde49d8SJoe Hershberger | BATU_VP) 4246d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DBAT4L CONFIG_SYS_IBAT4L 4256d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DBAT4U CONFIG_SYS_IBAT4U 4261c274c4eSKim Phillips 4271c274c4eSKim Phillips #ifdef CONFIG_PCI 4281c274c4eSKim Phillips /* PCI MEM space: cacheable */ 4294dde49d8SJoe Hershberger #define CONFIG_SYS_IBAT5L (CONFIG_SYS_PCI1_MEM_PHYS \ 43072cd4087SJoe Hershberger | BATL_PP_RW \ 4314dde49d8SJoe Hershberger | BATL_MEMCOHERENCE) 4324dde49d8SJoe Hershberger #define CONFIG_SYS_IBAT5U (CONFIG_SYS_PCI1_MEM_PHYS \ 4334dde49d8SJoe Hershberger | BATU_BL_256M \ 4344dde49d8SJoe Hershberger | BATU_VS \ 4354dde49d8SJoe Hershberger | BATU_VP) 4366d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DBAT5L CONFIG_SYS_IBAT5L 4376d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DBAT5U CONFIG_SYS_IBAT5U 4381c274c4eSKim Phillips /* PCI MMIO space: cache-inhibit and guarded */ 4394dde49d8SJoe Hershberger #define CONFIG_SYS_IBAT6L (CONFIG_SYS_PCI1_MMIO_PHYS \ 44072cd4087SJoe Hershberger | BATL_PP_RW \ 4414dde49d8SJoe Hershberger | BATL_CACHEINHIBIT \ 4424dde49d8SJoe Hershberger | BATL_GUARDEDSTORAGE) 4434dde49d8SJoe Hershberger #define CONFIG_SYS_IBAT6U (CONFIG_SYS_PCI1_MMIO_PHYS \ 4444dde49d8SJoe Hershberger | BATU_BL_256M \ 4454dde49d8SJoe Hershberger | BATU_VS \ 4464dde49d8SJoe Hershberger | BATU_VP) 4476d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DBAT6L CONFIG_SYS_IBAT6L 4486d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DBAT6U CONFIG_SYS_IBAT6U 4491c274c4eSKim Phillips #else 4506d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_IBAT5L (0) 4516d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_IBAT5U (0) 4526d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_IBAT6L (0) 4536d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_IBAT6U (0) 4546d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DBAT5L CONFIG_SYS_IBAT5L 4556d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DBAT5U CONFIG_SYS_IBAT5U 4566d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DBAT6L CONFIG_SYS_IBAT6L 4576d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DBAT6U CONFIG_SYS_IBAT6U 4581c274c4eSKim Phillips #endif 4591c274c4eSKim Phillips 4601c274c4eSKim Phillips /* Nothing in BAT7 */ 4616d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_IBAT7L (0) 4626d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_IBAT7U (0) 4636d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DBAT7L CONFIG_SYS_IBAT7L 4646d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DBAT7U CONFIG_SYS_IBAT7U 4651c274c4eSKim Phillips 4661c274c4eSKim Phillips #if (CONFIG_CMD_KGDB) 4671c274c4eSKim Phillips #define CONFIG_KGDB_BAUDRATE 230400 /* speed of kgdb serial port */ 4681c274c4eSKim Phillips #endif 4691c274c4eSKim Phillips 4701c274c4eSKim Phillips /* 4711c274c4eSKim Phillips * Environment Configuration 4721c274c4eSKim Phillips */ 4731c274c4eSKim Phillips #define CONFIG_ENV_OVERWRITE 4741c274c4eSKim Phillips 475977b5758SKim Phillips #define CONFIG_HAS_ETH0 /* add support for "ethaddr" */ 4761c274c4eSKim Phillips #define CONFIG_HAS_ETH1 /* add support for "eth1addr" */ 4771c274c4eSKim Phillips 4784dde49d8SJoe Hershberger /* use mac_read_from_eeprom() to read ethaddr from I2C EEPROM 4794dde49d8SJoe Hershberger * (see CONFIG_SYS_I2C_EEPROM) */ 4804dde49d8SJoe Hershberger /* MAC address offset in I2C EEPROM */ 4814dde49d8SJoe Hershberger #define CONFIG_SYS_I2C_MAC_OFFSET 0x7f00 4825b2793a3SMichael Barkowski 4834dde49d8SJoe Hershberger #define CONFIG_NETDEV "eth1" 4841c274c4eSKim Phillips 4851c274c4eSKim Phillips #define CONFIG_HOSTNAME mpc8323erdb 4868b3637c6SJoe Hershberger #define CONFIG_ROOTPATH "/nfsroot" 487b3f44c21SJoe Hershberger #define CONFIG_BOOTFILE "uImage" 4884dde49d8SJoe Hershberger /* U-Boot image on TFTP server */ 4894dde49d8SJoe Hershberger #define CONFIG_UBOOTPATH "u-boot.bin" 4904dde49d8SJoe Hershberger #define CONFIG_FDTFILE "mpc832x_rdb.dtb" 4914dde49d8SJoe Hershberger #define CONFIG_RAMDISKFILE "rootfs.ext2.gz.uboot" 4921c274c4eSKim Phillips 4934dde49d8SJoe Hershberger /* default location for tftp and bootm */ 4944dde49d8SJoe Hershberger #define CONFIG_LOADADDR 800000 4951c274c4eSKim Phillips #define CONFIG_BAUDRATE 115200 4961c274c4eSKim Phillips 4971c274c4eSKim Phillips #define CONFIG_EXTRA_ENV_SETTINGS \ 4984dde49d8SJoe Hershberger "netdev=" CONFIG_NETDEV "\0" \ 4994dde49d8SJoe Hershberger "uboot=" CONFIG_UBOOTPATH "\0" \ 5001c274c4eSKim Phillips "tftpflash=tftp $loadaddr $uboot;" \ 5015368c55dSMarek Vasut "protect off " __stringify(CONFIG_SYS_TEXT_BASE) \ 5025368c55dSMarek Vasut " +$filesize; " \ 5035368c55dSMarek Vasut "erase " __stringify(CONFIG_SYS_TEXT_BASE) \ 5045368c55dSMarek Vasut " +$filesize; " \ 5055368c55dSMarek Vasut "cp.b $loadaddr " __stringify(CONFIG_SYS_TEXT_BASE) \ 5065368c55dSMarek Vasut " $filesize; " \ 5075368c55dSMarek Vasut "protect on " __stringify(CONFIG_SYS_TEXT_BASE) \ 5085368c55dSMarek Vasut " +$filesize; " \ 5095368c55dSMarek Vasut "cmp.b $loadaddr " __stringify(CONFIG_SYS_TEXT_BASE) \ 5105368c55dSMarek Vasut " $filesize\0" \ 51179f516bcSKim Phillips "fdtaddr=780000\0" \ 5124dde49d8SJoe Hershberger "fdtfile=" CONFIG_FDTFILE "\0" \ 5131c274c4eSKim Phillips "ramdiskaddr=1000000\0" \ 5144dde49d8SJoe Hershberger "ramdiskfile=" CONFIG_RAMDISKFILE "\0" \ 5151c274c4eSKim Phillips "console=ttyS0\0" \ 5161c274c4eSKim Phillips "setbootargs=setenv bootargs " \ 5171c274c4eSKim Phillips "root=$rootdev rw console=$console,$baudrate $othbootargs\0"\ 5181c274c4eSKim Phillips "setipargs=setenv bootargs nfsroot=$serverip:$rootpath " \ 5194dde49d8SJoe Hershberger "ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:"\ 5204dde49d8SJoe Hershberger "$netdev:off "\ 5211c274c4eSKim Phillips "root=$rootdev rw console=$console,$baudrate $othbootargs\0" 5221c274c4eSKim Phillips 5231c274c4eSKim Phillips #define CONFIG_NFSBOOTCOMMAND \ 5241c274c4eSKim Phillips "setenv rootdev /dev/nfs;" \ 5251c274c4eSKim Phillips "run setbootargs;" \ 5261c274c4eSKim Phillips "run setipargs;" \ 5271c274c4eSKim Phillips "tftp $loadaddr $bootfile;" \ 5281c274c4eSKim Phillips "tftp $fdtaddr $fdtfile;" \ 5291c274c4eSKim Phillips "bootm $loadaddr - $fdtaddr" 5301c274c4eSKim Phillips 5311c274c4eSKim Phillips #define CONFIG_RAMBOOTCOMMAND \ 5321c274c4eSKim Phillips "setenv rootdev /dev/ram;" \ 5331c274c4eSKim Phillips "run setbootargs;" \ 5341c274c4eSKim Phillips "tftp $ramdiskaddr $ramdiskfile;" \ 5351c274c4eSKim Phillips "tftp $loadaddr $bootfile;" \ 5361c274c4eSKim Phillips "tftp $fdtaddr $fdtfile;" \ 5371c274c4eSKim Phillips "bootm $loadaddr $ramdiskaddr $fdtaddr" 5381c274c4eSKim Phillips 5391c274c4eSKim Phillips #endif /* __CONFIG_H */ 540