Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 77468
b: refs/heads/master
c: 3042102
h: refs/heads/master
v: v3
  • Loading branch information
Brian Swetland authored and Russell King committed Jan 26, 2008
1 parent c773b5d commit 71490f5
Show file tree
Hide file tree
Showing 50 changed files with 830 additions and 296 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1d7d4f54b1337bf64605dc9cb3c540f67843be39
refs/heads/master: 3042102a28501510a409fe86962f20369e325cf2
11 changes: 11 additions & 0 deletions trunk/arch/arm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -409,6 +409,17 @@ config ARCH_OMAP
help
Support for TI's OMAP platform (OMAP1 and OMAP2).

config ARCH_MSM7X00A
bool "Qualcomm MSM7X00A"
select GENERIC_TIME
select GENERIC_CLOCKEVENTS
help
Support for Qualcomm MSM7X00A based systems. This runs on the ARM11
apps processor of the MSM7X00A and depends on a shared memory
interface to the ARM9 modem processor which runs the baseband stack
and controls some vital subsystems (clock and power control, etc).
<http://www.cdmatech.com/products/msm7200_chipset_solution.jsp>

endchoice

source "arch/arm/mach-clps711x/Kconfig"
Expand Down
6 changes: 0 additions & 6 deletions trunk/arch/arm/Kconfig.debug
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,6 @@ config DEBUG_ERRORS
you are concerned with the code size or don't want to see these
messages.

config DEBUG_STACK_USAGE
bool "Enable stack utilization instrumentation"
depends on DEBUG_KERNEL
help
Enables the display of the minimum amount of free stack which each
task has ever had available in the sysrq-T output.

# These options are only for real kernel hackers who want to get their hands dirty.
config DEBUG_LL
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/arm/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,7 @@ endif
machine-$(CONFIG_ARCH_KS8695) := ks8695
incdir-$(CONFIG_ARCH_MXC) := mxc
machine-$(CONFIG_ARCH_MX3) := mx3
machine-$(CONFIG_ARCH_MSM7X00A) := msm

ifeq ($(CONFIG_ARCH_EBSA110),y)
# This is what happens if you forget the IOCS16 line.
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/arm/common/rtctime.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#include <linux/capability.h>
#include <linux/device.h>
#include <linux/mutex.h>
#include <linux/rtc.h>

#include <asm/rtc.h>
#include <asm/semaphore.h>
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/arm/configs/collie_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -367,6 +367,7 @@ CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set
CONFIG_MTD_OBSOLETE_CHIPS=y
CONFIG_MTD_SHARP=y
# CONFIG_MTD_XIP is not set

Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/kernel/dma-isa.c
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ void __init isa_init_dma(dma_t *dma)

request_dma(DMA_ISA_CASCADE, "cascade");

for (i = 0; i < ARRAY_SIZE(dma_resources); i++)
for (i = 0; i < sizeof(dma_resources) / sizeof(dma_resources[0]); i++)
request_resource(&ioport_resource, dma_resources + i);
}
}
4 changes: 2 additions & 2 deletions trunk/arch/arm/kernel/entry-armv.S
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
*
* Low-level vector interface routines
*
* Note: there is a StrongARM bug in the STMIA rn, {regs}^ instruction
* that causes it to save wrong values... Be aware!
* Note: there is a StrongARM bug in the STMIA rn, {regs}^ instruction that causes
* it to save wrong values... Be aware!
*/

