1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202
|
/*
* (C) Copyright 2006-2009
* Texas Instruments, <www.ti.com>
* Richard Woodruff <r-woodruff2@ti.com>
* Syed Mohammed Khasim <x0khasim@ti.com>
*
* 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
* version 2 as published by the Free Software Foundation.
*
* 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
*/
#ifndef _OMAP4430_SYS_H_
#define _OMAP4430_SYS_H_
#include <asm/arch/sizes.h>
/*
* 4430 specific Section
*/
/* Stuff on L3 Interconnect */
#define SMX_APE_BASE 0x68000000
/* L3 Firewall */
#define A_REQINFOPERM0 (SMX_APE_BASE + 0x05048)
#define A_READPERM0 (SMX_APE_BASE + 0x05050)
#define A_WRITEPERM0 (SMX_APE_BASE + 0x05058)
/* GPMC */
#define OMAP44XX_GPMC_BASE (0x50000000)
/* DMM */
#define OMAP44XX_DMM_BASE 0x4E000000
/* SMS */
#define OMAP44XX_SMS_BASE 0x6C000000
/* SDRC */
#define OMAP44XX_SDRC_BASE 0x6D000000
/*
* L4 Peripherals - L4 Wakeup and L4 Core now
*/
#define OMAP44XX_CORE_L4_IO_BASE 0x4A000000
#define OMAP44XX_WAKEUP_L4_IO_BASE 0x4A300000
#define OMAP44XX_L4_PER 0x48000000
#define OMAP44XX_L4_IO_BASE OMAP44XX_CORE_L4_IO_BASE
/* CONTROL */
#define OMAP44XX_CTRL_GEN_CORE_BASE (OMAP44XX_L4_IO_BASE+0x2000)
#define OMAP44XX_CTRL_ID_CODE (OMAP44XX_CTRL_GEN_CORE_BASE + 0x204)
#define OMAP44XX_CTRL_BASE 0x4a100000
#define OMAP44XX_WKUP_CTRL_BASE 0x4A31E000
/* DDR */
#define OMAP44XX_CONTROL_LPDDR2IO1_0 (OMAP44XX_CTRL_BASE + 0x638)
#define OMAP44XX_CONTROL_LPDDR2IO1_1 (OMAP44XX_CTRL_BASE + 0x63c)
#define OMAP44XX_CONTROL_LPDDR2IO1_2 (OMAP44XX_CTRL_BASE + 0x640)
#define OMAP44XX_CONTROL_LPDDR2IO1_3 (OMAP44XX_CTRL_BASE + 0x644)
#define OMAP44XX_CONTROL_LPDDR2IO2_0 (OMAP44XX_CTRL_BASE + 0x648)
#define OMAP44XX_CONTROL_LPDDR2IO2_1 (OMAP44XX_CTRL_BASE + 0x64c)
#define OMAP44XX_CONTROL_LPDDR2IO2_2 (OMAP44XX_CTRL_BASE + 0x650)
#define OMAP44XX_CONTROL_LPDDR2IO2_3 (OMAP44XX_CTRL_BASE + 0x654)
/* eFUSE */
#define OMAP44XX_CONTROL_EFUSE_1 (OMAP44XX_CTRL_BASE + 0x700)
#define OMAP44XX_CONTROL_EFUSE_2 (OMAP44XX_CTRL_BASE + 0x704)
#define OMAP44XX_CONTROL_EFUSE_3 (OMAP44XX_CTRL_BASE + 0x708)
#define OMAP44XX_CONTROL_EFUSE_4 (OMAP44XX_CTRL_BASE + 0x70c)
/* PRM */
#define OMAP44XX_PRM_VC_VAL_BYPASS (OMAP44XX_WAKEUP_L4_IO_BASE + 0x7ba0)
#define OMAP44XX_PRM_VC_CFG_I2C_MODE (OMAP44XX_WAKEUP_L4_IO_BASE + 0x7ba8)
#define OMAP44XX_PRM_VC_CFG_I2C_CLK (OMAP44XX_WAKEUP_L4_IO_BASE + 0x7bac)
/* IRQ */
#define OMAP44XX_PRM_IRQSTATUS_MPU_A9 (OMAP44XX_WAKEUP_L4_IO_BASE + 0x6010)
/* TAP information dont know for 3430*/
#define OMAP44XX_TAP_BASE (0x49000000) /*giving some junk for virtio */
/* UART */
#define OMAP44XX_UART1 (OMAP44XX_L4_PER+0x6a000)
#define OMAP44XX_UART2 (OMAP44XX_L4_PER+0x6c000)
#define OMAP44XX_UART3 (OMAP44XX_L4_PER+0x20000)
/* General Purpose Timers */
#define OMAP44XX_GPT1 0x48318000
#define OMAP44XX_GPT2 0x48032000
#define OMAP44XX_GPT3 0x48034000
#define OMAP44XX_GPT4 0x48036000
#define OMAP44XX_GPT5 0x40138000
#define OMAP44XX_GPT6 0x4013A000
#define OMAP44XX_GPT7 0x4013C000
#define OMAP44XX_GPT8 0x4013E000
#define OMAP44XX_GPT9 0x48040000
#define OMAP44XX_GPT10 0x48086000
#define OMAP44XX_GPT11 0x48088000
#define OMAP44XX_GPT12 0x48304000
/* WatchDog Timers (1 secure, 3 GP) */
#define WD1_BASE (0x4A322000)
#define WD2_BASE (0x4A314000)
#define WD3_BASE (0x40130000)
/* GPIO banks */
#define OMAP44XX_GPIO_BASE1 0x4a310000
#define OMAP44XX_GPIO_BASE2 0x48055000
#define OMAP44XX_GPIO_BASE6 0x4805D000
/* common GPIO offsets */
#define __GPIO_REVISION 0
#define __GPIO_SYSCONFIG 0x10
#define __GPIO_IRQSTATUS_RAW_0 0x24
#define __GPIO_IRQSTATUS_RAW_1 0x28
#define __GPIO_IRQSTATUS_0 0x2c
#define __GPIO_IRQSTATUS_1 0x30
#define __GPIO_IRQSTATUS_SET_0 0x34
#define __GPIO_IRQSTATUS_SET_1 0x38
#define __GPIO_IRQSTATUS_CLR_0 0x3c
#define __GPIO_IRQSTATUS_CLR_1 0x40
#define __GPIO_IRQWAKEN_0 0x44
#define __GPIO_IRQWAKEN_1 0x48
#define __GPIO_SYSSTATUS 0x114
#define __GPIO_IRQSTATUS1 0x118
#define __GPIO_CTRL 0x130
#define __GPIO_OE 0x134
#define __GPIO_DATAIN 0x138
#define __GPIO_DATAOUT 0x13c
/* SCRM */
#define OMAP44XX_SCRM_BASE 0x4a30a000
#define OMAP44XX_SCRM_ALTCLKSRC (OMAP44XX_SCRM_BASE + 0x110)
#define OMAP44XX_SCRM_AUXCLK1 (OMAP44XX_SCRM_BASE + 0x314)
#define OMAP44XX_SCRM_AUXCLK3 (OMAP44XX_SCRM_BASE + 0x31c)
/* 32KTIMER */
#define SYNC_32KTIMER_BASE (0x48320000)
#define S32K_CR (SYNC_32KTIMER_BASE+0x10)
/*
* SDP4430 specific Section
*/
/*
* The 443x's chip selects are programmable. The mask ROM
* does configure CS0 to 0x08000000 before dispatch. So, if
* you want your code to live below that address, you have to
* be prepared to jump though hoops, to reset the base address.
* Same as in SDP4430
*/
#ifdef CONFIG_OMAP44XX
/* base address for indirect vectors (internal boot mode) */
#define SRAM_OFFSET0 0x40000000
#define SRAM_OFFSET1 0x00300000
#define SRAM_OFFSET2 0x0000D000
#define SRAM_OFFSET3 0x00000800
#define SRAM_VECT_CODE (SRAM_OFFSET0|SRAM_OFFSET1|SRAM_OFFSET2|SRAM_OFFSET3)
#define LOW_LEVEL_SRAM_STACK 0x4030DFFC
#endif
#if defined(CONFIG_4430SDP)
/* FPGA on Debug board.*/
# define ETH_CONTROL_REG (DEBUG_BASE+0x30b)
# define LAN_RESET_REGISTER (DEBUG_BASE+0x1c)
# define DIP_SWITCH_INPUT_REG2 (DEBUG_BASE+0x60)
# define LED_REGISTER (DEBUG_BASE+0x40)
# define FPGA_REV_REGISTER (DEBUG_BASE+0x10)
# define EEPROM_MAIN_BRD (DEBUG_BASE+0x10000+0x1800)
# define EEPROM_CONN_BRD (DEBUG_BASE+0x10000+0x1900)
# define EEPROM_UI_BRD (DEBUG_BASE+0x10000+0x1A00)
# define EEPROM_MCAM_BRD (DEBUG_BASE+0x10000+0x1B00)
# define ENHANCED_UI_EE_NAME "750-2075"
#endif
#endif /* _OMAP4430_SYS_H_ */
|