[ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach
This just leaves include/asm-arm/plat-* to deal with. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:

committed by
Russell King

parent
a1b81a84ff
commit
a09e64fbc0
37
arch/arm/mach-msm/include/mach/board.h
Normal file
37
arch/arm/mach-msm/include/mach/board.h
Normal file
@@ -0,0 +1,37 @@
|
||||
/* arch/arm/mach-msm/include/mach/board.h
|
||||
*
|
||||
* Copyright (C) 2007 Google, Inc.
|
||||
* Author: Brian Swetland <swetland@google.com>
|
||||
*
|
||||
* This software is licensed under the terms of the GNU General Public
|
||||
* License version 2, as published by the Free Software Foundation, and
|
||||
* may be copied, distributed, and modified under those terms.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __ASM_ARCH_MSM_BOARD_H
|
||||
#define __ASM_ARCH_MSM_BOARD_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* platform device data structures */
|
||||
|
||||
struct msm_mddi_platform_data
|
||||
{
|
||||
void (*panel_power)(int on);
|
||||
unsigned has_vsync_irq:1;
|
||||
};
|
||||
|
||||
/* common init routines for use by arch/arm/mach-msm/board-*.c */
|
||||
|
||||
void __init msm_add_devices(void);
|
||||
void __init msm_map_common_io(void);
|
||||
void __init msm_init_irq(void);
|
||||
void __init msm_init_gpio(void);
|
||||
|
||||
#endif
|
40
arch/arm/mach-msm/include/mach/debug-macro.S
Normal file
40
arch/arm/mach-msm/include/mach/debug-macro.S
Normal file
@@ -0,0 +1,40 @@
|
||||
/* arch/arm/mach-msm7200/include/mach/debug-macro.S
|
||||
*
|
||||
* Copyright (C) 2007 Google, Inc.
|
||||
* Author: Brian Swetland <swetland@google.com>
|
||||
*
|
||||
* This software is licensed under the terms of the GNU General Public
|
||||
* License version 2, as published by the Free Software Foundation, and
|
||||
* may be copied, distributed, and modified under those terms.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <mach/hardware.h>
|
||||
#include <mach/msm_iomap.h>
|
||||
|
||||
.macro addruart,rx
|
||||
@ see if the MMU is enabled and select appropriate base address
|
||||
mrc p15, 0, \rx, c1, c0
|
||||
tst \rx, #1
|
||||
ldreq \rx, =MSM_UART1_PHYS
|
||||
ldrne \rx, =MSM_UART1_BASE
|
||||
.endm
|
||||
|
||||
.macro senduart,rd,rx
|
||||
str \rd, [\rx, #0x0C]
|
||||
.endm
|
||||
|
||||
.macro waituart,rd,rx
|
||||
@ wait for TX_READY
|
||||
1: ldr \rd, [\rx, #0x08]
|
||||
tst \rd, #0x04
|
||||
beq 1b
|
||||
.endm
|
||||
|
||||
.macro busyuart,rd,rx
|
||||
.endm
|
151
arch/arm/mach-msm/include/mach/dma.h
Normal file
151
arch/arm/mach-msm/include/mach/dma.h
Normal file
@@ -0,0 +1,151 @@
|
||||
/* arch/arm/mach-msm/include/mach/dma.h
|
||||
*
|
||||
* Copyright (C) 2007 Google, Inc.
|
||||
*
|
||||
* This software is licensed under the terms of the GNU General Public
|
||||
* License version 2, as published by the Free Software Foundation, and
|
||||
* may be copied, distributed, and modified under those terms.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __ASM_ARCH_MSM_DMA_H
|
||||
|
||||
#include <linux/list.h>
|
||||
#include <mach/msm_iomap.h>
|
||||
|
||||
struct msm_dmov_cmd {
|
||||
struct list_head list;
|
||||
unsigned int cmdptr;
|
||||
void (*complete_func)(struct msm_dmov_cmd *cmd, unsigned int result);
|
||||
/* void (*user_result_func)(struct msm_dmov_cmd *cmd); */
|
||||
};
|
||||
|
||||
void msm_dmov_enqueue_cmd(unsigned id, struct msm_dmov_cmd *cmd);
|
||||
void msm_dmov_stop_cmd(unsigned id, struct msm_dmov_cmd *cmd);
|
||||
int msm_dmov_exec_cmd(unsigned id, unsigned int cmdptr);
|
||||
/* int msm_dmov_exec_cmd_etc(unsigned id, unsigned int cmdptr, int timeout, int interruptible); */
|
||||
|
||||
|
||||
|
||||
#define DMOV_SD0(off, ch) (MSM_DMOV_BASE + 0x0000 + (off) + ((ch) << 2))
|
||||
#define DMOV_SD1(off, ch) (MSM_DMOV_BASE + 0x0400 + (off) + ((ch) << 2))
|
||||
#define DMOV_SD2(off, ch) (MSM_DMOV_BASE + 0x0800 + (off) + ((ch) << 2))
|
||||
#define DMOV_SD3(off, ch) (MSM_DMOV_BASE + 0x0C00 + (off) + ((ch) << 2))
|
||||
|
||||
/* only security domain 3 is available to the ARM11
|
||||
* SD0 -> mARM trusted, SD1 -> mARM nontrusted, SD2 -> aDSP, SD3 -> aARM
|
||||
*/
|
||||
|
||||
#define DMOV_CMD_PTR(ch) DMOV_SD3(0x000, ch)
|
||||
#define DMOV_CMD_LIST (0 << 29) /* does not work */
|
||||
#define DMOV_CMD_PTR_LIST (1 << 29) /* works */
|
||||
#define DMOV_CMD_INPUT_CFG (2 << 29) /* untested */
|
||||
#define DMOV_CMD_OUTPUT_CFG (3 << 29) /* untested */
|
||||
#define DMOV_CMD_ADDR(addr) ((addr) >> 3)
|
||||
|
||||
#define DMOV_RSLT(ch) DMOV_SD3(0x040, ch)
|
||||
#define DMOV_RSLT_VALID (1 << 31) /* 0 == host has empties result fifo */
|
||||
#define DMOV_RSLT_ERROR (1 << 3)
|
||||
#define DMOV_RSLT_FLUSH (1 << 2)
|
||||
#define DMOV_RSLT_DONE (1 << 1) /* top pointer done */
|
||||
#define DMOV_RSLT_USER (1 << 0) /* command with FR force result */
|
||||
|
||||
#define DMOV_FLUSH0(ch) DMOV_SD3(0x080, ch)
|
||||
#define DMOV_FLUSH1(ch) DMOV_SD3(0x0C0, ch)
|
||||
#define DMOV_FLUSH2(ch) DMOV_SD3(0x100, ch)
|
||||
#define DMOV_FLUSH3(ch) DMOV_SD3(0x140, ch)
|
||||
#define DMOV_FLUSH4(ch) DMOV_SD3(0x180, ch)
|
||||
#define DMOV_FLUSH5(ch) DMOV_SD3(0x1C0, ch)
|
||||
|
||||
#define DMOV_STATUS(ch) DMOV_SD3(0x200, ch)
|
||||
#define DMOV_STATUS_RSLT_COUNT(n) (((n) >> 29))
|
||||
#define DMOV_STATUS_CMD_COUNT(n) (((n) >> 27) & 3)
|
||||
#define DMOV_STATUS_RSLT_VALID (1 << 1)
|
||||
#define DMOV_STATUS_CMD_PTR_RDY (1 << 0)
|
||||
|
||||
#define DMOV_ISR DMOV_SD3(0x380, 0)
|
||||
|
||||
#define DMOV_CONFIG(ch) DMOV_SD3(0x300, ch)
|
||||
#define DMOV_CONFIG_FORCE_TOP_PTR_RSLT (1 << 2)
|
||||
#define DMOV_CONFIG_FORCE_FLUSH_RSLT (1 << 1)
|
||||
#define DMOV_CONFIG_IRQ_EN (1 << 0)
|
||||
|
||||
/* channel assignments */
|
||||
|
||||
#define DMOV_NAND_CHAN 7
|
||||
#define DMOV_NAND_CRCI_CMD 5
|
||||
#define DMOV_NAND_CRCI_DATA 4
|
||||
|
||||
#define DMOV_SDC1_CHAN 8
|
||||
#define DMOV_SDC1_CRCI 6
|
||||
|
||||
#define DMOV_SDC2_CHAN 8
|
||||
#define DMOV_SDC2_CRCI 7
|
||||
|
||||
#define DMOV_TSIF_CHAN 10
|
||||
#define DMOV_TSIF_CRCI 10
|
||||
|
||||
#define DMOV_USB_CHAN 11
|
||||
|
||||
/* no client rate control ifc (eg, ram) */
|
||||
#define DMOV_NONE_CRCI 0
|
||||
|
||||
|
||||
/* If the CMD_PTR register has CMD_PTR_LIST selected, the data mover
|
||||
* is going to walk a list of 32bit pointers as described below. Each
|
||||
* pointer points to a *array* of dmov_s, etc structs. The last pointer
|
||||
* in the list is marked with CMD_PTR_LP. The last struct in each array
|
||||
* is marked with CMD_LC (see below).
|
||||
*/
|
||||
#define CMD_PTR_ADDR(addr) ((addr) >> 3)
|
||||
#define CMD_PTR_LP (1 << 31) /* last pointer */
|
||||
#define CMD_PTR_PT (3 << 29) /* ? */
|
||||
|
||||
/* Single Item Mode */
|
||||
typedef struct {
|
||||
unsigned cmd;
|
||||
unsigned src;
|
||||
unsigned dst;
|
||||
unsigned len;
|
||||
} dmov_s;
|
||||
|
||||
/* Scatter/Gather Mode */
|
||||
typedef struct {
|
||||
unsigned cmd;
|
||||
unsigned src_dscr;
|
||||
unsigned dst_dscr;
|
||||
unsigned _reserved;
|
||||
} dmov_sg;
|
||||
|
||||
/* bits for the cmd field of the above structures */
|
||||
|
||||
#define CMD_LC (1 << 31) /* last command */
|
||||
#define CMD_FR (1 << 22) /* force result -- does not work? */
|
||||
#define CMD_OCU (1 << 21) /* other channel unblock */
|
||||
#define CMD_OCB (1 << 20) /* other channel block */
|
||||
#define CMD_TCB (1 << 19) /* ? */
|
||||
#define CMD_DAH (1 << 18) /* destination address hold -- does not work?*/
|
||||
#define CMD_SAH (1 << 17) /* source address hold -- does not work? */
|
||||
|
||||
#define CMD_MODE_SINGLE (0 << 0) /* dmov_s structure used */
|
||||
#define CMD_MODE_SG (1 << 0) /* untested */
|
||||
#define CMD_MODE_IND_SG (2 << 0) /* untested */
|
||||
#define CMD_MODE_BOX (3 << 0) /* untested */
|
||||
|
||||
#define CMD_DST_SWAP_BYTES (1 << 14) /* exchange each byte n with byte n+1 */
|
||||
#define CMD_DST_SWAP_SHORTS (1 << 15) /* exchange each short n with short n+1 */
|
||||
#define CMD_DST_SWAP_WORDS (1 << 16) /* exchange each word n with word n+1 */
|
||||
|
||||
#define CMD_SRC_SWAP_BYTES (1 << 11) /* exchange each byte n with byte n+1 */
|
||||
#define CMD_SRC_SWAP_SHORTS (1 << 12) /* exchange each short n with short n+1 */
|
||||
#define CMD_SRC_SWAP_WORDS (1 << 13) /* exchange each word n with word n+1 */
|
||||
|
||||
#define CMD_DST_CRCI(n) (((n) & 15) << 7)
|
||||
#define CMD_SRC_CRCI(n) (((n) & 15) << 3)
|
||||
|
||||
#endif
|
38
arch/arm/mach-msm/include/mach/entry-macro.S
Normal file
38
arch/arm/mach-msm/include/mach/entry-macro.S
Normal file
@@ -0,0 +1,38 @@
|
||||
/* arch/arm/mach-msm7200/include/mach/entry-macro.S
|
||||
*
|
||||
* Copyright (C) 2007 Google, Inc.
|
||||
* Author: Brian Swetland <swetland@google.com>
|
||||
*
|
||||
* This software is licensed under the terms of the GNU General Public
|
||||
* License version 2, as published by the Free Software Foundation, and
|
||||
* may be copied, distributed, and modified under those terms.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <mach/msm_iomap.h>
|
||||
|
||||
.macro disable_fiq
|
||||
.endm
|
||||
|
||||
.macro get_irqnr_preamble, base, tmp
|
||||
@ enable imprecise aborts
|
||||
cpsie a
|
||||
mov \base, #MSM_VIC_BASE
|
||||
.endm
|
||||
|
||||
.macro arch_ret_to_user, tmp1, tmp2
|
||||
.endm
|
||||
|
||||
.macro get_irqnr_and_base, irqnr, irqstat, base, tmp
|
||||
@ 0xD0 has irq# or old irq# if the irq has been handled
|
||||
@ 0xD4 has irq# or -1 if none pending *but* if you just
|
||||
@ read 0xD4 you never get the first irq for some reason
|
||||
ldr \irqnr, [\base, #0xD0]
|
||||
ldr \irqnr, [\base, #0xD4]
|
||||
cmp \irqnr, #0xffffffff
|
||||
.endm
|
18
arch/arm/mach-msm/include/mach/hardware.h
Normal file
18
arch/arm/mach-msm/include/mach/hardware.h
Normal file
@@ -0,0 +1,18 @@
|
||||
/* arch/arm/mach-msm/include/mach/hardware.h
|
||||
*
|
||||
* Copyright (C) 2007 Google, Inc.
|
||||
*
|
||||
* This software is licensed under the terms of the GNU General Public
|
||||
* License version 2, as published by the Free Software Foundation, and
|
||||
* may be copied, distributed, and modified under those terms.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __ASM_ARCH_MSM_HARDWARE_H
|
||||
|
||||
#endif
|
33
arch/arm/mach-msm/include/mach/io.h
Normal file
33
arch/arm/mach-msm/include/mach/io.h
Normal file
@@ -0,0 +1,33 @@
|
||||
/* arch/arm/mach-msm/include/mach/io.h
|
||||
*
|
||||
* Copyright (C) 2007 Google, Inc.
|
||||
*
|
||||
* This software is licensed under the terms of the GNU General Public
|
||||
* License version 2, as published by the Free Software Foundation, and
|
||||
* may be copied, distributed, and modified under those terms.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __ASM_ARM_ARCH_IO_H
|
||||
#define __ASM_ARM_ARCH_IO_H
|
||||
|
||||
#define IO_SPACE_LIMIT 0xffffffff
|
||||
|
||||
#define __arch_ioremap __msm_ioremap
|
||||
#define __arch_iounmap __iounmap
|
||||
|
||||
void __iomem *__msm_ioremap(unsigned long phys_addr, size_t size, unsigned int mtype);
|
||||
|
||||
static inline void __iomem *__io(unsigned long addr)
|
||||
{
|
||||
return (void __iomem *)addr;
|
||||
}
|
||||
#define __io(a) __io(a)
|
||||
#define __mem_pci(a) (a)
|
||||
|
||||
#endif
|
90
arch/arm/mach-msm/include/mach/irqs.h
Normal file
90
arch/arm/mach-msm/include/mach/irqs.h
Normal file
@@ -0,0 +1,90 @@
|
||||
/* arch/arm/mach-msm/include/mach/irqs.h
|
||||
*
|
||||
* Copyright (C) 2007 Google, Inc.
|
||||
* Author: Brian Swetland <swetland@google.com>
|
||||
*
|
||||
* This software is licensed under the terms of the GNU General Public
|
||||
* License version 2, as published by the Free Software Foundation, and
|
||||
* may be copied, distributed, and modified under those terms.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __ASM_ARCH_MSM_IRQS_H
|
||||
#define __ASM_ARCH_MSM_IRQS_H
|
||||
|
||||
/* MSM ARM11 Interrupt Numbers */
|
||||
/* See 80-VE113-1 A, pp219-221 */
|
||||
|
||||
#define INT_A9_M2A_0 0
|
||||
#define INT_A9_M2A_1 1
|
||||
#define INT_A9_M2A_2 2
|
||||
#define INT_A9_M2A_3 3
|
||||
#define INT_A9_M2A_4 4
|
||||
#define INT_A9_M2A_5 5
|
||||
#define INT_A9_M2A_6 6
|
||||
#define INT_GP_TIMER_EXP 7
|
||||
#define INT_DEBUG_TIMER_EXP 8
|
||||
#define INT_UART1 9
|
||||
#define INT_UART2 10
|
||||
#define INT_UART3 11
|
||||
#define INT_UART1_RX 12
|
||||
#define INT_UART2_RX 13
|
||||
#define INT_UART3_RX 14
|
||||
#define INT_USB_OTG 15
|
||||
#define INT_MDDI_PRI 16
|
||||
#define INT_MDDI_EXT 17
|
||||
#define INT_MDDI_CLIENT 18
|
||||
#define INT_MDP 19
|
||||
#define INT_GRAPHICS 20
|
||||
#define INT_ADM_AARM 21
|
||||
#define INT_ADSP_A11 22
|
||||
#define INT_ADSP_A9_A11 23
|
||||
#define INT_SDC1_0 24
|
||||
#define INT_SDC1_1 25
|
||||
#define INT_SDC2_0 26
|
||||
#define INT_SDC2_1 27
|
||||
#define INT_KEYSENSE 28
|
||||
#define INT_TCHSCRN_SSBI 29
|
||||
#define INT_TCHSCRN1 30
|
||||
#define INT_TCHSCRN2 31
|
||||
|
||||
#define INT_GPIO_GROUP1 (32 + 0)
|
||||
#define INT_GPIO_GROUP2 (32 + 1)
|
||||
#define INT_PWB_I2C (32 + 2)
|
||||
#define INT_SOFTRESET (32 + 3)
|
||||
#define INT_NAND_WR_ER_DONE (32 + 4)
|
||||
#define INT_NAND_OP_DONE (32 + 5)
|
||||
#define INT_PBUS_ARM11 (32 + 6)
|
||||
#define INT_AXI_MPU_SMI (32 + 7)
|
||||
#define INT_AXI_MPU_EBI1 (32 + 8)
|
||||
#define INT_AD_HSSD (32 + 9)
|
||||
#define INT_ARM11_PMU (32 + 10)
|
||||
#define INT_ARM11_DMA (32 + 11)
|
||||
#define INT_TSIF_IRQ (32 + 12)
|
||||
#define INT_UART1DM_IRQ (32 + 13)
|
||||
#define INT_UART1DM_RX (32 + 14)
|
||||
#define INT_USB_HS (32 + 15)
|
||||
#define INT_SDC3_0 (32 + 16)
|
||||
#define INT_SDC3_1 (32 + 17)
|
||||
#define INT_SDC4_0 (32 + 18)
|
||||
#define INT_SDC4_1 (32 + 19)
|
||||
#define INT_UART2DM_RX (32 + 20)
|
||||
#define INT_UART2DM_IRQ (32 + 21)
|
||||
|
||||
/* 22-31 are reserved */
|
||||
|
||||
#define MSM_IRQ_BIT(irq) (1 << ((irq) & 31))
|
||||
|
||||
#define NR_MSM_IRQS 64
|
||||
#define NR_GPIO_IRQS 122
|
||||
#define NR_BOARD_IRQS 64
|
||||
#define NR_IRQS (NR_MSM_IRQS + NR_GPIO_IRQS + NR_BOARD_IRQS)
|
||||
|
||||
#define MSM_GPIO_TO_INT(n) (NR_MSM_IRQS + (n))
|
||||
|
||||
#endif
|
27
arch/arm/mach-msm/include/mach/memory.h
Normal file
27
arch/arm/mach-msm/include/mach/memory.h
Normal file
@@ -0,0 +1,27 @@
|
||||
/* arch/arm/mach-msm/include/mach/memory.h
|
||||
*
|
||||
* Copyright (C) 2007 Google, Inc.
|
||||
*
|
||||
* This software is licensed under the terms of the GNU General Public
|
||||
* License version 2, as published by the Free Software Foundation, and
|
||||
* may be copied, distributed, and modified under those terms.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __ASM_ARCH_MEMORY_H
|
||||
#define __ASM_ARCH_MEMORY_H
|
||||
|
||||
/* physical offset of RAM */
|
||||
#define PHYS_OFFSET UL(0x10000000)
|
||||
|
||||
/* bus address and physical addresses are identical */
|
||||
#define __virt_to_bus(x) __virt_to_phys(x)
|
||||
#define __bus_to_virt(x) __phys_to_virt(x)
|
||||
|
||||
#endif
|
||||
|
104
arch/arm/mach-msm/include/mach/msm_iomap.h
Normal file
104
arch/arm/mach-msm/include/mach/msm_iomap.h
Normal file
@@ -0,0 +1,104 @@
|
||||
/* arch/arm/mach-msm/include/mach/msm_iomap.h
|
||||
*
|
||||
* Copyright (C) 2007 Google, Inc.
|
||||
* Author: Brian Swetland <swetland@google.com>
|
||||
*
|
||||
* This software is licensed under the terms of the GNU General Public
|
||||
* License version 2, as published by the Free Software Foundation, and
|
||||
* may be copied, distributed, and modified under those terms.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
* The MSM peripherals are spread all over across 768MB of physical
|
||||
* space, which makes just having a simple IO_ADDRESS macro to slide
|
||||
* them into the right virtual location rough. Instead, we will
|
||||
* provide a master phys->virt mapping for peripherals here.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __ASM_ARCH_MSM_IOMAP_H
|
||||
#define __ASM_ARCH_MSM_IOMAP_H
|
||||
|
||||
#include <asm/sizes.h>
|
||||
|
||||
/* Physical base address and size of peripherals.
|
||||
* Ordered by the virtual base addresses they will be mapped at.
|
||||
*
|
||||
* MSM_VIC_BASE must be an value that can be loaded via a "mov"
|
||||
* instruction, otherwise entry-macro.S will not compile.
|
||||
*
|
||||
* If you add or remove entries here, you'll want to edit the
|
||||
* msm_io_desc array in arch/arm/mach-msm/io.c to reflect your
|
||||
* changes.
|
||||
*
|
||||
*/
|
||||
|
||||
#define MSM_VIC_BASE 0xE0000000
|
||||
#define MSM_VIC_PHYS 0xC0000000
|
||||
#define MSM_VIC_SIZE SZ_4K
|
||||
|
||||
#define MSM_CSR_BASE 0xE0001000
|
||||
#define MSM_CSR_PHYS 0xC0100000
|
||||
#define MSM_CSR_SIZE SZ_4K
|
||||
|
||||
#define MSM_GPT_PHYS MSM_CSR_PHYS
|
||||
#define MSM_GPT_BASE MSM_CSR_BASE
|
||||
#define MSM_GPT_SIZE SZ_4K
|
||||
|
||||
#define MSM_DMOV_BASE 0xE0002000
|
||||
#define MSM_DMOV_PHYS 0xA9700000
|
||||
#define MSM_DMOV_SIZE SZ_4K
|
||||
|
||||
#define MSM_UART1_BASE 0xE0003000
|
||||
#define MSM_UART1_PHYS 0xA9A00000
|
||||
#define MSM_UART1_SIZE SZ_4K
|
||||
|
||||
#define MSM_UART2_BASE 0xE0004000
|
||||
#define MSM_UART2_PHYS 0xA9B00000
|
||||
#define MSM_UART2_SIZE SZ_4K
|
||||
|
||||
#define MSM_UART3_BASE 0xE0005000
|
||||
#define MSM_UART3_PHYS 0xA9C00000
|
||||
#define MSM_UART3_SIZE SZ_4K
|
||||
|
||||
#define MSM_I2C_BASE 0xE0006000
|
||||
#define MSM_I2C_PHYS 0xA9900000
|
||||
#define MSM_I2C_SIZE SZ_4K
|
||||
|
||||
#define MSM_GPIO1_BASE 0xE0007000
|
||||
#define MSM_GPIO1_PHYS 0xA9200000
|
||||
#define MSM_GPIO1_SIZE SZ_4K
|
||||
|
||||
#define MSM_GPIO2_BASE 0xE0008000
|
||||
#define MSM_GPIO2_PHYS 0xA9300000
|
||||
#define MSM_GPIO2_SIZE SZ_4K
|
||||
|
||||
#define MSM_HSUSB_BASE 0xE0009000
|
||||
#define MSM_HSUSB_PHYS 0xA0800000
|
||||
#define MSM_HSUSB_SIZE SZ_4K
|
||||
|
||||
#define MSM_CLK_CTL_BASE 0xE000A000
|
||||
#define MSM_CLK_CTL_PHYS 0xA8600000
|
||||
#define MSM_CLK_CTL_SIZE SZ_4K
|
||||
|
||||
#define MSM_PMDH_BASE 0xE000B000
|
||||
#define MSM_PMDH_PHYS 0xAA600000
|
||||
#define MSM_PMDH_SIZE SZ_4K
|
||||
|
||||
#define MSM_EMDH_BASE 0xE000C000
|
||||
#define MSM_EMDH_PHYS 0xAA700000
|
||||
#define MSM_EMDH_SIZE SZ_4K
|
||||
|
||||
#define MSM_MDP_BASE 0xE0010000
|
||||
#define MSM_MDP_PHYS 0xAA200000
|
||||
#define MSM_MDP_SIZE 0x000F0000
|
||||
|
||||
#define MSM_SHARED_RAM_BASE 0xE0100000
|
||||
#define MSM_SHARED_RAM_PHYS 0x01F00000
|
||||
#define MSM_SHARED_RAM_SIZE SZ_1M
|
||||
|
||||
#endif
|
23
arch/arm/mach-msm/include/mach/system.h
Normal file
23
arch/arm/mach-msm/include/mach/system.h
Normal file
@@ -0,0 +1,23 @@
|
||||
/* arch/arm/mach-msm/include/mach/system.h
|
||||
*
|
||||
* Copyright (C) 2007 Google, Inc.
|
||||
*
|
||||
* This software is licensed under the terms of the GNU General Public
|
||||
* License version 2, as published by the Free Software Foundation, and
|
||||
* may be copied, distributed, and modified under those terms.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <mach/hardware.h>
|
||||
|
||||
void arch_idle(void);
|
||||
|
||||
static inline void arch_reset(char mode)
|
||||
{
|
||||
for (;;) ; /* depends on IPC w/ other core */
|
||||
}
|
21
arch/arm/mach-msm/include/mach/timex.h
Normal file
21
arch/arm/mach-msm/include/mach/timex.h
Normal file
@@ -0,0 +1,21 @@
|
||||
/* arch/arm/mach-msm/include/mach/timex.h
|
||||
*
|
||||
* Copyright (C) 2007 Google, Inc.
|
||||
*
|
||||
* This software is licensed under the terms of the GNU General Public
|
||||
* License version 2, as published by the Free Software Foundation, and
|
||||
* may be copied, distributed, and modified under those terms.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __ASM_ARCH_MSM_TIMEX_H
|
||||
#define __ASM_ARCH_MSM_TIMEX_H
|
||||
|
||||
#define CLOCK_TICK_RATE 1000000
|
||||
|
||||
#endif
|
36
arch/arm/mach-msm/include/mach/uncompress.h
Normal file
36
arch/arm/mach-msm/include/mach/uncompress.h
Normal file
@@ -0,0 +1,36 @@
|
||||
/* arch/arm/mach-msm/include/mach/uncompress.h
|
||||
*
|
||||
* Copyright (C) 2007 Google, Inc.
|
||||
*
|
||||
* This software is licensed under the terms of the GNU General Public
|
||||
* License version 2, as published by the Free Software Foundation, and
|
||||
* may be copied, distributed, and modified under those terms.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __ASM_ARCH_MSM_UNCOMPRESS_H
|
||||
|
||||
#include "hardware.h"
|
||||
|
||||
static void putc(int c)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void flush(void)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void arch_decomp_setup(void)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void arch_decomp_wdog(void)
|
||||
{
|
||||
}
|
||||
|
||||
#endif
|
22
arch/arm/mach-msm/include/mach/vmalloc.h
Normal file
22
arch/arm/mach-msm/include/mach/vmalloc.h
Normal file
@@ -0,0 +1,22 @@
|
||||
/* arch/arm/mach-msm/include/mach/vmalloc.h
|
||||
*
|
||||
* Copyright (C) 2007 Google, Inc.
|
||||
*
|
||||
* This software is licensed under the terms of the GNU General Public
|
||||
* License version 2, as published by the Free Software Foundation, and
|
||||
* may be copied, distributed, and modified under those terms.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __ASM_ARCH_MSM_VMALLOC_H
|
||||
#define __ASM_ARCH_MSM_VMALLOC_H
|
||||
|
||||
#define VMALLOC_END (PAGE_OFFSET + 0x10000000)
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user