| /* |
| * 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__ |
| |
| #include <asm-generic/memory_layout.h> |
| |
| /* |
| * IRAM Location to keep C2K Part Number. |
| * This location should be fixed and can not be changed. |
| * Microloader populates this information to be used by Linux. |
| * |
| * This location shouldn't overlap IRAM_CLK_REG_MIRROR space |
| * defined in clkcore.h |
| */ |
| #define IRAM_C2K_PART_NO_LOCATION 0x8300FE00 |
| |
| |
| /* |
| * 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 STACK_BASE + STACK_SIZE - 16 |
| |
| #define UART_BASEADDR 0x96400000 |
| |
| /* |
| * Reference Clock Option in Boot Strap Register |
| * |
| * BIT [9:8] System PLL Refclk Select |
| * '00' - USB XTAL |
| * '01' - Serdes #0 Refclk |
| * '10' - Serdes #1 Refclk |
| * '11' - Serdes XTAL |
| * |
| * BIT[7] Serdes OSC PAD - Reference clock frequency selection bootstrap (inverted value of SF1) |
| * '0' - 30MHz ~ 50MHz |
| * '1' - 15MHz ~ 30MHz |
| * Note: SF0 is tied to 1 in GPIO block and might later on be controlled during DFT |
| * |
| * BIT[5] USB/Sys PLL OSC PAD - Reference clock frequency selection bootstrap (inverted value of SF1) |
| *'0' - 30MHz ~ 50MHz |
| * '1' - 15MHz ~ 30MHz |
| * Note: SF0 is tied to 1 in GPIO block and might later on be controlled during DFT |
| * |
| */ |
| |
| #define GPIO_SYS_PLL_REF_CLK_SHIFT 8 |
| #define GPIO_SYS_PLL_REF_CLK_MASK (0x3 << GPIO_SYS_PLL_REF_CLK_SHIFT) |
| |
| #define USB_XTAL_REF_CLK 0 |
| #define SERDES_0_REF_CLK 1 |
| #define SERDES_2_REF_CLK 2 |
| #define SERDES_XTAL_REF_CLK 3 |
| |
| #define GPIO_SERDES_OSC_PAD_SHIFT 7 |
| #define GPIO_SERDES_OSC_PAD_MASK (1 << GPIO_SERDES_OSC_PAD_SHIFT) |
| |
| #define GPIO_USB_OSC_PAD_SHIFT 5 |
| #define GPIO_USB_OSC_PAD_MASK (1 << GPIO_USB_OSC_PAD_SHIFT) |
| |
| #endif /* __COMCERTO_2000_H__ */ |