Commit 038c068f authored by Linus Torvalds's avatar Linus Torvalds

Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] CLPS7500 doesn't have IO ports
  [ARM] Fix more apm-emulation.h
  [ARM] 4234/1: Introduce get_irqnr_preamble and arch_ret_to_user for ns9xxx.
  [ARM] 4233/1: nand/s3c2410.c: warning fix
  [ARM] 4226/1: initial .data and .bss mappings of XIP kernel should be TEXT_OFFSET
  [ARM] 4224/2: allow XIP kernel to boot again
  [ARM] 4232/1: AT91: Generic GPIO bug
  [ARM] 4231/1: AT91: Merge and typo fixes.
  [ARM] 4229/1: S3C2410: Add MACH_QT2410 to s3c2410_defconfig
  [ARM] 4228/2: S3C24XX: update s3c2410_defconfig for 2.6.21-rc1
parents 5992fd19 e4169889
...@@ -171,6 +171,7 @@ config ARCH_CLPS7500 ...@@ -171,6 +171,7 @@ config ARCH_CLPS7500
bool "Cirrus CL-PS7500FE" bool "Cirrus CL-PS7500FE"
select TIMER_ACORN select TIMER_ACORN
select ISA select ISA
select NO_IOPORT
help help
Support for the Cirrus Logic PS7500FE system-on-a-chip. Support for the Cirrus Logic PS7500FE system-on-a-chip.
......
# #
# Automatically generated make config: don't edit # Automatically generated make config: don't edit
# Linux kernel version: 2.6.20 # Linux kernel version: 2.6.21-rc1
# Thu Feb 15 11:26:24 2007 # Wed Feb 21 16:48:01 2007
# #
CONFIG_ARM=y CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
# CONFIG_GENERIC_TIME is not set # CONFIG_GENERIC_TIME is not set
CONFIG_MMU=y CONFIG_MMU=y
CONFIG_NO_IOPORT=y
CONFIG_GENERIC_HARDIRQS=y CONFIG_GENERIC_HARDIRQS=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HARDIRQS_SW_RESEND=y
...@@ -15,6 +17,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y ...@@ -15,6 +17,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
# CONFIG_ARCH_HAS_ILOG2_U64 is not set # CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ZONE_DMA=y
CONFIG_VECTORS_BASE=0xffff0000 CONFIG_VECTORS_BASE=0xffff0000
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
...@@ -33,6 +36,7 @@ CONFIG_LOCALVERSION_AUTO=y ...@@ -33,6 +36,7 @@ CONFIG_LOCALVERSION_AUTO=y
CONFIG_SWAP=y CONFIG_SWAP=y
CONFIG_SYSVIPC=y CONFIG_SYSVIPC=y
# CONFIG_IPC_NS is not set # CONFIG_IPC_NS is not set
CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_POSIX_MQUEUE is not set # CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set # CONFIG_TASKSTATS is not set
...@@ -120,6 +124,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" ...@@ -120,6 +124,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
# CONFIG_ARCH_IXP2000 is not set # CONFIG_ARCH_IXP2000 is not set
# CONFIG_ARCH_IXP23XX is not set # CONFIG_ARCH_IXP23XX is not set
# CONFIG_ARCH_L7200 is not set # CONFIG_ARCH_L7200 is not set
# CONFIG_ARCH_NS9XXX is not set
# CONFIG_ARCH_PNX4008 is not set # CONFIG_ARCH_PNX4008 is not set
# CONFIG_ARCH_PXA is not set # CONFIG_ARCH_PXA is not set
# CONFIG_ARCH_RPC is not set # CONFIG_ARCH_RPC is not set
...@@ -161,6 +166,7 @@ CONFIG_MACH_OTOM=y ...@@ -161,6 +166,7 @@ CONFIG_MACH_OTOM=y
CONFIG_MACH_AML_M5900=y CONFIG_MACH_AML_M5900=y
CONFIG_BAST_PC104_IRQ=y CONFIG_BAST_PC104_IRQ=y
CONFIG_MACH_VR1000=y CONFIG_MACH_VR1000=y
CONFIG_MACH_QT2410=y
CONFIG_CPU_S3C2412=y CONFIG_CPU_S3C2412=y
CONFIG_S3C2412_DMA=y CONFIG_S3C2412_DMA=y
CONFIG_S3C2412_PM=y CONFIG_S3C2412_PM=y
...@@ -190,6 +196,7 @@ CONFIG_CPU_S3C2442=y ...@@ -190,6 +196,7 @@ CONFIG_CPU_S3C2442=y
# #
CONFIG_SMDK2440_CPU2442=y CONFIG_SMDK2440_CPU2442=y
CONFIG_CPU_S3C2443=y CONFIG_CPU_S3C2443=y
CONFIG_S3C2443_DMA=y
# #
# S3C2443 Machines # S3C2443 Machines
...@@ -250,6 +257,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y ...@@ -250,6 +257,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_SPARSEMEM_STATIC is not set # CONFIG_SPARSEMEM_STATIC is not set
CONFIG_SPLIT_PTLOCK_CPUS=4096 CONFIG_SPLIT_PTLOCK_CPUS=4096
# CONFIG_RESOURCES_64BIT is not set # CONFIG_RESOURCES_64BIT is not set
CONFIG_ZONE_DMA_FLAG=1
CONFIG_ALIGNMENT_TRAP=y CONFIG_ALIGNMENT_TRAP=y
# #
...@@ -259,6 +267,7 @@ CONFIG_ZBOOT_ROM_TEXT=0x0 ...@@ -259,6 +267,7 @@ CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0 CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_CMDLINE="root=/dev/hda1 ro init=/bin/bash console=ttySAC0" CONFIG_CMDLINE="root=/dev/hda1 ro init=/bin/bash console=ttySAC0"
# CONFIG_XIP_KERNEL is not set # CONFIG_XIP_KERNEL is not set
# CONFIG_KEXEC is not set
# #
# Floating point emulation # Floating point emulation
...@@ -287,7 +296,7 @@ CONFIG_PM=y ...@@ -287,7 +296,7 @@ CONFIG_PM=y
# CONFIG_PM_LEGACY is not set # CONFIG_PM_LEGACY is not set
# CONFIG_PM_DEBUG is not set # CONFIG_PM_DEBUG is not set
# CONFIG_PM_SYSFS_DEPRECATED is not set # CONFIG_PM_SYSFS_DEPRECATED is not set
CONFIG_APM=y # CONFIG_APM_EMULATION is not set
# #
# Networking # Networking
...@@ -303,6 +312,7 @@ CONFIG_UNIX=y ...@@ -303,6 +312,7 @@ CONFIG_UNIX=y
CONFIG_XFRM=y CONFIG_XFRM=y
# CONFIG_XFRM_USER is not set # CONFIG_XFRM_USER is not set
# CONFIG_XFRM_SUB_POLICY is not set # CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set
# CONFIG_NET_KEY is not set # CONFIG_NET_KEY is not set
CONFIG_INET=y CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set # CONFIG_IP_MULTICAST is not set
...@@ -387,6 +397,7 @@ CONFIG_STANDALONE=y ...@@ -387,6 +397,7 @@ CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_PREVENT_FIRMWARE_BUILD=y
# CONFIG_FW_LOADER is not set # CONFIG_FW_LOADER is not set
# CONFIG_DEBUG_DRIVER is not set # CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set # CONFIG_SYS_HYPERVISOR is not set
# #
...@@ -506,6 +517,7 @@ CONFIG_PARPORT_1284=y ...@@ -506,6 +517,7 @@ CONFIG_PARPORT_1284=y
# Plug and Play support # Plug and Play support
# #
# CONFIG_PNP is not set # CONFIG_PNP is not set
# CONFIG_PNPACPI is not set
# #
# Block devices # Block devices
...@@ -680,6 +692,7 @@ CONFIG_KEYBOARD_ATKBD=y ...@@ -680,6 +692,7 @@ CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_XTKBD is not set # CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_GPIO is not set
CONFIG_INPUT_MOUSE=y CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y CONFIG_MOUSE_PS2=y
# CONFIG_MOUSE_SERIAL is not set # CONFIG_MOUSE_SERIAL is not set
...@@ -848,12 +861,13 @@ CONFIG_SPI_MASTER=y ...@@ -848,12 +861,13 @@ CONFIG_SPI_MASTER=y
# #
CONFIG_SPI_BITBANG=m CONFIG_SPI_BITBANG=m
# CONFIG_SPI_BUTTERFLY is not set # CONFIG_SPI_BUTTERFLY is not set
CONFIG_SPI_S3C24XX_GPIO=m
CONFIG_SPI_S3C24XX=m CONFIG_SPI_S3C24XX=m
CONFIG_SPI_S3C24XX_GPIO=m
# #
# SPI Protocol Masters # SPI Protocol Masters
# #
# CONFIG_SPI_AT25 is not set
# #
# Dallas's 1-wire bus # Dallas's 1-wire bus
...@@ -869,6 +883,7 @@ CONFIG_HWMON_VID=m ...@@ -869,6 +883,7 @@ CONFIG_HWMON_VID=m
# CONFIG_SENSORS_ADM1021 is not set # CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set # CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set # CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set # CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set # CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ASB100 is not set # CONFIG_SENSORS_ASB100 is not set
...@@ -910,7 +925,11 @@ CONFIG_SENSORS_LM85=m ...@@ -910,7 +925,11 @@ CONFIG_SENSORS_LM85=m
# #
# Misc devices # Misc devices
# #
# CONFIG_TIFM_CORE is not set
#
# Multifunction device drivers
#
# CONFIG_MFD_SM501 is not set
# #
# LED devices # LED devices
...@@ -945,16 +964,22 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=m ...@@ -945,16 +964,22 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=m
# #
# Graphics support # Graphics support
# #
CONFIG_FIRMWARE_EDID=y # CONFIG_BACKLIGHT_LCD_SUPPORT is not set
CONFIG_FB=y CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
# CONFIG_FB_DDC is not set # CONFIG_FB_DDC is not set
CONFIG_FB_CFB_FILLRECT=y CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set # CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set # CONFIG_FB_BACKLIGHT is not set
CONFIG_FB_MODE_HELPERS=y CONFIG_FB_MODE_HELPERS=y
# CONFIG_FB_TILEBLITTING is not set # CONFIG_FB_TILEBLITTING is not set
#
# Frambuffer hardware drivers
#
# CONFIG_FB_S1D13XXX is not set # CONFIG_FB_S1D13XXX is not set
CONFIG_FB_S3C2410=y CONFIG_FB_S3C2410=y
# CONFIG_FB_S3C2410_DEBUG is not set # CONFIG_FB_S3C2410_DEBUG is not set
...@@ -976,7 +1001,6 @@ CONFIG_FONT_8x16=y ...@@ -976,7 +1001,6 @@ CONFIG_FONT_8x16=y
# Logo configuration # Logo configuration
# #
# CONFIG_LOGO is not set # CONFIG_LOGO is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
# #
# Sound # Sound
...@@ -987,6 +1011,7 @@ CONFIG_FONT_8x16=y ...@@ -987,6 +1011,7 @@ CONFIG_FONT_8x16=y
# HID Devices # HID Devices
# #
CONFIG_HID=y CONFIG_HID=y
# CONFIG_HID_DEBUG is not set
# #
# USB support # USB support
...@@ -1001,7 +1026,6 @@ CONFIG_USB=y ...@@ -1001,7 +1026,6 @@ CONFIG_USB=y
# Miscellaneous USB options # Miscellaneous USB options
# #
CONFIG_USB_DEVICEFS=y CONFIG_USB_DEVICEFS=y
# CONFIG_USB_BANDWIDTH is not set
# CONFIG_USB_DYNAMIC_MINORS is not set # CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_SUSPEND is not set # CONFIG_USB_SUSPEND is not set
# CONFIG_USB_OTG is not set # CONFIG_USB_OTG is not set
...@@ -1011,7 +1035,8 @@ CONFIG_USB_DEVICEFS=y ...@@ -1011,7 +1035,8 @@ CONFIG_USB_DEVICEFS=y
# #
# CONFIG_USB_ISP116X_HCD is not set # CONFIG_USB_ISP116X_HCD is not set
CONFIG_USB_OHCI_HCD=y CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OHCI_BIG_ENDIAN is not set # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y CONFIG_USB_OHCI_LITTLE_ENDIAN=y
# CONFIG_USB_SL811_HCD is not set # CONFIG_USB_SL811_HCD is not set
...@@ -1052,6 +1077,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y ...@@ -1052,6 +1077,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
# CONFIG_USB_ATI_REMOTE2 is not set # CONFIG_USB_ATI_REMOTE2 is not set
# CONFIG_USB_KEYSPAN_REMOTE is not set # CONFIG_USB_KEYSPAN_REMOTE is not set
# CONFIG_USB_APPLETOUCH is not set # CONFIG_USB_APPLETOUCH is not set
# CONFIG_USB_GTCO is not set
# #
# USB Imaging devices # USB Imaging devices
...@@ -1089,6 +1115,7 @@ CONFIG_USB_MON=y ...@@ -1089,6 +1115,7 @@ CONFIG_USB_MON=y
# CONFIG_USB_RIO500 is not set # CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set # CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set # CONFIG_USB_LCD is not set
# CONFIG_USB_BERRY_CHARGE is not set
# CONFIG_USB_LED is not set # CONFIG_USB_LED is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set # CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set # CONFIG_USB_CYTHERM is not set
...@@ -1134,6 +1161,7 @@ CONFIG_RTC_INTF_DEV=y ...@@ -1134,6 +1161,7 @@ CONFIG_RTC_INTF_DEV=y
# #
# RTC drivers # RTC drivers
# #
# CONFIG_RTC_DRV_CMOS is not set
# CONFIG_RTC_DRV_X1205 is not set # CONFIG_RTC_DRV_X1205 is not set
# CONFIG_RTC_DRV_DS1307 is not set # CONFIG_RTC_DRV_DS1307 is not set
# CONFIG_RTC_DRV_DS1553 is not set # CONFIG_RTC_DRV_DS1553 is not set
...@@ -1339,15 +1367,16 @@ CONFIG_MAGIC_SYSRQ=y ...@@ -1339,15 +1367,16 @@ CONFIG_MAGIC_SYSRQ=y
# CONFIG_DEBUG_FS is not set # CONFIG_DEBUG_FS is not set
# CONFIG_HEADERS_CHECK is not set # CONFIG_HEADERS_CHECK is not set
CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SHIRQ is not set
CONFIG_LOG_BUF_SHIFT=16 CONFIG_LOG_BUF_SHIFT=16
CONFIG_DETECT_SOFTLOCKUP=y CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_SCHEDSTATS is not set # CONFIG_SCHEDSTATS is not set
# CONFIG_TIMER_STATS is not set
# CONFIG_DEBUG_SLAB is not set # CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_RT_MUTEXES is not set # CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set # CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_DEBUG_SPINLOCK is not set # CONFIG_DEBUG_SPINLOCK is not set
CONFIG_DEBUG_MUTEXES=y CONFIG_DEBUG_MUTEXES=y
# CONFIG_DEBUG_RWSEMS is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set # CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_DEBUG_KOBJECT is not set # CONFIG_DEBUG_KOBJECT is not set
...@@ -1358,6 +1387,7 @@ CONFIG_DEBUG_INFO=y ...@@ -1358,6 +1387,7 @@ CONFIG_DEBUG_INFO=y
CONFIG_FRAME_POINTER=y CONFIG_FRAME_POINTER=y
CONFIG_FORCED_INLINING=y CONFIG_FORCED_INLINING=y
# CONFIG_RCU_TORTURE_TEST is not set # CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_FAULT_INJECTION is not set
CONFIG_DEBUG_USER=y CONFIG_DEBUG_USER=y
# CONFIG_DEBUG_ERRORS is not set # CONFIG_DEBUG_ERRORS is not set
CONFIG_DEBUG_LL=y CONFIG_DEBUG_LL=y
...@@ -1387,4 +1417,4 @@ CONFIG_CRC32=y ...@@ -1387,4 +1417,4 @@ CONFIG_CRC32=y
CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_DEFLATE=y
CONFIG_PLIST=y CONFIG_PLIST=y
CONFIG_IOMAP_COPY=y CONFIG_HAS_IOMEM=y
...@@ -48,9 +48,11 @@ ...@@ -48,9 +48,11 @@
.endm .endm
#ifdef CONFIG_XIP_KERNEL #ifdef CONFIG_XIP_KERNEL
#define TEXTADDR XIP_VIRT_ADDR(CONFIG_XIP_PHYS_ADDR) #define KERNEL_START XIP_VIRT_ADDR(CONFIG_XIP_PHYS_ADDR)
#define KERNEL_END _edata_loc
#else #else
#define TEXTADDR KERNEL_RAM_VADDR #define KERNEL_START KERNEL_RAM_VADDR
#define KERNEL_END _end
#endif #endif
/* /*
...@@ -240,16 +242,32 @@ __create_page_tables: ...@@ -240,16 +242,32 @@ __create_page_tables:
* Now setup the pagetables for our kernel direct * Now setup the pagetables for our kernel direct
* mapped region. * mapped region.
*/ */
add r0, r4, #(TEXTADDR & 0xff000000) >> 18 @ start of kernel add r0, r4, #(KERNEL_START & 0xff000000) >> 18
str r3, [r0, #(TEXTADDR & 0x00f00000) >> 18]! str r3, [r0, #(KERNEL_START & 0x00f00000) >> 18]!
ldr r6, =(KERNEL_END - 1)
ldr r6, =(_end - PAGE_OFFSET - 1) @ r6 = number of sections add r0, r0, #4
mov r6, r6, lsr #20 @ needed for kernel minus 1 add r6, r4, r6, lsr #18
1: cmp r0, r6
add r3, r3, #1 << 20
strls r3, [r0], #4
bls 1b
1: add r3, r3, #1 << 20 #ifdef CONFIG_XIP_KERNEL
str r3, [r0, #4]! /*
subs r6, r6, #1 * Map some ram to cover our .data and .bss areas.
bgt 1b */
orr r3, r7, #(KERNEL_RAM_PADDR & 0xff000000)
orr r3, r3, #(KERNEL_RAM_PADDR & 0x00f00000)
add r0, r4, #(KERNEL_RAM_VADDR & 0xff000000) >> 18
str r3, [r0, #(KERNEL_RAM_VADDR & 0x00f00000) >> 18]!
ldr r6, =(_end - 1)
add r0, r0, #4
add r6, r4, r6, lsr #18
1: cmp r0, r6
add r3, r3, #1 << 20
strls r3, [r0], #4
bls 1b
#endif
/* /*
* Then map first 1MB of ram in case it contains our boot params. * Then map first 1MB of ram in case it contains our boot params.
...@@ -259,22 +277,6 @@ __create_page_tables: ...@@ -259,22 +277,6 @@ __create_page_tables:
orr r6, r6, #(PHYS_OFFSET & 0x00e00000) orr r6, r6, #(PHYS_OFFSET & 0x00e00000)
str r6, [r0] str r6, [r0]
#ifdef CONFIG_XIP_KERNEL
/*
* Map some ram to cover our .data and .bss areas.
* Mapping 3MB should be plenty.
*/
sub r3, r4, #PHYS_OFFSET
mov r3, r3, lsr #20
add r0, r0, r3, lsl #2
add r6, r6, r3, lsl #20
str r6, [r0], #4
add r6, r6, #(1 << 20)
str r6, [r0], #4
add r6, r6, #(1 << 20)
str r6, [r0]
#endif
#ifdef CONFIG_DEBUG_LL #ifdef CONFIG_DEBUG_LL
ldr r7, [r10, #PROCINFO_IO_MMUFLAGS] @ io_mmuflags ldr r7, [r10, #PROCINFO_IO_MMUFLAGS] @ io_mmuflags
/* /*
......
...@@ -156,6 +156,7 @@ SECTIONS ...@@ -156,6 +156,7 @@ SECTIONS
_edata = .; _edata = .;
} }
_edata_loc = __data_loc + SIZEOF(.data);
.bss : { .bss : {
__bss_start = .; /* BSS */ __bss_start = .; /* BSS */
......
...@@ -124,7 +124,7 @@ static struct clk isi_clk = { ...@@ -124,7 +124,7 @@ static struct clk isi_clk = {
}; };
static struct clk lcdc_clk = { static struct clk lcdc_clk = {
.name = "lcdc_clk", .name = "lcdc_clk",
.pmc_mask = 1 << AT91SAM9263_ID_ISI, .pmc_mask = 1 << AT91SAM9263_ID_LCDC,
.type = CLK_TYPE_PERIPHERAL, .type = CLK_TYPE_PERIPHERAL,
}; };
static struct clk ohci_clk = { static struct clk ohci_clk = {
......
...@@ -553,7 +553,7 @@ void __init at91_add_device_spi(struct spi_board_info *devices, int nr_devices) ...@@ -553,7 +553,7 @@ void __init at91_add_device_spi(struct spi_board_info *devices, int nr_devices)
if (enable_spi0) { if (enable_spi0) {
at91_set_B_periph(AT91_PIN_PA0, 0); /* SPI0_MISO */ at91_set_B_periph(AT91_PIN_PA0, 0); /* SPI0_MISO */
at91_set_B_periph(AT91_PIN_PA1, 0); /* SPI0_MOSI */ at91_set_B_periph(AT91_PIN_PA1, 0); /* SPI0_MOSI */
at91_set_B_periph(AT91_PIN_PA2, 0); /* SPI1_SPCK */ at91_set_B_periph(AT91_PIN_PA2, 0); /* SPI0_SPCK */
at91_clock_associate("spi0_clk", &at91sam9263_spi0_device.dev, "spi_clk"); at91_clock_associate("spi0_clk", &at91sam9263_spi0_device.dev, "spi_clk");
platform_device_register(&at91sam9263_spi0_device); platform_device_register(&at91sam9263_spi0_device);
......
...@@ -210,7 +210,7 @@ int gpio_direction_input(unsigned pin) ...@@ -210,7 +210,7 @@ int gpio_direction_input(unsigned pin)
if (!pio || !(__raw_readl(pio + PIO_PSR) & mask)) if (!pio || !(__raw_readl(pio + PIO_PSR) & mask))
return -EINVAL; return -EINVAL;
__raw_writel(mask, pio + PIO_OER); __raw_writel(mask, pio + PIO_ODR);
return 0; return 0;
} }
EXPORT_SYMBOL(gpio_direction_input); EXPORT_SYMBOL(gpio_direction_input);
......
...@@ -20,10 +20,10 @@ ...@@ -20,10 +20,10 @@
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/irq.h> #include <linux/irq.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/apm-emulation.h>
#include <asm/hardware.h> #include <asm/hardware.h>
#include <asm/mach-types.h> #include <asm/mach-types.h>
#include <asm/apm-emulation.h>
#include <asm/arch/pm.h> #include <asm/arch/pm.h>
#include <asm/arch/pxa-regs.h> #include <asm/arch/pxa-regs.h>
#include <asm/arch/sharpsl.h> #include <asm/arch/sharpsl.h>
......
...@@ -473,7 +473,7 @@ static int s3c2440_nand_calculate_ecc(struct mtd_info *mtd, const u_char *dat, u ...@@ -473,7 +473,7 @@ static int s3c2440_nand_calculate_ecc(struct mtd_info *mtd, const u_char *dat, u
ecc_code[1] = ecc >> 8; ecc_code[1] = ecc >> 8;
ecc_code[2] = ecc >> 16; ecc_code[2] = ecc >> 16;
pr_debug("%s: returning ecc %06x\n", __func__, ecc); pr_debug("%s: returning ecc %06lx\n", __func__, ecc);
return 0; return 0;
} }
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
/* /*
* Remap the peripherals from address 0xFFF78000 .. 0xFFFFFFFF * Remap the peripherals from address 0xFFF78000 .. 0xFFFFFFFF
* to 0xFEF78000 .. 0xFF000000. (5444Kb) * to 0xFEF78000 .. 0xFF000000. (544Kb)
*/ */
#define AT91_IO_PHYS_BASE 0xFFF78000 #define AT91_IO_PHYS_BASE 0xFFF78000
#define AT91_IO_SIZE (0xFFFFFFFF - AT91_IO_PHYS_BASE + 1) #define AT91_IO_SIZE (0xFFFFFFFF - AT91_IO_PHYS_BASE + 1)
......
/*
* include/asm-arm/arch-at91rm9200/entry-macro.S
*
* Copyright (C) 2003-2005 SAN People
*
* Low-level IRQ helper macros for AT91RM9200 platforms
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
*/
#include <asm/hardware.h>
#include <asm/arch/at91_aic.h>
.macro disable_fiq
.endm
.macro get_irqnr_preamble, base, tmp
.endm
.macro arch_ret_to_user, tmp1, tmp2
.endm
.macro get_irqnr_and_base, irqnr, irqstat, base, tmp
ldr \base, =(AT91_VA_BASE_SYS) @ base virtual address of SYS peripherals
ldr \irqnr, [\base, #AT91_AIC_IVR] @ read IRQ vector register: de-asserts nIRQ to processor (and clears interrupt)
ldr \irqstat, [\base, #AT91_AIC_ISR] @ read interrupt source number
teq \irqstat, #0 @ ISR is 0 when no current interrupt, or spurious interrupt
streq \tmp, [\base, #AT91_AIC_EOICR] @ not going to be handled further, then ACK it now.
.endm
...@@ -11,6 +11,12 @@ ...@@ -11,6 +11,12 @@
#include <asm/hardware.h> #include <asm/hardware.h>
#include <asm/arch-ns9xxx/regs-sys.h> #include <asm/arch-ns9xxx/regs-sys.h>
.macro get_irqnr_preamble, base, tmp
.endm
.macro arch_ret_to_user, tmp1, tmp2
.endm
.macro get_irqnr_and_base, irqnr, irqstat, base, tmp .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
ldr \base, =SYS_ISRADDR ldr \base, =SYS_ISRADDR
ldr \irqstat, [\base, #(SYS_ISA - SYS_ISRADDR)] ldr \irqstat, [\base, #(SYS_ISA - SYS_ISRADDR)]
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment