Path: blob/master/arch/arm/mach-msm/include/mach/msm_iomap-7x00.h
17884 views
/* arch/arm/mach-msm/include/mach/msm_iomap.h1*2* Copyright (C) 2007 Google, Inc.3* Copyright (c) 2011, Code Aurora Forum. All rights reserved.4* Author: Brian Swetland <[email protected]>5*6* This software is licensed under the terms of the GNU General Public7* License version 2, as published by the Free Software Foundation, and8* may be copied, distributed, and modified under those terms.9*10* This program is distributed in the hope that it will be useful,11* but WITHOUT ANY WARRANTY; without even the implied warranty of12* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the13* GNU General Public License for more details.14*15*16* The MSM peripherals are spread all over across 768MB of physical17* space, which makes just having a simple IO_ADDRESS macro to slide18* them into the right virtual location rough. Instead, we will19* provide a master phys->virt mapping for peripherals here.20*21*/2223#ifndef __ASM_ARCH_MSM_IOMAP_7X00_H24#define __ASM_ARCH_MSM_IOMAP_7X00_H2526#include <asm/sizes.h>2728/* Physical base address and size of peripherals.29* Ordered by the virtual base addresses they will be mapped at.30*31* MSM_VIC_BASE must be an value that can be loaded via a "mov"32* instruction, otherwise entry-macro.S will not compile.33*34* If you add or remove entries here, you'll want to edit the35* msm_io_desc array in arch/arm/mach-msm/io.c to reflect your36* changes.37*38*/3940#ifdef __ASSEMBLY__41#define IOMEM(x) x42#else43#define IOMEM(x) ((void __force __iomem *)(x))44#endif4546#define MSM_VIC_BASE IOMEM(0xE0000000)47#define MSM_VIC_PHYS 0xC000000048#define MSM_VIC_SIZE SZ_4K4950#define MSM7X00_CSR_PHYS 0xC010000051#define MSM7X00_CSR_SIZE SZ_4K5253#define MSM_DMOV_BASE IOMEM(0xE0002000)54#define MSM_DMOV_PHYS 0xA970000055#define MSM_DMOV_SIZE SZ_4K5657#define MSM_GPIO1_BASE IOMEM(0xE0003000)58#define MSM_GPIO1_PHYS 0xA920000059#define MSM_GPIO1_SIZE SZ_4K6061#define MSM_GPIO2_BASE IOMEM(0xE0004000)62#define MSM_GPIO2_PHYS 0xA930000063#define MSM_GPIO2_SIZE SZ_4K6465#define MSM_CLK_CTL_BASE IOMEM(0xE0005000)66#define MSM_CLK_CTL_PHYS 0xA860000067#define MSM_CLK_CTL_SIZE SZ_4K6869#define MSM_SHARED_RAM_BASE IOMEM(0xE0100000)70#define MSM_SHARED_RAM_PHYS 0x01F0000071#define MSM_SHARED_RAM_SIZE SZ_1M7273#define MSM_UART1_PHYS 0xA9A0000074#define MSM_UART1_SIZE SZ_4K7576#define MSM_UART2_PHYS 0xA9B0000077#define MSM_UART2_SIZE SZ_4K7879#define MSM_UART3_PHYS 0xA9C0000080#define MSM_UART3_SIZE SZ_4K8182#ifdef CONFIG_MSM_DEBUG_UART83#define MSM_DEBUG_UART_BASE 0xE100000084#if CONFIG_MSM_DEBUG_UART == 185#define MSM_DEBUG_UART_PHYS MSM_UART1_PHYS86#elif CONFIG_MSM_DEBUG_UART == 287#define MSM_DEBUG_UART_PHYS MSM_UART2_PHYS88#elif CONFIG_MSM_DEBUG_UART == 389#define MSM_DEBUG_UART_PHYS MSM_UART3_PHYS90#endif91#define MSM_DEBUG_UART_SIZE SZ_4K92#endif9394#define MSM_SDC1_PHYS 0xA040000095#define MSM_SDC1_SIZE SZ_4K9697#define MSM_SDC2_PHYS 0xA050000098#define MSM_SDC2_SIZE SZ_4K99100#define MSM_SDC3_PHYS 0xA0600000101#define MSM_SDC3_SIZE SZ_4K102103#define MSM_SDC4_PHYS 0xA0700000104#define MSM_SDC4_SIZE SZ_4K105106#define MSM_I2C_PHYS 0xA9900000107#define MSM_I2C_SIZE SZ_4K108109#define MSM_HSUSB_PHYS 0xA0800000110#define MSM_HSUSB_SIZE SZ_4K111112#define MSM_PMDH_PHYS 0xAA600000113#define MSM_PMDH_SIZE SZ_4K114115#define MSM_EMDH_PHYS 0xAA700000116#define MSM_EMDH_SIZE SZ_4K117118#define MSM_MDP_PHYS 0xAA200000119#define MSM_MDP_SIZE 0x000F0000120121#define MSM_MDC_PHYS 0xAA500000122#define MSM_MDC_SIZE SZ_1M123124#define MSM_AD5_PHYS 0xAC000000125#define MSM_AD5_SIZE (SZ_1M*13)126127128#endif129130131