blob: 7b89358bb69ea63ddef213793f7ab041a08bcfe0 [file] [log] [blame]
/*
* Copyright (c) 2013 Qualcomm Atheros, Inc.
*
* See file CREDITS for list of people who contributed to this
* project.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
/*
* This file contains the configuration parameters for the dbau1x00 board.
*/
#ifndef __CONFIG_H
#define __CONFIG_H
#include <configs/ar7240.h>
#define CONFIG_AR7240_EMU 1
/*-----------------------------------------------------------------------
* FLASH and environment organization
*/
#define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */
#define CFG_MAX_FLASH_SECT 64 /* max number of sectors on one chip */
#define CFG_FLASH_SECTOR_SIZE (64*1024)
#define CFG_FLASH_SIZE 0x00800000 /* Total flash size */
#if (CFG_MAX_FLASH_SECT * CFG_FLASH_SECTOR_SIZE) != CFG_FLASH_SIZE
# error "Invalid flash configuration"
#endif
#define CFG_FLASH_WORD_SIZE unsigned short
/*
* We boot from this flash
*/
#define CFG_FLASH_BASE 0xbf000000
/*
* The following #defines are needed to get flash environment right
*/
#define CFG_MONITOR_BASE TEXT_BASE
#define CFG_MONITOR_LEN (192 << 10)
#undef CONFIG_BOOTARGS
/* XXX - putting rootfs in last partition results in jffs errors */
#define CONFIG_BOOTARGS "console=ttyS0,9600 root=31:02 rootfstype=jffs2 init=/sbin/init mtdparts=ar7240-nor0:256k(u-boot),64k(u-boot-env),5120k(rootfs),1024k(uImage)"
/* default mtd partition table */
#undef MTDPARTS_DEFAULT
#define MTDPARTS_DEFAULT "mtdparts=ar7240-nor0:256k(u-boot),64k(u-boot-env),5120k(rootfs),1024k(uImage)"
#undef CFG_PLL_FREQ
#define CFG_PLL_FREQ CFG_PLL_400_400_100
/* Atheros Header configuration */
#define CFG_ATHRS26_PHY 1
#undef CFG_HZ
/*
* MIPS32 24K Processor Core Family Software User's Manual
*
* 6.2.9 Count Register (CP0 Register 9, Select 0)
* The Count register acts as a timer, incrementing at a constant
* rate, whether or not an instruction is executed, retired, or
* any forward progress is made through the pipeline. The counter
* increments every other clock, if the DC bit in the Cause register
* is 0.
*/
/* Since the count is incremented every other tick, divide by 2 */
/* XXX derive this from CFG_PLL_FREQ */
#if (CFG_PLL_FREQ == CFG_PLL_200_200_100)
# define CFG_HZ (200000000/2)
#elif (CFG_PLL_FREQ == CFG_PLL_300_300_150)
# define CFG_HZ (200000000/2)
#elif (CFG_PLL_FREQ == CFG_PLL_333_333_166)
# define CFG_HZ (333000000/2)
#elif (CFG_PLL_FREQ == CFG_PLL_266_266_133)
# define CFG_HZ (266000000/2)
#elif (CFG_PLL_FREQ == CFG_PLL_266_266_66)
# define CFG_HZ (266000000/2)
#elif (CFG_PLL_FREQ == CFG_PLL_400_400_200) || (CFG_PLL_FREQ == CFG_PLL_400_400_100)
# define CFG_HZ (400000000/2)
#endif
/*
* timeout values are in ticks
*/
#define CFG_FLASH_ERASE_TOUT (2 * CFG_HZ) /* Timeout for Flash Erase */
#define CFG_FLASH_WRITE_TOUT (2 * CFG_HZ) /* Timeout for Flash Write */
/*
* Cache lock for stack
*/
#define CFG_INIT_SP_OFFSET 0x1000
#define CFG_ENV_IS_IN_FLASH 1
#undef CFG_ENV_IS_NOWHERE
/* Address and size of Primary Environment Sector */
#define CFG_ENV_ADDR 0xbf040000
#define CFG_ENV_SIZE 0x10000
#define CONFIG_BOOTCOMMAND "bootm 0xbf550000"
//#define CONFIG_FLASH_16BIT
#define CONFIG_NR_DRAM_BANKS 2
#if 0
#if (CFG_PLL_FREQ == CFG_PLL_200_200_100)
#define CFG_DDR_REFRESH_VAL 0x4c00
#define CFG_DDR_CONFIG_VAL 0x67bc8cd0
#define CFG_DDR_MODE_VAL_INIT 0x161
#define CFG_DDR_EXT_MODE_VAL 0x2
#define CFG_DDR_MODE_VAL 0x61
#elif (CFG_PLL_FREQ == CFG_PLL_400_400_200) || (CFG_PLL_FREQ == CFG_PLL_400_400_100)
#define CFG_DDR_REFRESH_VAL 0x5f00
#define CFG_DDR_CONFIG_VAL 0x77bc8cd0
#define CFG_DDR_MODE_VAL_INIT 0x131
#define CFG_DDR_EXT_MODE_VAL 0x0
#define CFG_DDR_MODE_VAL 0x31
#endif
#define CFG_DDR_TRTW_VAL 0x1f
#define CFG_DDR_TWTR_VAL 0x1e
#define CFG_DDR_CONFIG2_VAL 0x83d1f6a2
#define CFG_DDR_RD_DATA_THIS_CYCLE_VAL 0xffff
#endif
#define CONFIG_NET_MULTI
#define CONFIG_MEMSIZE_IN_BYTES
#define CFG_DDR_REFRESH_VAL 0x4f10
#define CFG_DDR_CONFIG_VAL 0x6fbc8890
#define CFG_DDR_MODE_VAL_INIT 0x123
#define CFG_DDR_EXT_MODE_VAL 0x1
#define CFG_DDR_MODE_VAL 0x23
#define CFG_DDR_CONFIG2_VAL 0x91d0e6a8
#define CFG_DDR_RD_DATA_THIS_CYCLE_VAL 0x00ff
/*-----------------------------------------------------------------------
* Cache Configuration
*/
#define CONFIG_COMMANDS (( CONFIG_CMD_DFL | CFG_CMD_DHCP | CFG_CMD_ELF | \
CFG_CMD_MII | CFG_CMD_PING | CFG_CMD_NET |\
CFG_CMD_ENV | CFG_CMD_FLASH | CFG_CMD_LOADS | CFG_CMD_RUN | CFG_CMD_LOADB \
| CFG_CMD_ELF ))
#define CONFIG_IPADDR 192.168.1.10
#define CONFIG_SERVERIP 192.168.1.27
#define CONFIG_ETHADDR 0x00:0xaa:0xbb:0xcc:0xdd:0xee
#define CFG_FAULT_ECHO_LINK_DOWN 1
#define CFG_PHY_ADDR 0
#define CFG_AG7240_NMACS 2
#define CFG_GMII 0
#define CFG_MII0_RMII 1
#define CFG_BOOTM_LEN (16 << 20) /* 16 MB */
#define DEBUG
#define CFG_HUSH_PARSER
#define CFG_PROMPT_HUSH_PS2 "hush>"
/*
** Parameters defining the location of the calibration/initialization
** information for the two Merlin devices.
** NOTE: **This will change with different flash configurations**
*/
#define WLANCAL 0xbfff1000
#define BOARDCAL 0xbfff0000
#define ATHEROS_PRODUCT_ID 136
#define CAL_SECTOR 63
/* For Merlin, both PCI, PCI-E interfaces are valid */
#define AR7240_ART_PCICFG_OFFSET 12
#include <cmd_confdefs.h>
#endif /* __CONFIG_H */