1*3d3befa7Swdenk /* 2*3d3befa7Swdenk * (C) Copyright 2003 3*3d3befa7Swdenk * Texas Instruments. 4*3d3befa7Swdenk * Kshitij Gupta <kshitij@ti.com> 5*3d3befa7Swdenk * Configuation settings for the TI OMAP Innovator board. 6*3d3befa7Swdenk * 7*3d3befa7Swdenk * (C) Copyright 2004 8*3d3befa7Swdenk * ARM Ltd. 9*3d3befa7Swdenk * Philippe Robin, <philippe.robin@arm.com> 10*3d3befa7Swdenk * Configuration for Integrator AP board. 11*3d3befa7Swdenk *. 12*3d3befa7Swdenk * See file CREDITS for list of people who contributed to this 13*3d3befa7Swdenk * project. 14*3d3befa7Swdenk * 15*3d3befa7Swdenk * This program is free software; you can redistribute it and/or 16*3d3befa7Swdenk * modify it under the terms of the GNU General Public License as 17*3d3befa7Swdenk * published by the Free Software Foundation; either version 2 of 18*3d3befa7Swdenk * the License, or (at your option) any later version. 19*3d3befa7Swdenk * 20*3d3befa7Swdenk * This program is distributed in the hope that it will be useful, 21*3d3befa7Swdenk * but WITHOUT ANY WARRANTY; without even the implied warranty of 22*3d3befa7Swdenk * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23*3d3befa7Swdenk * GNU General Public License for more details. 24*3d3befa7Swdenk * 25*3d3befa7Swdenk * You should have received a copy of the GNU General Public License 26*3d3befa7Swdenk * along with this program; if not, write to the Free Software 27*3d3befa7Swdenk * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 28*3d3befa7Swdenk * MA 02111-1307 USA 29*3d3befa7Swdenk */ 30*3d3befa7Swdenk 31*3d3befa7Swdenk #ifndef __CONFIG_H 32*3d3befa7Swdenk #define __CONFIG_H 33*3d3befa7Swdenk 34*3d3befa7Swdenk /* 35*3d3befa7Swdenk * High Level Configuration Options 36*3d3befa7Swdenk * (easy to change) 37*3d3befa7Swdenk */ 38*3d3befa7Swdenk #define CONFIG_ARM926EJS 1 /* This is an arm926ejs CPU core */ 39*3d3befa7Swdenk #define CONFIG_INTEGRATOR 1 /* in an Integrator board */ 40*3d3befa7Swdenk #define CONFIG_ARCH_CINTEGRATOR 1 /* Specifically, a CP */ 41*3d3befa7Swdenk 42*3d3befa7Swdenk 43*3d3befa7Swdenk #define CFG_MEMTEST_START 0x100000 44*3d3befa7Swdenk #define CFG_MEMTEST_END 0x10000000 45*3d3befa7Swdenk #define CFG_HZ (1000000 / 256) /* Timer 1 is clocked at 1Mhz, with 256 divider */ 46*3d3befa7Swdenk #define CFG_TIMERBASE 0x13000100 47*3d3befa7Swdenk 48*3d3befa7Swdenk #define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */ 49*3d3befa7Swdenk #define CONFIG_SETUP_MEMORY_TAGS 1 50*3d3befa7Swdenk #define CONFIG_MISC_INIT_R 1 /* call misc_init_r during start up */ 51*3d3befa7Swdenk /* 52*3d3befa7Swdenk * Size of malloc() pool 53*3d3befa7Swdenk */ 54*3d3befa7Swdenk #define CFG_MALLOC_LEN (CFG_ENV_SIZE + 128*1024) 55*3d3befa7Swdenk 56*3d3befa7Swdenk /* 57*3d3befa7Swdenk * PL010 Configuration 58*3d3befa7Swdenk */ 59*3d3befa7Swdenk #define CFG_PL010_SERIAL 60*3d3befa7Swdenk #define CONFIG_CONS_INDEX 0 61*3d3befa7Swdenk #define CONFIG_BAUDRATE 38400 62*3d3befa7Swdenk #define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } 63*3d3befa7Swdenk #define CFG_SERIAL0 0x16000000 64*3d3befa7Swdenk #define CFG_SERIAL1 0x17000000 65*3d3befa7Swdenk 66*3d3befa7Swdenk //#define CONFIG_COMMANDS (CFG_CMD_DHCP | CFG_CMD_IMI | CFG_CMD_NET | CFG_CMD_PING | CFG_CMD_BDI | CFG_CMD_PCI) 67*3d3befa7Swdenk //#define CONFIG_NET_MULTI 68*3d3befa7Swdenk //#define CONFIG_BOOTP_MASK CONFIG_BOOTP_DEFAULT 69*3d3befa7Swdenk 70*3d3befa7Swdenk #define CONFIG_COMMANDS (CFG_CMD_IMI | CFG_CMD_BDI | CFG_CMD_MEMORY) 71*3d3befa7Swdenk 72*3d3befa7Swdenk 73*3d3befa7Swdenk /* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */ 74*3d3befa7Swdenk #include <cmd_confdefs.h> 75*3d3befa7Swdenk 76*3d3befa7Swdenk #define CONFIG_BOOTDELAY 2 77*3d3befa7Swdenk #define CONFIG_BOOTARGS "root=/dev/mtdblock0 mem=32M console=ttyAM0 console=tty" 78*3d3befa7Swdenk #define CONFIG_BOOTCOMMAND "" 79*3d3befa7Swdenk 80*3d3befa7Swdenk /* 81*3d3befa7Swdenk * Miscellaneous configurable options 82*3d3befa7Swdenk */ 83*3d3befa7Swdenk #define CFG_LONGHELP /* undef to save memory */ 84*3d3befa7Swdenk #define CFG_PROMPT "Integrator-AP # " /* Monitor Command Prompt */ 85*3d3befa7Swdenk #define CFG_CBSIZE 256 /* Console I/O Buffer Size */ 86*3d3befa7Swdenk /* Print Buffer Size */ 87*3d3befa7Swdenk #define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) 88*3d3befa7Swdenk #define CFG_MAXARGS 16 /* max number of command args */ 89*3d3befa7Swdenk #define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ 90*3d3befa7Swdenk 91*3d3befa7Swdenk #undef CFG_CLKS_IN_HZ /* everything, incl board info, in Hz */ 92*3d3befa7Swdenk #define CFG_LOAD_ADDR 0x7fc0 /* default load address */ 93*3d3befa7Swdenk 94*3d3befa7Swdenk /*----------------------------------------------------------------------- 95*3d3befa7Swdenk * Stack sizes 96*3d3befa7Swdenk * 97*3d3befa7Swdenk * The stack sizes are set up in start.S using the settings below 98*3d3befa7Swdenk */ 99*3d3befa7Swdenk #define CONFIG_STACKSIZE (128*1024) /* regular stack */ 100*3d3befa7Swdenk #ifdef CONFIG_USE_IRQ 101*3d3befa7Swdenk #define CONFIG_STACKSIZE_IRQ (4*1024) /* IRQ stack */ 102*3d3befa7Swdenk #define CONFIG_STACKSIZE_FIQ (4*1024) /* FIQ stack */ 103*3d3befa7Swdenk #endif 104*3d3befa7Swdenk 105*3d3befa7Swdenk /*----------------------------------------------------------------------- 106*3d3befa7Swdenk * Physical Memory Map 107*3d3befa7Swdenk */ 108*3d3befa7Swdenk #define CONFIG_NR_DRAM_BANKS 1 /* we have 1 bank of DRAM */ 109*3d3befa7Swdenk #define PHYS_SDRAM_1 0x00000000 /* SDRAM Bank #1 */ 110*3d3befa7Swdenk #define PHYS_SDRAM_1_SIZE 0x02000000 /* 32 MB */ 111*3d3befa7Swdenk 112*3d3befa7Swdenk #define CFG_FLASH_BASE 0x24000000 113*3d3befa7Swdenk 114*3d3befa7Swdenk /*----------------------------------------------------------------------- 115*3d3befa7Swdenk * FLASH and environment organization 116*3d3befa7Swdenk */ 117*3d3befa7Swdenk #define CFG_ENV_IS_NOWHERE 118*3d3befa7Swdenk #define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */ 119*3d3befa7Swdenk #define PHYS_FLASH_SIZE 0x01000000 /* 16MB */ 120*3d3befa7Swdenk /* timeout values are in ticks */ 121*3d3befa7Swdenk #define CFG_FLASH_ERASE_TOUT (20*CFG_HZ) /* Timeout for Flash Erase */ 122*3d3befa7Swdenk #define CFG_FLASH_WRITE_TOUT (20*CFG_HZ) /* Timeout for Flash Write */ 123*3d3befa7Swdenk #define CFG_MAX_FLASH_SECT 128 124*3d3befa7Swdenk #define CFG_ENV_SIZE 32768 125*3d3befa7Swdenk 126*3d3befa7Swdenk #define PHYS_FLASH_1 (CFG_FLASH_BASE) 127*3d3befa7Swdenk 128*3d3befa7Swdenk /*----------------------------------------------------------------------- 129*3d3befa7Swdenk * PCI definitions 130*3d3befa7Swdenk */ 131*3d3befa7Swdenk 132*3d3befa7Swdenk //#define CONFIG_PCI /* include pci support */ 133*3d3befa7Swdenk #undef CONFIG_PCI_PNP 134*3d3befa7Swdenk #define CONFIG_PCI_SCAN_SHOW 1 /* show pci devices on startup */ 135*3d3befa7Swdenk #define DEBUG 136*3d3befa7Swdenk 137*3d3befa7Swdenk #define CONFIG_EEPRO100 138*3d3befa7Swdenk #define CFG_RX_ETH_BUFFER 8 /* use 8 rx buffer on eepro100 */ 139*3d3befa7Swdenk 140*3d3befa7Swdenk 141*3d3befa7Swdenk #define INTEGRATOR_BOOT_ROM_BASE 0x20000000 142*3d3befa7Swdenk #define INTEGRATOR_HDR0_SDRAM_BASE 0x80000000 143*3d3befa7Swdenk 144*3d3befa7Swdenk // PCI Base area 145*3d3befa7Swdenk #define INTEGRATOR_PCI_BASE 0x40000000 146*3d3befa7Swdenk #define INTEGRATOR_PCI_SIZE 0x3FFFFFFF 147*3d3befa7Swdenk 148*3d3befa7Swdenk // memory map as seen by the CPU on the local bus 149*3d3befa7Swdenk #define CPU_PCI_IO_ADRS 0x60000000 // PCI I/O space base 150*3d3befa7Swdenk #define CPU_PCI_IO_SIZE 0x10000 151*3d3befa7Swdenk 152*3d3befa7Swdenk #define CPU_PCI_CNFG_ADRS 0x61000000 // PCI config space 153*3d3befa7Swdenk #define CPU_PCI_CNFG_SIZE 0x1000000 154*3d3befa7Swdenk 155*3d3befa7Swdenk #define PCI_MEM_BASE 0x40000000 // 512M to xxx 156*3d3befa7Swdenk // unused 256M from A0000000-AFFFFFFF might be used for I2O ??? 157*3d3befa7Swdenk #define INTEGRATOR_PCI_IO_BASE 0x60000000 // 16M to xxx 158*3d3befa7Swdenk // unused (128-16)M from B1000000-B7FFFFFF 159*3d3befa7Swdenk #define PCI_CONFIG_BASE 0x61000000 // 16M to xxx 160*3d3befa7Swdenk // unused ((128-16)M - 64K) from XXX 161*3d3befa7Swdenk 162*3d3befa7Swdenk #define PCI_V3_BASE 0x62000000 163*3d3befa7Swdenk 164*3d3befa7Swdenk // V3 PCI bridge controller 165*3d3befa7Swdenk #define V3_BASE 0x62000000 // V360EPC registers 166*3d3befa7Swdenk 167*3d3befa7Swdenk #define PCI_ENET0_IOADDR (CPU_PCI_IO_ADRS) 168*3d3befa7Swdenk #define PCI_ENET0_MEMADDR (PCI_MEM_BASE) 169*3d3befa7Swdenk 170*3d3befa7Swdenk 171*3d3befa7Swdenk #define V3_PCI_VENDOR 0x00000000 172*3d3befa7Swdenk #define V3_PCI_DEVICE 0x00000002 173*3d3befa7Swdenk #define V3_PCI_CMD 0x00000004 174*3d3befa7Swdenk #define V3_PCI_STAT 0x00000006 175*3d3befa7Swdenk #define V3_PCI_CC_REV 0x00000008 176*3d3befa7Swdenk #define V3_PCI_HDR_CF 0x0000000C 177*3d3befa7Swdenk #define V3_PCI_IO_BASE 0x00000010 178*3d3befa7Swdenk #define V3_PCI_BASE0 0x00000014 179*3d3befa7Swdenk #define V3_PCI_BASE1 0x00000018 180*3d3befa7Swdenk #define V3_PCI_SUB_VENDOR 0x0000002C 181*3d3befa7Swdenk #define V3_PCI_SUB_ID 0x0000002E 182*3d3befa7Swdenk #define V3_PCI_ROM 0x00000030 183*3d3befa7Swdenk #define V3_PCI_BPARAM 0x0000003C 184*3d3befa7Swdenk #define V3_PCI_MAP0 0x00000040 185*3d3befa7Swdenk #define V3_PCI_MAP1 0x00000044 186*3d3befa7Swdenk #define V3_PCI_INT_STAT 0x00000048 187*3d3befa7Swdenk #define V3_PCI_INT_CFG 0x0000004C 188*3d3befa7Swdenk #define V3_LB_BASE0 0x00000054 189*3d3befa7Swdenk #define V3_LB_BASE1 0x00000058 190*3d3befa7Swdenk #define V3_LB_MAP0 0x0000005E 191*3d3befa7Swdenk #define V3_LB_MAP1 0x00000062 192*3d3befa7Swdenk #define V3_LB_BASE2 0x00000064 193*3d3befa7Swdenk #define V3_LB_MAP2 0x00000066 194*3d3befa7Swdenk #define V3_LB_SIZE 0x00000068 195*3d3befa7Swdenk #define V3_LB_IO_BASE 0x0000006E 196*3d3befa7Swdenk #define V3_FIFO_CFG 0x00000070 197*3d3befa7Swdenk #define V3_FIFO_PRIORITY 0x00000072 198*3d3befa7Swdenk #define V3_FIFO_STAT 0x00000074 199*3d3befa7Swdenk #define V3_LB_ISTAT 0x00000076 200*3d3befa7Swdenk #define V3_LB_IMASK 0x00000077 201*3d3befa7Swdenk #define V3_SYSTEM 0x00000078 202*3d3befa7Swdenk #define V3_LB_CFG 0x0000007A 203*3d3befa7Swdenk #define V3_PCI_CFG 0x0000007C 204*3d3befa7Swdenk #define V3_DMA_PCI_ADR0 0x00000080 205*3d3befa7Swdenk #define V3_DMA_PCI_ADR1 0x00000090 206*3d3befa7Swdenk #define V3_DMA_LOCAL_ADR0 0x00000084 207*3d3befa7Swdenk #define V3_DMA_LOCAL_ADR1 0x00000094 208*3d3befa7Swdenk #define V3_DMA_LENGTH0 0x00000088 209*3d3befa7Swdenk #define V3_DMA_LENGTH1 0x00000098 210*3d3befa7Swdenk #define V3_DMA_CSR0 0x0000008B 211*3d3befa7Swdenk #define V3_DMA_CSR1 0x0000009B 212*3d3befa7Swdenk #define V3_DMA_CTLB_ADR0 0x0000008C 213*3d3befa7Swdenk #define V3_DMA_CTLB_ADR1 0x0000009C 214*3d3befa7Swdenk #define V3_DMA_DELAY 0x000000E0 215*3d3befa7Swdenk #define V3_MAIL_DATA 0x000000C0 216*3d3befa7Swdenk #define V3_PCI_MAIL_IEWR 0x000000D0 217*3d3befa7Swdenk #define V3_PCI_MAIL_IERD 0x000000D2 218*3d3befa7Swdenk #define V3_LB_MAIL_IEWR 0x000000D4 219*3d3befa7Swdenk #define V3_LB_MAIL_IERD 0x000000D6 220*3d3befa7Swdenk #define V3_MAIL_WR_STAT 0x000000D8 221*3d3befa7Swdenk #define V3_MAIL_RD_STAT 0x000000DA 222*3d3befa7Swdenk #define V3_QBA_MAP 0x000000DC 223*3d3befa7Swdenk 224*3d3befa7Swdenk // SYSTEM register bits 225*3d3befa7Swdenk #define V3_SYSTEM_M_RST_OUT (1 << 15) 226*3d3befa7Swdenk #define V3_SYSTEM_M_LOCK (1 << 14) 227*3d3befa7Swdenk 228*3d3befa7Swdenk // PCI_CFG bits 229*3d3befa7Swdenk #define V3_PCI_CFG_M_RETRY_EN (1 << 10) 230*3d3befa7Swdenk #define V3_PCI_CFG_M_AD_LOW1 (1 << 9) 231*3d3befa7Swdenk #define V3_PCI_CFG_M_AD_LOW0 (1 << 8) 232*3d3befa7Swdenk 233*3d3befa7Swdenk // PCI MAP register bits (PCI -> Local bus) 234*3d3befa7Swdenk #define V3_PCI_MAP_M_MAP_ADR 0xFFF00000 235*3d3befa7Swdenk #define V3_PCI_MAP_M_RD_POST_INH (1 << 15) 236*3d3befa7Swdenk #define V3_PCI_MAP_M_ROM_SIZE (1 << 11 | 1 << 10) 237*3d3befa7Swdenk #define V3_PCI_MAP_M_SWAP (1 << 9 | 1 << 8) 238*3d3befa7Swdenk #define V3_PCI_MAP_M_ADR_SIZE 0x000000F0 239*3d3befa7Swdenk #define V3_PCI_MAP_M_REG_EN (1 << 1) 240*3d3befa7Swdenk #define V3_PCI_MAP_M_ENABLE (1 << 0) 241*3d3befa7Swdenk 242*3d3befa7Swdenk // 9 => 512M window size 243*3d3befa7Swdenk #define V3_PCI_MAP_M_ADR_SIZE_512M 0x00000090 244*3d3befa7Swdenk 245*3d3befa7Swdenk // A => 1024M window size 246*3d3befa7Swdenk #define V3_PCI_MAP_M_ADR_SIZE_1024M 0x000000A0 247*3d3befa7Swdenk 248*3d3befa7Swdenk // LB_BASE register bits (Local bus -> PCI) 249*3d3befa7Swdenk #define V3_LB_BASE_M_MAP_ADR 0xFFF00000 250*3d3befa7Swdenk #define V3_LB_BASE_M_SWAP (1 << 8 | 1 << 9) 251*3d3befa7Swdenk #define V3_LB_BASE_M_ADR_SIZE 0x000000F0 252*3d3befa7Swdenk #define V3_LB_BASE_M_PREFETCH (1 << 3) 253*3d3befa7Swdenk #define V3_LB_BASE_M_ENABLE (1 << 0) 254*3d3befa7Swdenk 255*3d3befa7Swdenk // PCI COMMAND REGISTER bits 256*3d3befa7Swdenk #define V3_COMMAND_M_FBB_EN (1 << 9) 257*3d3befa7Swdenk #define V3_COMMAND_M_SERR_EN (1 << 8) 258*3d3befa7Swdenk #define V3_COMMAND_M_PAR_EN (1 << 6) 259*3d3befa7Swdenk #define V3_COMMAND_M_MASTER_EN (1 << 2) 260*3d3befa7Swdenk #define V3_COMMAND_M_MEM_EN (1 << 1) 261*3d3befa7Swdenk #define V3_COMMAND_M_IO_EN (1 << 0) 262*3d3befa7Swdenk 263*3d3befa7Swdenk #define INTEGRATOR_SC_BASE 0x11000000 264*3d3befa7Swdenk #define INTEGRATOR_SC_PCIENABLE_OFFSET 0x18 265*3d3befa7Swdenk #define INTEGRATOR_SC_PCIENABLE \ 266*3d3befa7Swdenk (INTEGRATOR_SC_BASE + INTEGRATOR_SC_PCIENABLE_OFFSET) 267*3d3befa7Swdenk 268*3d3befa7Swdenk 269*3d3befa7Swdenk #endif /* __CONFIG_H */ 270