#include <asm/memory.h>
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/kernel/entry-common.S
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ no_work_pending:
ldr r1, [sp, #S_PSR] @ get calling cpsr
ldr lr, [sp, #S_PC]! @ get pc
msr spsr_cxsf, r1 @ save in spsr_svc
ldmdb sp, {r0 - lr}^ @ get calling r0 - lr
ldmdb sp, {r0 - lr}^ @ get calling r1 - lr
mov r0, r0
add sp, sp, #S_FRAME_SIZE - S_PC
movs pc, lr @ return & move spsr_svc into cpsr
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/arm/mach-ep93xx/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#include <linux/serial.h>
#include <linux/tty.h>
#include <linux/bitops.h>
#include <linux/serial.h>
#include <linux/serial_8250.h>
#include <linux/serial_core.h>
#include <linux/device.h>
Expand Down
8 changes: 3 additions & 5 deletions trunk/arch/arm/mach-integrator/pci_v3.c
Original file line number Diff line number Diff line change
Expand Up @@ -440,18 +440,16 @@ v3_pci_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
return 1;
}

static irqreturn_t v3_irq(int dummy, void *devid)
static irqreturn_t v3_irq(int irq, void *devid)
{
#ifdef CONFIG_DEBUG_LL
struct pt_regs *regs = get_irq_regs();
unsigned long pc = instruction_pointer(regs);
unsigned long instr = *(unsigned long *)pc;
char buf[128];

sprintf(buf, "V3 int %d: pc=0x%08lx [%08lx] LBFADDR=%08x LBFCODE=%02x "
"ISTAT=%02x\n", IRQ_AP_V3INT, pc, instr,
__raw_readl(SC_LBFADDR),
__raw_readl(SC_LBFCODE) & 255,
sprintf(buf, "V3 int %d: pc=0x%08lx [%08lx] LBFADDR=%08x LBFCODE=%02x ISTAT=%02x\n", irq,
pc, instr, __raw_readl(SC_LBFADDR), __raw_readl(SC_LBFCODE) & 255,
v3_readb(V3_LB_ISTAT));
printascii(buf);
#endif
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/arm/mach-ixp23xx/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#include <linux/serial.h>
#include <linux/tty.h>
#include <linux/bitops.h>
#include <linux/serial.h>
#include <linux/serial_8250.h>
#include <linux/serial_core.h>
#include <linux/device.h>
Expand Down
2 changes: 2 additions & 0 deletions trunk/arch/arm/mach-ixp23xx/espresso.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
#include <linux/tty.h>
#include <linux/bitops.h>
#include <linux/ioport.h>
#include <linux/serial.h>
#include <linux/serial_8250.h>
#include <linux/serial_core.h>
#include <linux/device.h>
Expand All @@ -39,6 +40,7 @@
#include <asm/mach/map.h>
#include <asm/mach/irq.h>
#include <asm/mach/arch.h>
#include <asm/mach/irq.h>
#include <asm/mach/pci.h>

static int __init espresso_pci_init(void)
Expand Down
2 changes: 2 additions & 0 deletions trunk/arch/arm/mach-ixp23xx/ixdp2351.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#include <linux/tty.h>
#include <linux/bitops.h>
#include <linux/ioport.h>
#include <linux/serial.h>
#include <linux/serial_8250.h>
#include <linux/serial_core.h>
#include <linux/device.h>
Expand All @@ -43,6 +44,7 @@
#include <asm/mach/map.h>
#include <asm/mach/irq.h>
#include <asm/mach/arch.h>
#include <asm/mach/irq.h>
#include <asm/mach/pci.h>

/*
Expand Down
2 changes: 2 additions & 0 deletions trunk/arch/arm/mach-ixp23xx/roadrunner.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
#include <linux/tty.h>
#include <linux/bitops.h>
#include <linux/ioport.h>
#include <linux/serial.h>
#include <linux/serial_8250.h>
#include <linux/serial_core.h>
#include <linux/device.h>
Expand All @@ -43,6 +44,7 @@
#include <asm/mach/map.h>
#include <asm/mach/irq.h>
#include <asm/mach/arch.h>
#include <asm/mach/irq.h>
#include <asm/mach/pci.h>

/*
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/arm/mach-ixp4xx/nslu2-power.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#include <linux/reboot.h>
#include <linux/irq.h>
#include <linux/interrupt.h>
#include <linux/reboot.h>

#include <asm/mach-types.h>

Expand Down
2 changes: 2 additions & 0 deletions trunk/arch/arm/mach-msm/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
obj-y += io.o idle.o

3 changes: 3 additions & 0 deletions trunk/arch/arm/mach-msm/Makefile.boot
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
zreladdr-y := 0x10008000
params_phys-y := 0x10000100
initrd_phys-y := 0x10800000
36 changes: 36 additions & 0 deletions trunk/arch/arm/mach-msm/idle.S
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/* linux/include/asm-arm/arch-msm/idle.S
*
* Idle processing for MSM7K - work around bugs with SWFI.
*
* Copyright (c) 2007 QUALCOMM Incorporated.
* 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 <linux/linkage.h>
#include <asm/assembler.h>

ENTRY(arch_idle)
#ifdef CONFIG_MSM7X00A_IDLE
mrc p15, 0, r1, c1, c0, 0 /* read current CR */
bic r0, r1, #(1 << 2) /* clear dcache bit */
bic r0, r0, #(1 << 12) /* clear icache bit */
mcr p15, 0, r0, c1, c0, 0 /* disable d/i cache */

mov r0, #0 /* prepare wfi value */
mcr p15, 0, r0, c7, c10, 0 /* flush the cache */
mcr p15, 0, r0, c7, c10, 4 /* memory barrier */
mcr p15, 0, r0, c7, c0, 4 /* wait for interrupt */

mcr p15, 0, r1, c1, c0, 0 /* restore d/i cache */
#endif
mov pc, lr
85 changes: 85 additions & 0 deletions trunk/arch/arm/mach-msm/io.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
/* arch/arm/mach-msm/io.c
*
* MSM7K io support
*
* 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 <linux/kernel.h>
#include <linux/init.h>

#include <asm/hardware.h>
#include <asm/io.h>
#include <asm/page.h>
#include <asm/arch/msm_iomap.h>
#include <asm/mach/map.h>

#include <asm/arch/board.h>

#define MSM_DEVICE(name) { \
.virtual = MSM_##name##_BASE, \
.pfn = __phys_to_pfn(MSM_##name##_PHYS), \
.length = MSM_##name##_SIZE, \
.type = MT_DEVICE_NONSHARED, \
}

static struct map_desc msm_io_desc[] __initdata = {
MSM_DEVICE(VIC),
MSM_DEVICE(CSR),
MSM_DEVICE(GPT),
MSM_DEVICE(DMOV),
MSM_DEVICE(UART1),
MSM_DEVICE(UART2),
MSM_DEVICE(UART3),
MSM_DEVICE(I2C),
MSM_DEVICE(GPIO1),
MSM_DEVICE(GPIO2),
MSM_DEVICE(HSUSB),
MSM_DEVICE(CLK_CTL),
MSM_DEVICE(PMDH),
MSM_DEVICE(EMDH),
MSM_DEVICE(MDP),
{
.virtual = MSM_SHARED_RAM_BASE,
.pfn = __phys_to_pfn(MSM_SHARED_RAM_PHYS),
.length = MSM_SHARED_RAM_SIZE,
.type = MT_DEVICE,
},
};

void __init msm_map_common_io(void)
{
/* Make sure the peripheral register window is closed, since
* we will use PTE flags (TEX[1]=1,B=0,C=1) to determine which
* pages are peripheral interface or not.
*/
asm("mcr p15, 0, %0, c15, c2, 4" : : "r" (0));

iotable_init(msm_io_desc, ARRAY_SIZE(msm_io_desc));
}

void __iomem *
__msm_ioremap(unsigned long phys_addr, size_t size, unsigned int mtype)
{
if (mtype == MT_DEVICE) {
/* The peripherals in the 88000000 - D0000000 range
* are only accessable by type MT_DEVICE_NONSHARED.
* Adjust mtype as necessary to make this "just work."
*/
if ((phys_addr >= 0x88000000) && (phys_addr < 0xD0000000))
mtype = MT_DEVICE_NONSHARED;
}

return __arm_ioremap(phys_addr, size, mtype);
}
1 change: 1 addition & 0 deletions trunk/arch/arm/mach-omap1/board-nokia770.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
#include <asm/arch/common.h>
#include <asm/arch/dsp_common.h>
#include <asm/arch/aic23.h>
#include <asm/arch/gpio.h>
#include <asm/arch/omapfb.h>
#include <asm/arch/lcd_mipid.h>

Expand Down
1 change: 1 addition & 0 deletions trunk/arch/arm/mach-omap1/board-osk.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
#include <linux/platform_device.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/interrupt.h>
#include <linux/i2c.h>

#include <linux/mtd/mtd.h>
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/arm/mach-omap1/board-palmtt.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
#include <asm/arch/common.h>
#include <asm/arch/omap-alsa.h>

#include <linux/input.h>
#include <linux/spi/spi.h>
#include <linux/spi/ads7846.h>

Expand Down
1 change: 1 addition & 0 deletions trunk/arch/arm/mach-omap1/board-palmz71.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
#include <asm/arch/common.h>
#include <asm/arch/omap-alsa.h>

#include <linux/input.h>
#include <linux/spi/spi.h>
#include <linux/spi/ads7846.h>

Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/mach-omap1/pm.c
Original file line number Diff line number Diff line change
Expand Up @@ -639,7 +639,7 @@ static void omap_pm_finish(void)
}


static irqreturn_t omap_wakeup_interrupt(int irq, void *dev)
static irqreturn_t omap_wakeup_interrupt(int irq, void *dev)
{
return IRQ_HANDLED;
}
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/arm/mach-omap2/board-apollon.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
#include <linux/interrupt.h>
#include <linux/delay.h>
#include <linux/leds.h>
#include <linux/irq.h>

#include <asm/hardware.h>
#include <asm/mach-types.h>
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/mach-pxa/ssp.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ static int use_count[PXA_SSP_PORTS] = {0, 0, 0};

static irqreturn_t ssp_interrupt(int irq, void *dev_id)
{
struct ssp_dev *dev = dev_id;
struct ssp_dev *dev = (struct ssp_dev*) dev_id;
unsigned int status = SSSR_P(dev->port);

SSSR_P(dev->port) = status; /* clear status bits */
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/mach-s3c2410/usb-simtec.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ usb_simtec_powercontrol(int port, int to)
static irqreturn_t
usb_simtec_ocirq(int irq, void *pw)
{
struct s3c2410_hcd_info *info = pw;
struct s3c2410_hcd_info *info = (struct s3c2410_hcd_info *)pw;

if (s3c2410_gpio_getpin(S3C2410_GPG10) == 0) {
pr_debug("usb_simtec: over-current irq (oc detected)\n");
Expand Down
3 changes: 2 additions & 1 deletion trunk/arch/arm/mach-sa1100/ssp.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,9 @@ static irqreturn_t ssp_interrupt(int irq, void *dev_id)
{
unsigned int status = Ser4SSSR;

if (status & SSSR_ROR)
if (status & SSSR_ROR) {
printk(KERN_WARNING "SSP: receiver overrun\n");
}

Ser4SSSR = SSSR_ROR;

Expand Down
Loading

0 comments on commit 71490f5

Please sign in to comment.