@ -27,14 +27,24 @@
/*-----------------------------------------------------------------------
* High Level Configuration Options
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
/* This config file is used for Canyonlands (460EX) and Glacier (460GT) */
# ifndef CONFIG_CANYONLANDS
/*
* This config file is used for Canyonlands ( 460 EX ) Glacier ( 460 GT )
* and Arches dual ( 460 GT )
*/
# ifdef CONFIG_CANYONLANDS
# define CONFIG_460EX 1 /* Specific PPC460EX */
# define CONFIG_HOSTNAME canyonlands
# else
# define CONFIG_460GT 1 /* Specific PPC460GT */
# ifdef CONFIG_GLACIER
# define CONFIG_HOSTNAME glacier
# else
# define CONFIG_460EX 1 /* Specific PPC460EX */
# define CONFIG_HOSTNAME canyonlands
# define CONFIG_HOSTNAME arches
# define CONFIG_USE_NETDEV eth1
# define CONFIG_BD_NUM_CPUS 2
# endif
# endif
# define CONFIG_440 1
# define CONFIG_4xx 1 /* ... PPC4xx family */
@ -73,15 +83,24 @@
# define CONFIG_SYS_PCIE_INBOUND_BASE 0x000000000ULL /* 36bit physical addr */
/* EBC stuff */
# define CONFIG_SYS_NAND_ADDR 0xE0000000
# if !defined(CONFIG_ARCHES)
# define CONFIG_SYS_BCSR_BASE 0xE1000000
# define CONFIG_SYS_BOOT_BASE_ADDR 0xFF000000 /* EBC Boot Space: 0xFF000000 */
# define CONFIG_SYS_FLASH_BASE 0xFC000000 /* later mapped to this addr */
# define CONFIG_SYS_FLASH_BASE 0xFC000000 /* later mapped to this addr */
# define CONFIG_SYS_FLASH_SIZE (64 << 20)
# else
# define CONFIG_SYS_FPGA_BASE 0xE1000000
# define CONFIG_SYS_CPLD_ADDR (CONFIG_SYS_FPGA_BASE + 0x00080000)
# define CONFIG_SYS_CPLD_DATA (CONFIG_SYS_FPGA_BASE + 0x00080002)
# define CONFIG_SYS_FLASH_BASE 0xFE000000 /* later mapped to this addr */
# define CONFIG_SYS_FLASH_SIZE (32 << 20)
# endif
# define CONFIG_SYS_NAND_ADDR 0xE0000000
# define CONFIG_SYS_BOOT_BASE_ADDR 0xFF000000 /* EBC Boot Space: 0xFF000000 */
# define CONFIG_SYS_FLASH_BASE_PHYS_H 0x4
# define CONFIG_SYS_FLASH_BASE_PHYS_L 0xCC000000
# define CONFIG_SYS_FLASH_BASE_PHYS (((u64)CONFIG_SYS_FLASH_BASE_PHYS_H << 32) | \
( u64 ) CONFIG_SYS_FLASH_BASE_PHYS_L )
# define CONFIG_SYS_FLASH_SIZE (64 << 20)
# define CONFIG_SYS_FLASH_BASE_PHYS (((u64)CONFIG_SYS_FLASH_BASE_PHYS_H << 32) | \
( u64 ) CONFIG_SYS_FLASH_BASE_PHYS_L )
# define CONFIG_SYS_OCM_BASE 0xE3000000 /* OCM: 16k */
# define CONFIG_SYS_SRAM_BASE 0xE8000000 /* SRAM: 256k */
@ -223,6 +242,7 @@
* DDR SDRAM
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
# if !defined(CONFIG_NAND_U_BOOT)
# if !defined(CONFIG_ARCHES)
/*
* NAND booting U - Boot version uses a fixed initialization , since the whole
* I2C SPD DIMM autodetection / calibration doesn ' t fit into the 4 k of boot
@ -232,7 +252,70 @@
# define SPD_EEPROM_ADDRESS {0x50, 0x51} /* SPD i2c spd addresses*/
# define CONFIG_DDR_ECC 1 /* with ECC support */
# define CONFIG_DDR_RQDC_FIXED 0x80000038 /* fixed value for RQDC */
# endif
# else /* defined(CONFIG_ARCHES) */
# define CONFIG_AUTOCALIB "silent\0" /* default is non-verbose */
# define CONFIG_PPC4xx_DDR_AUTOCALIBRATION /* IBM DDR autocalibration */
# define DEBUG_PPC4xx_DDR_AUTOCALIBRATION /* dynamic DDR autocal debug */
# undef CONFIG_PPC4xx_DDR_METHOD_A
/* DDR1/2 SDRAM Device Control Register Data Values */
/* Memory Queue */
# define CONFIG_SYS_SDRAM_R0BAS 0x0000f000
# define CONFIG_SYS_SDRAM_R1BAS 0x00000000
# define CONFIG_SYS_SDRAM_R2BAS 0x00000000
# define CONFIG_SYS_SDRAM_R3BAS 0x00000000
# define CONFIG_SYS_SDRAM_PLBADDULL 0x00000000
# define CONFIG_SYS_SDRAM_PLBADDUHB 0x00000008
# define CONFIG_SYS_SDRAM_CONF1LL 0x00001080
# define CONFIG_SYS_SDRAM_CONF1HB 0x00001080
# define CONFIG_SYS_SDRAM_CONFPATHB 0x10a68000
/* SDRAM Controller */
# define CONFIG_SYS_SDRAM0_MB0CF 0x00000701
# define CONFIG_SYS_SDRAM0_MB1CF 0x00000000
# define CONFIG_SYS_SDRAM0_MB2CF 0x00000000
# define CONFIG_SYS_SDRAM0_MB3CF 0x00000000
# define CONFIG_SYS_SDRAM0_MCOPT1 0x05322000
# define CONFIG_SYS_SDRAM0_MCOPT2 0x00000000
# define CONFIG_SYS_SDRAM0_MODT0 0x01000000
# define CONFIG_SYS_SDRAM0_MODT1 0x00000000
# define CONFIG_SYS_SDRAM0_MODT2 0x00000000
# define CONFIG_SYS_SDRAM0_MODT3 0x00000000
# define CONFIG_SYS_SDRAM0_CODT 0x00800021
# define CONFIG_SYS_SDRAM0_RTR 0x06180000
# define CONFIG_SYS_SDRAM0_INITPLR0 0xb5380000
# define CONFIG_SYS_SDRAM0_INITPLR1 0x82100400
# define CONFIG_SYS_SDRAM0_INITPLR2 0x80820000
# define CONFIG_SYS_SDRAM0_INITPLR3 0x80830000
# define CONFIG_SYS_SDRAM0_INITPLR4 0x80810040
# define CONFIG_SYS_SDRAM0_INITPLR5 0x80800532
# define CONFIG_SYS_SDRAM0_INITPLR6 0x82100400
# define CONFIG_SYS_SDRAM0_INITPLR7 0x8a080000
# define CONFIG_SYS_SDRAM0_INITPLR8 0x8a080000
# define CONFIG_SYS_SDRAM0_INITPLR9 0x8a080000
# define CONFIG_SYS_SDRAM0_INITPLR10 0x8a080000
# define CONFIG_SYS_SDRAM0_INITPLR11 0x80000432
# define CONFIG_SYS_SDRAM0_INITPLR12 0x808103c0
# define CONFIG_SYS_SDRAM0_INITPLR13 0x80810040
# define CONFIG_SYS_SDRAM0_INITPLR14 0x00000000
# define CONFIG_SYS_SDRAM0_INITPLR15 0x00000000
# define CONFIG_SYS_SDRAM0_RQDC 0x80000038
# define CONFIG_SYS_SDRAM0_RFDC 0x00000257
# define CONFIG_SYS_SDRAM0_RDCC 0x40000000
# define CONFIG_SYS_SDRAM0_DLCR 0x03000091
# define CONFIG_SYS_SDRAM0_CLKTR 0x40000000
# define CONFIG_SYS_SDRAM0_WRDTR 0x82000823
# define CONFIG_SYS_SDRAM0_SDTR1 0x80201000
# define CONFIG_SYS_SDRAM0_SDTR2 0x42204243
# define CONFIG_SYS_SDRAM0_SDTR3 0x090c0d1a
# define CONFIG_SYS_SDRAM0_MMODE 0x00000432
# define CONFIG_SYS_SDRAM0_MEMODE 0x00000004
# endif /* !defined(CONFIG_ARCHES) */
# endif /* !defined(CONFIG_NAND_U_BOOT) */
# define CONFIG_SYS_MBYTES_SDRAM 512 /* 512MB */
/*-----------------------------------------------------------------------
@ -254,18 +337,27 @@
# define CONFIG_SYS_DTT_LOW_TEMP -30
# define CONFIG_SYS_DTT_HYSTERESIS 3
# if defined(CONFIG_ARCHES)
# define CONFIG_SYS_I2C_DTT_ADDR 0x4a /* AD7414 I2C address */
# endif
# if !defined(CONFIG_ARCHES)
/* RTC configuration */
# define CONFIG_RTC_M41T62 1
# define CONFIG_SYS_I2C_RTC_ADDR 0x68
# endif
/*-----------------------------------------------------------------------
* Ethernet
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
# define CONFIG_IBM_EMAC4_V4 1
# define CONFIG_PHY_ADDR 0 /* PHY address, See schematics */
# define CONFIG_PHY1_ADDR 1
# define CONFIG_HAS_ETH0
# define CONFIG_HAS_ETH1
# if !defined(CONFIG_ARCHES)
# define CONFIG_PHY_ADDR 0 /* PHY address, See schematics */
# define CONFIG_PHY1_ADDR 1
/* Only Glacier (460GT) has 4 EMAC interfaces */
# ifdef CONFIG_460GT
# define CONFIG_PHY2_ADDR 2
@ -274,6 +366,30 @@
# define CONFIG_HAS_ETH3
# endif
# else /* defined(CONFIG_ARCHES) */
# define CONFIG_FIXED_PHY 0xFFFFFFFF
# define CONFIG_PHY_ADDR CONFIG_FIXED_PHY
# define CONFIG_PHY1_ADDR 0
# define CONFIG_PHY2_ADDR 1
# define CONFIG_HAS_ETH2
# define CONFIG_SYS_FIXED_PHY_PORT(devnum, speed, duplex) \
{ devnum , speed , duplex }
# define CONFIG_SYS_FIXED_PHY_PORTS \
CONFIG_SYS_FIXED_PHY_PORT ( 0 , 1000 , FULL )
# define CONFIG_M88E1112_PHY
/*
* For the GPCS_PHYx_ADDR PHY address , choose some PHY address not
* used by CONFIG_PHYx_ADDR
*/
# define CONFIG_GPCS_PHY_ADDR 0xA
# define CONFIG_GPCS_PHY1_ADDR 0xB
# define CONFIG_GPCS_PHY2_ADDR 0xC
# endif /* !defined(CONFIG_ARCHES) */
# define CONFIG_PHY_RESET 1 /* reset phy upon startup */
# define CONFIG_PHY_GIGE 1 /* Include GbE speed/duplex detection */
# define CONFIG_PHY_DYNAMIC_ANEG 1
@ -296,7 +412,8 @@
/*
* Default environment variables
*/
# define CONFIG_EXTRA_ENV_SETTINGS \
# if !defined(CONFIG_ARCHES)
# define CONFIG_EXTRA_ENV_SETTINGS \
CONFIG_AMCC_DEF_ENV \
CONFIG_AMCC_DEF_ENV_POWERPC \
CONFIG_AMCC_DEF_ENV_NOR_UPD \
@ -307,20 +424,46 @@
" pciconfighost=1 \0 " \
" pcie_mode=RP:RP \0 " \
" "
# else /* defined(CONFIG_ARCHES) */
# define CONFIG_EXTRA_ENV_SETTINGS \
CONFIG_AMCC_DEF_ENV \
CONFIG_AMCC_DEF_ENV_POWERPC \
CONFIG_AMCC_DEF_ENV_NOR_UPD \
" kernel_addr=fe000000 \0 " \
" fdt_addr=fe1e0000 \0 " \
" ramdisk_addr=fe200000 \0 " \
" pciconfighost=1 \0 " \
" pcie_mode=RP:RP \0 " \
" ethprime=ppc_4xx_eth1 \0 " \
" "
# endif /* !defined(CONFIG_ARCHES) */
/*
* Commands additional to the ones defined in amcc - common . h
*/
# if defined(CONFIG_ARCHES)
# define CONFIG_CMD_DTT
# define CONFIG_CMD_PCI
# define CONFIG_CMD_SDRAM
# elif defined(CONFIG_CANYONLANDS)
# define CONFIG_CMD_DATE
# define CONFIG_CMD_DTT
# define CONFIG_CMD_EXT2
# define CONFIG_CMD_FAT
# define CONFIG_CMD_NAND
# define CONFIG_CMD_PCI
# define CONFIG_CMD_SDRAM
# define CONFIG_CMD_SNTP
# ifdef CONFIG_460EX
# define CONFIG_CMD_EXT2
# define CONFIG_CMD_FAT
# define CONFIG_CMD_USB
# elif defined(CONFIG_GLACIER)
# define CONFIG_CMD_DATE
# define CONFIG_CMD_DTT
# define CONFIG_CMD_NAND
# define CONFIG_CMD_PCI
# define CONFIG_CMD_SDRAM
# define CONFIG_CMD_SNTP
# else
# error "board type not defined"
# endif
/* Partitions */
@ -344,6 +487,36 @@
# define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x1014 /* IBM */
# define CONFIG_SYS_PCI_SUBSYS_DEVICEID 0xcafe /* Whatever */
# ifdef CONFIG_460GT
# if defined(CONFIG_ARCHES)
/*-----------------------------------------------------------------------
* RapidIO I / O and Registers
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
# define CONFIG_RAPIDIO
# define CONFIG_SYS_460GT_SRIO_ERRATA_1
# define SRGPL0_REG_BAR 0x0000000DAA000000ull /* 16MB */
# define SRGPL0_CFG_BAR 0x0000000DAB000000ull /* 16MB */
# define SRGPL0_MNT_BAR 0x0000000DAC000000ull /* 16MB */
# define SRGPL0_MSG_BAR 0x0000000DAD000000ull /* 16MB */
# define SRGPL0_OUT_BAR 0x0000000DB0000000ull /* 256MB */
# define CONFIG_SYS_SRGPL0_REG_BAR 0xAA000000 /* 16MB */
# define CONFIG_SYS_SRGPL0_CFG_BAR 0xAB000000 /* 16MB */
# define CONFIG_SYS_SRGPL0_MNT_BAR 0xAC000000 /* 16MB */
# define CONFIG_SYS_SRGPL0_MSG_BAR 0xAD000000 /* 16MB */
# define CONFIG_SYS_I2ODMA_BASE 0xCF000000
# define CONFIG_SYS_I2ODMA_PHYS_ADDR 0x0000000400100000ull
# define CONFIG_PPC4XX_RAPIDIO_PROMISCUOUS_MODE
# undef CONFIG_PPC4XX_RAPIDIO_DEBUG
# undef CONFIG_PPC4XX_RAPIDIO_IN_BAR_USE_OCM
# define CONFIG_PPC4XX_RAPIDIO_USE_HB_PLB
# undef CONFIG_PPC4XX_RAPIDIO_LOOPBACK
# endif /* CONFIG_ARCHES */
# endif /* CONFIG_460GT */
/*-----------------------------------------------------------------------
* External Bus Controller ( EBC ) Setup
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@ -356,6 +529,11 @@
* EBC address which accepts bigger regions :
*
* 0xfc00 .0000 - > 4. cc00 .0000
*
* Arches has 32 MBytes of NOR FLASH ( Spansion 29 GL256 ) , it will be
* remapped to :
*
* 0xfe00 .0000 - > 4. ce00 .0000
*/
# if defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL)
@ -371,15 +549,25 @@
# define CONFIG_SYS_EBC_PB0AP 0x10055e00
# define CONFIG_SYS_EBC_PB0CR (CONFIG_SYS_BOOT_BASE_ADDR | 0x9a000)
# if !defined(CONFIG_ARCHES)
/* Memory Bank 3 (NAND-FLASH) initialization */
# define CONFIG_SYS_EBC_PB3AP 0x018003c0
# define CONFIG_SYS_EBC_PB3CR (CONFIG_SYS_NAND_ADDR | 0x1E000) /* BAS=NAND,BS=1MB,BU=R/W,BW=32bit*/
# endif
# endif /*defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL) */
# if !defined(CONFIG_ARCHES)
/* Memory Bank 2 (CPLD) initialization */
# define CONFIG_SYS_EBC_PB2AP 0x00804240
# define CONFIG_SYS_EBC_PB2CR (CONFIG_SYS_BCSR_BASE | 0x18000) /* BAS=CPLD,BS=1M,BU=RW,BW=32bit */
# else /* defined(CONFIG_ARCHES) */
/* Memory Bank 1 (FPGA) initialization */
# define CONFIG_SYS_EBC_PB1AP 0x7f8ffe80
# define CONFIG_SYS_EBC_PB1CR (CONFIG_SYS_FPGA_BASE | 0x3a000) /* BAS=FPGA,BS=2MB,BU=R/W,BW=16bit*/
# endif /* !defined(CONFIG_ARCHES) */
# define CONFIG_SYS_EBC_CFG 0xB8400000 /* EBC0_CFG */
/*