blob: 8bbe9a1f7e518edbb52d7efd83cf2b60976fa03c [file] [log] [blame]
/*
* arch/arm/mach-comcerto/include/mach/comcerto-2000.h
*
* Copyright (C) 2011 Mindspeed Technologies, Inc.
*
* 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
*/
#ifndef __COMCERTO_2000_H__
#define __COMCERTO_2000_H__
/*
* AXI Bus
*/
#define COMCERTO_AXI_DDR_BASE 0x00000000 /* 2G */
#define COMCERTO_AXI_ACP_BASE 0x80000000 /* 48MB */
#define COMCERTO_AXI_IRAM_BASE 0x83000000 /* 48MB */
#define COMCERTO_AXI_IBR_BASE 0x90000000 /* 4MB */
#define COMCERTO_AXI_APB_CFG_BASE 0x90400000 /* 12MB */
#define COMCERTO_AXI_SEM_CFG_BASE 0x91000000 /* 16MB */
#define COMCERTO_AXI_USB2p0_CFG_BASE 0x92000000 /* 16MB */
#define COMCERTO_AXI_TZ_CFG_BASE 0x93000000 /* 16MB */
#define COMCERTO_AXI_DPI0_CFG_BASE 0x94000000 /* 16MB */
#define COMCERTO_AXI_DPI1_CFG_BASE 0x95000000 /* 16MB */
#define COMCERTO_AXI_UART_SPI_CFG_BASE 0x96000000 /* 16MB */
#define COMCERTO_AXI_DDR_CFG_BASE 0x97000000 /* 16MB */
#define COMCERTO_AXI_PCIe0_CFG_BASE 0x98000000 /* 16MB */
#define COMCERTO_AXI_PCIe1_CFG_BASE 0x99000000 /* 16MB */
#define COMCERTO_AXI_ESPAH_CFG_BASE 0x9A000000 /* 16MB */
#define COMCERTO_AXI_SPACC_CFG_BASE 0x9B000000 /* 16MB */
#define COMCERTO_AXI_HFE_CFG_BASE 0x9C000000 /* 16MB */
#define COMCERTO_AXI_SATA_CFG_BASE 0x9D000000 /* 16MB */
#define COMCERTO_AXI_DECT_CFG_BASE 0x9E000000 /* 16MB */
#define COMCERTO_AXI_USB3p0_CFG_BASE 0x9F000000 /* 16MB */
#define COMCERTO_AXI_PCIe0_SLV_BASE 0xA0000000 /* 256MB */
#define COMCERTO_AXI_PCIe1_SLV_BASE 0xB0000000 /* 256MB */
#define COMCERTO_AXI_EXP_BASE 0xC0000000 /* 256MB */
#define COMCERTO_AXI_EXP_ECC_BASE 0xCFFF0000 /* 64KB */
/*
* APB Bus
*/
#define COMCERTO_TDM_BASE (COMCERTO_AXI_APB_CFG_BASE + 0x000000)
#define COMCERTO_USB_PHY_SERDES_BASE (COMCERTO_AXI_APB_CFG_BASE + 0x010000)
#define COMCERTO_TDMA_BASE (COMCERTO_AXI_APB_CFG_BASE + 0x020000)
#define COMCERTO_APB_RESERVED2 (COMCERTO_AXI_APB_CFG_BASE + 0x030000)
#define COMCERTO_APB_RESERVED3 (COMCERTO_AXI_APB_CFG_BASE + 0x040000)
#define COMCERTO_TIMER_BASE (COMCERTO_AXI_APB_CFG_BASE + 0x050000)
#define COMCERTO_PCIE_SATA_USB_CTRL_BASE (COMCERTO_AXI_APB_CFG_BASE + 0x060000)
#define COMCERTO_GPIO_BASE (COMCERTO_AXI_APB_CFG_BASE + 0x070000)
#define COMCERTO_APB_RESERVED5 (COMCERTO_AXI_APB_CFG_BASE + 0x080000)
#define COMCERTO_UART0_BASE (COMCERTO_AXI_APB_CFG_BASE + 0x090000)
#define COMCERTO_APB_RESERVED6 (COMCERTO_AXI_APB_CFG_BASE + 0x094000)
#define COMCERTO_SPI_BASE (COMCERTO_AXI_APB_CFG_BASE + 0x098000)
#define COMCERTO_I2C_BASE (COMCERTO_AXI_APB_CFG_BASE + 0x09C000)
#define COMCERTO_USB3_0_BASE (COMCERTO_AXI_APB_CFG_BASE + 0x0A0000)
#define COMCERTO_CLKCORE_BASE (COMCERTO_AXI_APB_CFG_BASE + 0x0B0000)
#define COMCERTO_APB_RESERVED7 (COMCERTO_AXI_APB_CFG_BASE + 0x0C0000)
#define COMCERTO_APB_RESERVED8 (COMCERTO_AXI_APB_CFG_BASE + 0x0D0000)
#define COMCERTO_RTC_BASE (COMCERTO_AXI_APB_CFG_BASE + 0x0E0000)
#define COMCERTO_OTP_BASE (COMCERTO_AXI_APB_CFG_BASE + 0x0F0000)
#define COMCERTO_HFEWRAPPER_BASE (COMCERTO_AXI_APB_CFG_BASE + 0x100000)
#define COMCERTO_APB_RESERVED10 (COMCERTO_AXI_APB_CFG_BASE + 0x110000)
#define COMCERTO_APB_RESERVED11 (COMCERTO_AXI_APB_CFG_BASE + 0x120000)
#define COMCERTO_APB_RESERVED12 (COMCERTO_AXI_APB_CFG_BASE + 0x130000)
#define COMCERTO_APB_RESERVED13 (COMCERTO_AXI_APB_CFG_BASE + 0x140000)
#define COMCERTO_APB_RESERVED14 (COMCERTO_AXI_APB_CFG_BASE + 0x150000)
#define COMCERTO_APB_RESERVED15 (COMCERTO_AXI_APB_CFG_BASE + 0x160000)
#define COMCERTO_APB_RESERVED16 (COMCERTO_AXI_APB_CFG_BASE + 0x170000)
#define COMCERTO_APB_RESERVED17 (COMCERTO_AXI_APB_CFG_BASE + 0x180000)
#define COMCERTO_SERDES_CFG_BASE (COMCERTO_AXI_APB_CFG_BASE + 0x190000)
#define COMCERTO_EXP_CONF_BASE (COMCERTO_AXI_APB_CFG_BASE + 0x1A0000)
#define COMCERTO_DDR_PHY (COMCERTO_AXI_APB_CFG_BASE + 0x1B0000)
#define COMCERTO_APB_RESERVED20 (COMCERTO_AXI_APB_CFG_BASE + 0x1C0000)
#define COMCERTO_TDMA2_BASE (COMCERTO_AXI_APB_CFG_BASE + 0x1D0000)
#define COMCERTO_MDMA_BASE (COMCERTO_AXI_APB_CFG_BASE + 0x1E0000)
#define COMCERTO_A9_CORESIGHT_BASE (COMCERTO_AXI_APB_CFG_BASE + 0x200000)
#define COMCERTO_APB_USBPHY_SERDES_STAT_BASE 0x90410000
#define COMCERTO_APB_GPIO_BASE 0x90470000
#define COMCERTO_APB_CLK_BASE 0x904B0000
#define COMCERTO_APB_SERDES_BASE 0x90590000
#define COMCERTO_APB_EXP_BASE 0x905A0000
#define COMCERTO_APB_DDR_BASE 0x97000000
#define COMCERTO_APB_DDR_PHY_BASE 0x905B0000
#define COMCERTO_SATA_AHCI_BASE 0x9D000000
#define COMCERTO_L2CC_BASE 0xFFF10000
#define COMCERTO_A9_PERIPH_BASE 0xFFF00000
#define COMCERTO_A9_SCU_BASE (COMCERTO_A9_PERIPH_BASE + 0x0000)
#define COMCERTO_A9_IC_INT_BASE (COMCERTO_A9_PERIPH_BASE + 0x100)
#define COMCERTO_A9_TIMER_BASE (COMCERTO_A9_PERIPH_BASE + 0x600)
#define COMCERTO_A9_IC_DIST_BASE (COMCERTO_A9_PERIPH_BASE + 0x1000)
#define COMCERTO_APB_SERDES0_BASE (COMCERTO_APB_SERDES_BASE)
#define COMCERTO_APB_SERDES1_BASE (COMCERTO_APB_SERDES_BASE + 0x4000)
#define COMCERTO_APB_SERDES2_BASE (COMCERTO_APB_SERDES_BASE + 0x8000)
#define COMCERTO_SER_DES0_PHY_CFG_BASE 0x9041002C
#define EXP_SWRST (COMCERTO_APB_EXP_BASE + 0x0)
#define EXP_CSEN (COMCERTO_APB_EXP_BASE + 0x4)
#define EXP_CS0_BASE (COMCERTO_APB_EXP_BASE + 0x8)
#define EXP_CS0_SEG (COMCERTO_APB_EXP_BASE + 0x1c)
#define EXP_CSO_CFG (COMCERTO_APB_EXP_BASE + 0x30)
#define DECT_SYS_CFG0 (COMCERTO_APB_GPIO_BASE + 0xb0)
#define DECT_SYS_CFG1 (COMCERTO_APB_GPIO_BASE + 0xb4)
#define DECT_CTRL (COMCERTO_APB_GPIO_BASE + 0xb8)
#define COMCERTO_SERDES_REG( _num, _ofst) ((COMCERTO_APB_SERDES_BASE + (0x4000 * _num)) + _ofst)
//#define TEMP_STACK 0x8300C000
#define UART_BASEADDR 0x96400000
////////////////////////////////////////////////////////////
// GPIO block //
////////////////////////////////////////////////////////////
#define COMCERTO_GPIO_OUTPUT_REG (COMCERTO_APB_GPIO_BASE + 0x00)
#define COMCERTO_GPIO_OE_REG (COMCERTO_APB_GPIO_BASE + 0x04)
#define COMCERTO_GPIO_INT_CFG_REG (COMCERTO_APB_GPIO_BASE + 0x08)
#define COMCERTO_GPIO_ARM_UNALIGNED_LOGIC_ENABLE (COMCERTO_APB_GPIO_BASE + 0x0C)
#define COMCERTO_GPIO_INPUT_REG (COMCERTO_APB_GPIO_BASE + 0x10)
#define COMCERTO_GPIO_APB_WS (COMCERTO_APB_GPIO_BASE + 0x14)
#define COMCERTO_GPIO_SYSTEM_CONFIG (COMCERTO_APB_GPIO_BASE + 0x1C)
#define COMCERTO_GPIO_MBIST (COMCERTO_APB_GPIO_BASE + 0x20)
#define COMCERTO_GPIO_TDM_MUX (COMCERTO_APB_GPIO_BASE + 0x28)
#define COMCERTO_GPIO_ARM_ID (COMCERTO_APB_GPIO_BASE + 0x30)
#define COMCERTO_GPIO_PAD_CTRL (COMCERTO_APB_GPIO_BASE + 0x34)
#define COMCERTO_GPIO_BOOTSTRAP_STATUS (COMCERTO_APB_GPIO_BASE + 0x40)
#define COMCERTO_GPIO_BOOTSTRAP_OVERRIDE (COMCERTO_APB_GPIO_BASE + 0x44)
#define COMCERTO_GPIO_USB_PHY_BIST_STATUS_REG (COMCERTO_APB_GPIO_BASE + 0x48)
#define COMCERTO_GPIO_GENERAL_CONTROL_REG (COMCERTO_APB_GPIO_BASE + 0x4C)
#define COMCERTO_GPIO_DEVICE_ID_REG (COMCERTO_APB_GPIO_BASE + 0x50)
#define COMCERTO_GPIO_ARM_MEMORY_SENSE_AMP (COMCERTO_APB_GPIO_BASE + 0x54)
#define COMCERTO_GPIO_PIN_SELECT_REG_L (COMCERTO_APB_GPIO_BASE + 0x58)
#define COMCERTO_GPIO_PIN_SELECT_REG_H (COMCERTO_APB_GPIO_BASE + 0x5C)
#define COMCERTO_GPIO_MISC_PIN_SELECT_REG (COMCERTO_APB_GPIO_BASE + 0x60)
#define COMCERTO_GPIO_PAD_CONFIG0 (COMCERTO_APB_GPIO_BASE + 0x100)
#define COMCERTO_GPIO_PAD_CONFIG3 (COMCERTO_APB_GPIO_BASE + 0x10C)
#define COMCERTO_GPIO_PAD_CONFIG4 (COMCERTO_APB_GPIO_BASE + 0x110)
#define COMCERTO_GPIO_PAD_CONFIG5 (COMCERTO_APB_GPIO_BASE + 0x114)
#define COMCERTO_GPIO_MEM_EMA_CONFIG0 (COMCERTO_APB_GPIO_BASE + 0x1A0)
#define COMCERTO_GPIO_MEM_EMA_CONFIG1 (COMCERTO_APB_GPIO_BASE + 0x1A4)
#define GPIO_0 0x00000001
#define GPIO_1 0x00000002
#define GPIO_2 0x00000004
#define GPIO_3 0x00000008
#define GPIO_4 0x00000010
#define GPIO_5 0x00000020
#define GPIO_6 0x00000040
#define GPIO_7 0x00000080
#define GPIO_8 0x00000100
#define GPIO_9 0x00000200
#define GPIO_10 0x00000400
#define GPIO_11 0x00000800
#define GPIO_12 0x00001000
#define GPIO_13 0x00002000
#define GPIO_14 0x00004000
#define GPIO_15 0x00008000
#define GPIO_16 0x00010000
#define GPIO_17 0x00020000
#define GPIO_18 0x00040000
#define GPIO_19 0x00080000
#define GPIO_20 0x00100000
#define GPIO_21 0x00200000
#define GPIO_22 0x00400000
#define GPIO_23 0x00800000
#define GPIO_24 0x01000000
#define GPIO_25 0x02000000
#define GPIO_26 0x04000000
#define GPIO_27 0x08000000
#define GPIO_28 0x10000000
#define GPIO_29 0x20000000
#define GPIO_30 0x40000000
#define GPIO_31 0x80000000
#endif /* __COMCERTO_2000_H__ */