Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 3657/1: S3C24XX: Documentation update of Overview.txt [ARM] Update mach-types [ARM] 3656/1: S3C2412: Add S3C2412 and S3C2413 documenation [ARM] 3654/1: add ajeco 1arm sbc support [ARM] fix drivers/mfd/ucb1x00-core.c IRQ probing bug [ARM] 3651/1: S3C24XX: Make arch list more detailed [ARM] 3650/1: S3C2412: Update s3c2410_defconfig [ARM] 3649/1: S3C24XX: Fix capitalisation of CPU on SMDK2440 [ARM] 3612/1: make pci bus optional for ixp4xx platform [ARM] Remove MODE_(SVC|IRQ|FIQ|USR) and DEFAULT_FIQ [ARM] Remove save_lr/restore_pc macros [ARM] Remove partial non-v6 binutils compatibility [ARM] Remove LOADREGS macro [ARM] Remove RETINSTR macro
This commit is contained in:
commit
f6e6e88373
|
@ -7,11 +7,13 @@ Introduction
|
||||||
------------
|
------------
|
||||||
|
|
||||||
The Samsung S3C24XX range of ARM9 System-on-Chip CPUs are supported
|
The Samsung S3C24XX range of ARM9 System-on-Chip CPUs are supported
|
||||||
by the 's3c2410' architecture of ARM Linux. Currently the S3C2410 and
|
by the 's3c2410' architecture of ARM Linux. Currently the S3C2410,
|
||||||
the S3C2440 are supported CPUs.
|
S3C2440 and S3C2442 devices are supported.
|
||||||
|
|
||||||
Support for the S3C2400 series is in progress.
|
Support for the S3C2400 series is in progress.
|
||||||
|
|
||||||
|
Support for the S3C2412 and S3C2413 CPUs is being merged.
|
||||||
|
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
-------------
|
-------------
|
||||||
|
@ -43,9 +45,18 @@ Machines
|
||||||
|
|
||||||
Samsung's own development board, geared for PDA work.
|
Samsung's own development board, geared for PDA work.
|
||||||
|
|
||||||
|
Samsung/Aiji SMDK2412
|
||||||
|
|
||||||
|
The S3C2412 version of the SMDK2440.
|
||||||
|
|
||||||
|
Samsung/Aiji SMDK2413
|
||||||
|
|
||||||
|
The S3C2412 version of the SMDK2440.
|
||||||
|
|
||||||
Samsung/Meritech SMDK2440
|
Samsung/Meritech SMDK2440
|
||||||
|
|
||||||
The S3C2440 compatible version of the SMDK2440
|
The S3C2440 compatible version of the SMDK2440, which has the
|
||||||
|
option of an S3C2440 or S3C2442 CPU module.
|
||||||
|
|
||||||
Thorcom VR1000
|
Thorcom VR1000
|
||||||
|
|
||||||
|
@ -211,24 +222,6 @@ Port Contributors
|
||||||
Lucas Correia Villa Real (S3C2400 port)
|
Lucas Correia Villa Real (S3C2400 port)
|
||||||
|
|
||||||
|
|
||||||
Document Changes
|
|
||||||
----------------
|
|
||||||
|
|
||||||
05 Sep 2004 - BJD - Added Document Changes section
|
|
||||||
05 Sep 2004 - BJD - Added Klaus Fetscher to list of contributors
|
|
||||||
25 Oct 2004 - BJD - Added Dimitry Andric to list of contributors
|
|
||||||
25 Oct 2004 - BJD - Updated the MTD from the 2.6.9 merge
|
|
||||||
21 Jan 2005 - BJD - Added rx3715, added Shannon to contributors
|
|
||||||
10 Feb 2005 - BJD - Added Guillaume Gourat to contributors
|
|
||||||
02 Mar 2005 - BJD - Added SMDK2440 to list of machines
|
|
||||||
06 Mar 2005 - BJD - Added Christer Weinigel
|
|
||||||
08 Mar 2005 - BJD - Added LCVR to list of people, updated introduction
|
|
||||||
08 Mar 2005 - BJD - Added section on adding machines
|
|
||||||
09 Sep 2005 - BJD - Added section on platform data
|
|
||||||
11 Feb 2006 - BJD - Added I2C, RTC and Watchdog sections
|
|
||||||
11 Feb 2006 - BJD - Added Osiris machine, and S3C2400 information
|
|
||||||
|
|
||||||
|
|
||||||
Document Author
|
Document Author
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,120 @@
|
||||||
|
S3C2412 ARM Linux Overview
|
||||||
|
==========================
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
|
||||||
|
The S3C2412 is part of the S3C24XX range of ARM9 System-on-Chip CPUs
|
||||||
|
from Samsung. This part has an ARM926-EJS core, capable of running up
|
||||||
|
to 266MHz (see data-sheet for more information)
|
||||||
|
|
||||||
|
|
||||||
|
Clock
|
||||||
|
-----
|
||||||
|
|
||||||
|
The core clock code provides a set of clocks to the drivers, and allows
|
||||||
|
for source selection and a number of other features.
|
||||||
|
|
||||||
|
|
||||||
|
Power
|
||||||
|
-----
|
||||||
|
|
||||||
|
No support for suspend/resume to RAM in the current system.
|
||||||
|
|
||||||
|
|
||||||
|
DMA
|
||||||
|
---
|
||||||
|
|
||||||
|
No current support for DMA.
|
||||||
|
|
||||||
|
|
||||||
|
GPIO
|
||||||
|
----
|
||||||
|
|
||||||
|
There is support for setting the GPIO to input/output/special function
|
||||||
|
and reading or writing to them.
|
||||||
|
|
||||||
|
|
||||||
|
UART
|
||||||
|
----
|
||||||
|
|
||||||
|
The UART hardware is similar to the S3C2440, and is supported by the
|
||||||
|
s3c2410 driver in the drivers/serial directory.
|
||||||
|
|
||||||
|
|
||||||
|
NAND
|
||||||
|
----
|
||||||
|
|
||||||
|
The NAND hardware is similar to the S3C2440, and is supported by the
|
||||||
|
s3c2410 driver in the drivers/mtd/nand directory.
|
||||||
|
|
||||||
|
|
||||||
|
USB Host
|
||||||
|
--------
|
||||||
|
|
||||||
|
The USB hardware is similar to the S3C2410, with extended clock source
|
||||||
|
control. The OHCI portion is supported by the ohci-s3c2410 driver, and
|
||||||
|
the clock control selection is supported by the core clock code.
|
||||||
|
|
||||||
|
|
||||||
|
USB Device
|
||||||
|
----------
|
||||||
|
|
||||||
|
No current support in the kernel
|
||||||
|
|
||||||
|
|
||||||
|
IRQs
|
||||||
|
----
|
||||||
|
|
||||||
|
All the standard, and external interrupt sources are supported. The
|
||||||
|
extra sub-sources are not yet supported.
|
||||||
|
|
||||||
|
|
||||||
|
RTC
|
||||||
|
---
|
||||||
|
|
||||||
|
The RTC hardware is similar to the S3C2410, and is supported by the
|
||||||
|
s3c2410-rtc driver.
|
||||||
|
|
||||||
|
|
||||||
|
Watchdog
|
||||||
|
--------
|
||||||
|
|
||||||
|
The watchdog harware is the same as the S3C2410, and is supported by
|
||||||
|
the s3c2410_wdt driver.
|
||||||
|
|
||||||
|
|
||||||
|
MMC/SD/SDIO
|
||||||
|
-----------
|
||||||
|
|
||||||
|
No current support for the MMC/SD/SDIO block.
|
||||||
|
|
||||||
|
IIC
|
||||||
|
---
|
||||||
|
|
||||||
|
The IIC hardware is the same as the S3C2410, and is supported by the
|
||||||
|
i2c-s3c24xx driver.
|
||||||
|
|
||||||
|
|
||||||
|
IIS
|
||||||
|
---
|
||||||
|
|
||||||
|
No current support for the IIS interface.
|
||||||
|
|
||||||
|
|
||||||
|
SPI
|
||||||
|
---
|
||||||
|
|
||||||
|
No current support for the SPI interfaces.
|
||||||
|
|
||||||
|
|
||||||
|
ATA
|
||||||
|
---
|
||||||
|
|
||||||
|
No current support for the on-board ATA block.
|
||||||
|
|
||||||
|
|
||||||
|
Document Author
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Ben Dooks, (c) 2006 Simtec Electronics
|
|
@ -0,0 +1,21 @@
|
||||||
|
S3C2413 ARM Linux Overview
|
||||||
|
==========================
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
|
||||||
|
The S3C2413 is an extended version of the S3C2412, with an camera
|
||||||
|
interface and mobile DDR memory support. See the S3C2412 support
|
||||||
|
documentation for more information.
|
||||||
|
|
||||||
|
|
||||||
|
Camera Interface
|
||||||
|
---------------
|
||||||
|
|
||||||
|
This block is currently not supported.
|
||||||
|
|
||||||
|
|
||||||
|
Document Author
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Ben Dooks, (c) 2006 Simtec Electronics
|
|
@ -253,7 +253,7 @@ config ARCH_SA1100
|
||||||
Support for StrongARM 11x0 based boards.
|
Support for StrongARM 11x0 based boards.
|
||||||
|
|
||||||
config ARCH_S3C2410
|
config ARCH_S3C2410
|
||||||
bool "Samsung S3C2410"
|
bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442"
|
||||||
help
|
help
|
||||||
Samsung S3C2410X CPU based systems, such as the Simtec Electronics
|
Samsung S3C2410X CPU based systems, such as the Simtec Electronics
|
||||||
BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
|
BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
|
||||||
|
@ -372,7 +372,7 @@ config ISA_DMA_API
|
||||||
bool
|
bool
|
||||||
|
|
||||||
config PCI
|
config PCI
|
||||||
bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB
|
bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX
|
||||||
help
|
help
|
||||||
Find out whether you have a PCI motherboard. PCI is the name of a
|
Find out whether you have a PCI motherboard. PCI is the name of a
|
||||||
bus system, i.e. the way the CPU talks to the other stuff inside
|
bus system, i.e. the way the CPU talks to the other stuff inside
|
||||||
|
|
|
@ -61,6 +61,12 @@
|
||||||
cmp r7, r3
|
cmp r7, r3
|
||||||
beq 99f
|
beq 99f
|
||||||
|
|
||||||
|
@ Ajeco 1ARM : 1075
|
||||||
|
mov r3, #(MACH_TYPE_ONEARM & 0xff)
|
||||||
|
orr r3, r3, #(MACH_TYPE_ONEARM & 0xff00)
|
||||||
|
cmp r7, r3
|
||||||
|
beq 99f
|
||||||
|
|
||||||
@ Unknown board, use the AT91RM9200DK board
|
@ Unknown board, use the AT91RM9200DK board
|
||||||
@ mov r7, #MACH_TYPE_AT91RM9200
|
@ mov r7, #MACH_TYPE_AT91RM9200
|
||||||
mov r7, #(MACH_TYPE_AT91RM9200DK & 0xff)
|
mov r7, #(MACH_TYPE_AT91RM9200DK & 0xff)
|
||||||
|
|
|
@ -77,7 +77,7 @@ Lrow4bpplp:
|
||||||
subne r1, r1, #1
|
subne r1, r1, #1
|
||||||
ldrneb r7, [r6, r1]
|
ldrneb r7, [r6, r1]
|
||||||
bne Lrow4bpplp
|
bne Lrow4bpplp
|
||||||
LOADREGS(fd, sp!, {r4 - r7, pc})
|
ldmfd sp!, {r4 - r7, pc}
|
||||||
|
|
||||||
@
|
@
|
||||||
@ Smashable regs: {r0 - r3}, [r4], {r5 - r7}, (r8 - fp), [ip], (sp), {lr}, (pc)
|
@ Smashable regs: {r0 - r3}, [r4], {r5 - r7}, (r8 - fp), [ip], (sp), {lr}, (pc)
|
||||||
|
@ -105,7 +105,7 @@ Lrow8bpplp:
|
||||||
subne r1, r1, #1
|
subne r1, r1, #1
|
||||||
ldrneb r7, [r6, r1]
|
ldrneb r7, [r6, r1]
|
||||||
bne Lrow8bpplp
|
bne Lrow8bpplp
|
||||||
LOADREGS(fd, sp!, {r4 - r7, pc})
|
ldmfd sp!, {r4 - r7, pc}
|
||||||
|
|
||||||
@
|
@
|
||||||
@ Smashable regs: {r0 - r3}, [r4], {r5, r6}, [r7], (r8 - fp), [ip], (sp), [lr], (pc)
|
@ Smashable regs: {r0 - r3}, [r4], {r5, r6}, [r7], (r8 - fp), [ip], (sp), [lr], (pc)
|
||||||
|
@ -127,7 +127,7 @@ Lrow1bpp:
|
||||||
strb r7, [r0], r5
|
strb r7, [r0], r5
|
||||||
mov r7, r7, lsr #8
|
mov r7, r7, lsr #8
|
||||||
strb r7, [r0], r5
|
strb r7, [r0], r5
|
||||||
LOADREGS(fd, sp!, {r4 - r7, pc})
|
ldmfd sp!, {r4 - r7, pc}
|
||||||
|
|
||||||
.bss
|
.bss
|
||||||
ENTRY(con_charconvtable)
|
ENTRY(con_charconvtable)
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,7 +1,7 @@
|
||||||
#
|
#
|
||||||
# Automatically generated make config: don't edit
|
# Automatically generated make config: don't edit
|
||||||
# Linux kernel version: 2.6.17
|
# Linux kernel version: 2.6.17-git9
|
||||||
# Tue Jun 20 18:57:01 2006
|
# Sun Jun 25 23:56:32 2006
|
||||||
#
|
#
|
||||||
CONFIG_ARM=y
|
CONFIG_ARM=y
|
||||||
CONFIG_MMU=y
|
CONFIG_MMU=y
|
||||||
|
@ -49,7 +49,6 @@ CONFIG_SLAB=y
|
||||||
# CONFIG_TINY_SHMEM is not set
|
# CONFIG_TINY_SHMEM is not set
|
||||||
CONFIG_BASE_SMALL=0
|
CONFIG_BASE_SMALL=0
|
||||||
# CONFIG_SLOB is not set
|
# CONFIG_SLOB is not set
|
||||||
CONFIG_OBSOLETE_INTERMODULE=y
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Loadable module support
|
# Loadable module support
|
||||||
|
@ -81,18 +80,26 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
|
||||||
#
|
#
|
||||||
# System Type
|
# System Type
|
||||||
#
|
#
|
||||||
|
# CONFIG_ARCH_AAEC2000 is not set
|
||||||
|
# CONFIG_ARCH_INTEGRATOR is not set
|
||||||
|
# CONFIG_ARCH_REALVIEW is not set
|
||||||
|
# CONFIG_ARCH_VERSATILE is not set
|
||||||
|
# CONFIG_ARCH_AT91RM9200 is not set
|
||||||
# CONFIG_ARCH_CLPS7500 is not set
|
# CONFIG_ARCH_CLPS7500 is not set
|
||||||
# CONFIG_ARCH_CLPS711X is not set
|
# CONFIG_ARCH_CLPS711X is not set
|
||||||
# CONFIG_ARCH_CO285 is not set
|
# CONFIG_ARCH_CO285 is not set
|
||||||
# CONFIG_ARCH_EBSA110 is not set
|
# CONFIG_ARCH_EBSA110 is not set
|
||||||
# CONFIG_ARCH_EP93XX is not set
|
# CONFIG_ARCH_EP93XX is not set
|
||||||
# CONFIG_ARCH_FOOTBRIDGE is not set
|
# CONFIG_ARCH_FOOTBRIDGE is not set
|
||||||
# CONFIG_ARCH_INTEGRATOR is not set
|
# CONFIG_ARCH_NETX is not set
|
||||||
|
# CONFIG_ARCH_H720X is not set
|
||||||
|
# CONFIG_ARCH_IMX is not set
|
||||||
# CONFIG_ARCH_IOP3XX is not set
|
# CONFIG_ARCH_IOP3XX is not set
|
||||||
# CONFIG_ARCH_IXP4XX is not set
|
# CONFIG_ARCH_IXP4XX is not set
|
||||||
# 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_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
|
||||||
# CONFIG_ARCH_SA1100 is not set
|
# CONFIG_ARCH_SA1100 is not set
|
||||||
|
@ -100,14 +107,6 @@ CONFIG_ARCH_S3C2410=y
|
||||||
# CONFIG_ARCH_SHARK is not set
|
# CONFIG_ARCH_SHARK is not set
|
||||||
# CONFIG_ARCH_LH7A40X is not set
|
# CONFIG_ARCH_LH7A40X is not set
|
||||||
# CONFIG_ARCH_OMAP is not set
|
# CONFIG_ARCH_OMAP is not set
|
||||||
# CONFIG_ARCH_VERSATILE is not set
|
|
||||||
# CONFIG_ARCH_REALVIEW is not set
|
|
||||||
# CONFIG_ARCH_IMX is not set
|
|
||||||
# CONFIG_ARCH_H720X is not set
|
|
||||||
# CONFIG_ARCH_AAEC2000 is not set
|
|
||||||
# CONFIG_ARCH_AT91RM9200 is not set
|
|
||||||
# CONFIG_ARCH_PNX4008 is not set
|
|
||||||
# CONFIG_ARCH_NETX is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# S3C24XX Implementations
|
# S3C24XX Implementations
|
||||||
|
@ -123,11 +122,14 @@ CONFIG_ARCH_SMDK2410=y
|
||||||
CONFIG_ARCH_S3C2440=y
|
CONFIG_ARCH_S3C2440=y
|
||||||
CONFIG_SMDK2440_CPU2440=y
|
CONFIG_SMDK2440_CPU2440=y
|
||||||
CONFIG_SMDK2440_CPU2442=y
|
CONFIG_SMDK2440_CPU2442=y
|
||||||
|
CONFIG_MACH_SMDK2413=y
|
||||||
CONFIG_MACH_VR1000=y
|
CONFIG_MACH_VR1000=y
|
||||||
CONFIG_MACH_RX3715=y
|
CONFIG_MACH_RX3715=y
|
||||||
CONFIG_MACH_OTOM=y
|
CONFIG_MACH_OTOM=y
|
||||||
CONFIG_MACH_NEXCODER_2440=y
|
CONFIG_MACH_NEXCODER_2440=y
|
||||||
|
CONFIG_S3C2410_CLOCK=y
|
||||||
CONFIG_CPU_S3C2410=y
|
CONFIG_CPU_S3C2410=y
|
||||||
|
CONFIG_CPU_S3C2412=y
|
||||||
CONFIG_CPU_S3C244X=y
|
CONFIG_CPU_S3C244X=y
|
||||||
CONFIG_CPU_S3C2440=y
|
CONFIG_CPU_S3C2440=y
|
||||||
CONFIG_CPU_S3C2442=y
|
CONFIG_CPU_S3C2442=y
|
||||||
|
@ -153,8 +155,11 @@ CONFIG_S3C2410_LOWLEVEL_UART_PORT=0
|
||||||
#
|
#
|
||||||
CONFIG_CPU_32=y
|
CONFIG_CPU_32=y
|
||||||
CONFIG_CPU_ARM920T=y
|
CONFIG_CPU_ARM920T=y
|
||||||
|
CONFIG_CPU_ARM926T=y
|
||||||
CONFIG_CPU_32v4=y
|
CONFIG_CPU_32v4=y
|
||||||
|
CONFIG_CPU_32v5=y
|
||||||
CONFIG_CPU_ABRT_EV4T=y
|
CONFIG_CPU_ABRT_EV4T=y
|
||||||
|
CONFIG_CPU_ABRT_EV5TJ=y
|
||||||
CONFIG_CPU_CACHE_V4WT=y
|
CONFIG_CPU_CACHE_V4WT=y
|
||||||
CONFIG_CPU_CACHE_VIVT=y
|
CONFIG_CPU_CACHE_VIVT=y
|
||||||
CONFIG_CPU_COPY_V4WB=y
|
CONFIG_CPU_COPY_V4WB=y
|
||||||
|
@ -167,6 +172,7 @@ CONFIG_CPU_TLB_V4WBI=y
|
||||||
# CONFIG_CPU_ICACHE_DISABLE is not set
|
# CONFIG_CPU_ICACHE_DISABLE is not set
|
||||||
# CONFIG_CPU_DCACHE_DISABLE is not set
|
# CONFIG_CPU_DCACHE_DISABLE is not set
|
||||||
# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
|
# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
|
||||||
|
# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bus support
|
# Bus support
|
||||||
|
@ -214,6 +220,7 @@ CONFIG_CMDLINE="root=/dev/hda1 ro init=/bin/bash console=ttySAC0"
|
||||||
CONFIG_FPE_NWFPE=y
|
CONFIG_FPE_NWFPE=y
|
||||||
# CONFIG_FPE_NWFPE_XP is not set
|
# CONFIG_FPE_NWFPE_XP is not set
|
||||||
# CONFIG_FPE_FASTFPE is not set
|
# CONFIG_FPE_FASTFPE is not set
|
||||||
|
# CONFIG_VFP is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Userspace binary formats
|
# Userspace binary formats
|
||||||
|
@ -242,6 +249,8 @@ CONFIG_NET=y
|
||||||
# CONFIG_NETDEBUG is not set
|
# CONFIG_NETDEBUG is not set
|
||||||
# CONFIG_PACKET is not set
|
# CONFIG_PACKET is not set
|
||||||
CONFIG_UNIX=y
|
CONFIG_UNIX=y
|
||||||
|
CONFIG_XFRM=y
|
||||||
|
# CONFIG_XFRM_USER 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
|
||||||
|
@ -260,6 +269,8 @@ CONFIG_IP_PNP_BOOTP=y
|
||||||
# CONFIG_INET_IPCOMP is not set
|
# CONFIG_INET_IPCOMP is not set
|
||||||
# CONFIG_INET_XFRM_TUNNEL is not set
|
# CONFIG_INET_XFRM_TUNNEL is not set
|
||||||
# CONFIG_INET_TUNNEL is not set
|
# CONFIG_INET_TUNNEL is not set
|
||||||
|
CONFIG_INET_XFRM_MODE_TRANSPORT=y
|
||||||
|
CONFIG_INET_XFRM_MODE_TUNNEL=y
|
||||||
CONFIG_INET_DIAG=y
|
CONFIG_INET_DIAG=y
|
||||||
CONFIG_INET_TCP_DIAG=y
|
CONFIG_INET_TCP_DIAG=y
|
||||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||||
|
@ -267,6 +278,7 @@ CONFIG_TCP_CONG_BIC=y
|
||||||
# CONFIG_IPV6 is not set
|
# CONFIG_IPV6 is not set
|
||||||
# CONFIG_INET6_XFRM_TUNNEL is not set
|
# CONFIG_INET6_XFRM_TUNNEL is not set
|
||||||
# CONFIG_INET6_TUNNEL is not set
|
# CONFIG_INET6_TUNNEL is not set
|
||||||
|
# CONFIG_NETWORK_SECMARK is not set
|
||||||
# CONFIG_NETFILTER is not set
|
# CONFIG_NETFILTER is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -321,6 +333,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_SYS_HYPERVISOR is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Connector - unified userspace <-> kernelspace linker
|
# Connector - unified userspace <-> kernelspace linker
|
||||||
|
@ -408,10 +421,12 @@ CONFIG_MTD_BAST_MAXSIZE=4
|
||||||
#
|
#
|
||||||
CONFIG_MTD_NAND=y
|
CONFIG_MTD_NAND=y
|
||||||
# CONFIG_MTD_NAND_VERIFY_WRITE is not set
|
# CONFIG_MTD_NAND_VERIFY_WRITE is not set
|
||||||
|
# CONFIG_MTD_NAND_ECC_SMC is not set
|
||||||
CONFIG_MTD_NAND_IDS=y
|
CONFIG_MTD_NAND_IDS=y
|
||||||
CONFIG_MTD_NAND_S3C2410=y
|
CONFIG_MTD_NAND_S3C2410=y
|
||||||
# CONFIG_MTD_NAND_S3C2410_DEBUG is not set
|
# CONFIG_MTD_NAND_S3C2410_DEBUG is not set
|
||||||
# CONFIG_MTD_NAND_S3C2410_HWECC is not set
|
# CONFIG_MTD_NAND_S3C2410_HWECC is not set
|
||||||
|
# CONFIG_MTD_NAND_S3C2410_CLKSTOP is not set
|
||||||
# CONFIG_MTD_NAND_DISKONCHIP is not set
|
# CONFIG_MTD_NAND_DISKONCHIP is not set
|
||||||
# CONFIG_MTD_NAND_NANDSIM is not set
|
# CONFIG_MTD_NAND_NANDSIM is not set
|
||||||
|
|
||||||
|
@ -425,8 +440,8 @@ CONFIG_MTD_NAND_S3C2410=y
|
||||||
#
|
#
|
||||||
CONFIG_PARPORT=y
|
CONFIG_PARPORT=y
|
||||||
# CONFIG_PARPORT_PC is not set
|
# CONFIG_PARPORT_PC is not set
|
||||||
# CONFIG_PARPORT_ARC is not set
|
|
||||||
# CONFIG_PARPORT_GSC is not set
|
# CONFIG_PARPORT_GSC is not set
|
||||||
|
# CONFIG_PARPORT_AX88796 is not set
|
||||||
CONFIG_PARPORT_1284=y
|
CONFIG_PARPORT_1284=y
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -735,6 +750,7 @@ CONFIG_I2C_ALGOBIT=m
|
||||||
#
|
#
|
||||||
# CONFIG_I2C_ELEKTOR is not set
|
# CONFIG_I2C_ELEKTOR is not set
|
||||||
CONFIG_I2C_ISA=m
|
CONFIG_I2C_ISA=m
|
||||||
|
# CONFIG_I2C_OCORES is not set
|
||||||
# CONFIG_I2C_PARPORT is not set
|
# CONFIG_I2C_PARPORT is not set
|
||||||
# CONFIG_I2C_PARPORT_LIGHT is not set
|
# CONFIG_I2C_PARPORT_LIGHT is not set
|
||||||
CONFIG_I2C_S3C2410=y
|
CONFIG_I2C_S3C2410=y
|
||||||
|
@ -765,13 +781,13 @@ CONFIG_SENSORS_EEPROM=m
|
||||||
#
|
#
|
||||||
# Dallas's 1-wire bus
|
# Dallas's 1-wire bus
|
||||||
#
|
#
|
||||||
# CONFIG_W1 is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Hardware Monitoring support
|
# Hardware Monitoring support
|
||||||
#
|
#
|
||||||
CONFIG_HWMON=y
|
CONFIG_HWMON=y
|
||||||
CONFIG_HWMON_VID=m
|
CONFIG_HWMON_VID=m
|
||||||
|
# CONFIG_SENSORS_ABITUGURU is not set
|
||||||
# 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
|
||||||
|
@ -799,8 +815,10 @@ CONFIG_SENSORS_LM85=m
|
||||||
# CONFIG_SENSORS_MAX1619 is not set
|
# CONFIG_SENSORS_MAX1619 is not set
|
||||||
# CONFIG_SENSORS_PC87360 is not set
|
# CONFIG_SENSORS_PC87360 is not set
|
||||||
# CONFIG_SENSORS_SMSC47M1 is not set
|
# CONFIG_SENSORS_SMSC47M1 is not set
|
||||||
|
# CONFIG_SENSORS_SMSC47M192 is not set
|
||||||
# CONFIG_SENSORS_SMSC47B397 is not set
|
# CONFIG_SENSORS_SMSC47B397 is not set
|
||||||
# CONFIG_SENSORS_W83781D is not set
|
# CONFIG_SENSORS_W83781D is not set
|
||||||
|
# CONFIG_SENSORS_W83791D is not set
|
||||||
# CONFIG_SENSORS_W83792D is not set
|
# CONFIG_SENSORS_W83792D is not set
|
||||||
# CONFIG_SENSORS_W83L785TS is not set
|
# CONFIG_SENSORS_W83L785TS is not set
|
||||||
# CONFIG_SENSORS_W83627HF is not set
|
# CONFIG_SENSORS_W83627HF is not set
|
||||||
|
@ -845,6 +863,7 @@ CONFIG_FB_CFB_COPYAREA=y
|
||||||
CONFIG_FB_CFB_IMAGEBLIT=y
|
CONFIG_FB_CFB_IMAGEBLIT=y
|
||||||
# CONFIG_FB_MACMODES is not set
|
# CONFIG_FB_MACMODES is not set
|
||||||
CONFIG_FB_FIRMWARE_EDID=y
|
CONFIG_FB_FIRMWARE_EDID=y
|
||||||
|
# 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
|
||||||
# CONFIG_FB_S1D13XXX is not set
|
# CONFIG_FB_S1D13XXX is not set
|
||||||
|
@ -976,10 +995,12 @@ CONFIG_USB_MON=y
|
||||||
# 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_LED is not set
|
# CONFIG_USB_LED is not set
|
||||||
|
# CONFIG_USB_CY7C63 is not set
|
||||||
# CONFIG_USB_CYTHERM is not set
|
# CONFIG_USB_CYTHERM is not set
|
||||||
# CONFIG_USB_PHIDGETKIT is not set
|
# CONFIG_USB_PHIDGETKIT is not set
|
||||||
# CONFIG_USB_PHIDGETSERVO is not set
|
# CONFIG_USB_PHIDGETSERVO is not set
|
||||||
# CONFIG_USB_IDMOUSE is not set
|
# CONFIG_USB_IDMOUSE is not set
|
||||||
|
# CONFIG_USB_APPLEDISPLAY is not set
|
||||||
# CONFIG_USB_LD is not set
|
# CONFIG_USB_LD is not set
|
||||||
# CONFIG_USB_TEST is not set
|
# CONFIG_USB_TEST is not set
|
||||||
|
|
||||||
|
@ -1024,6 +1045,7 @@ CONFIG_FS_MBCACHE=y
|
||||||
# CONFIG_MINIX_FS is not set
|
# CONFIG_MINIX_FS is not set
|
||||||
CONFIG_ROMFS_FS=y
|
CONFIG_ROMFS_FS=y
|
||||||
CONFIG_INOTIFY=y
|
CONFIG_INOTIFY=y
|
||||||
|
CONFIG_INOTIFY_USER=y
|
||||||
# CONFIG_QUOTA is not set
|
# CONFIG_QUOTA is not set
|
||||||
CONFIG_DNOTIFY=y
|
CONFIG_DNOTIFY=y
|
||||||
# CONFIG_AUTOFS_FS is not set
|
# CONFIG_AUTOFS_FS is not set
|
||||||
|
|
|
@ -340,7 +340,7 @@ sys_mmap2:
|
||||||
streq r5, [sp, #4]
|
streq r5, [sp, #4]
|
||||||
beq do_mmap2
|
beq do_mmap2
|
||||||
mov r0, #-EINVAL
|
mov r0, #-EINVAL
|
||||||
RETINSTR(mov,pc, lr)
|
mov pc, lr
|
||||||
#else
|
#else
|
||||||
str r5, [sp, #4]
|
str r5, [sp, #4]
|
||||||
b do_mmap2
|
b do_mmap2
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
__INIT
|
__INIT
|
||||||
.type stext, %function
|
.type stext, %function
|
||||||
ENTRY(stext)
|
ENTRY(stext)
|
||||||
msr cpsr_c, #PSR_F_BIT | PSR_I_BIT | MODE_SVC @ ensure svc mode
|
msr cpsr_c, #PSR_F_BIT | PSR_I_BIT | SVC_MODE @ ensure svc mode
|
||||||
@ and irqs disabled
|
@ and irqs disabled
|
||||||
mrc p15, 0, r9, c0, c0 @ get processor id
|
mrc p15, 0, r9, c0, c0 @ get processor id
|
||||||
bl __lookup_processor_type @ r5=procinfo r9=cpuid
|
bl __lookup_processor_type @ r5=procinfo r9=cpuid
|
||||||
|
|
|
@ -71,7 +71,7 @@
|
||||||
__INIT
|
__INIT
|
||||||
.type stext, %function
|
.type stext, %function
|
||||||
ENTRY(stext)
|
ENTRY(stext)
|
||||||
msr cpsr_c, #PSR_F_BIT | PSR_I_BIT | MODE_SVC @ ensure svc mode
|
msr cpsr_c, #PSR_F_BIT | PSR_I_BIT | SVC_MODE @ ensure svc mode
|
||||||
@ and irqs disabled
|
@ and irqs disabled
|
||||||
mrc p15, 0, r9, c0, c0 @ get processor id
|
mrc p15, 0, r9, c0, c0 @ get processor id
|
||||||
bl __lookup_processor_type @ r5=procinfo r9=cpuid
|
bl __lookup_processor_type @ r5=procinfo r9=cpuid
|
||||||
|
@ -104,7 +104,7 @@ ENTRY(secondary_startup)
|
||||||
* the processor type - there is no need to check the machine type
|
* the processor type - there is no need to check the machine type
|
||||||
* as it has already been validated by the primary processor.
|
* as it has already been validated by the primary processor.
|
||||||
*/
|
*/
|
||||||
msr cpsr_c, #PSR_F_BIT | PSR_I_BIT | MODE_SVC
|
msr cpsr_c, #PSR_F_BIT | PSR_I_BIT | SVC_MODE
|
||||||
mrc p15, 0, r9, c0, c0 @ get processor id
|
mrc p15, 0, r9, c0, c0 @ get processor id
|
||||||
bl __lookup_processor_type
|
bl __lookup_processor_type
|
||||||
movs r10, r5 @ invalid processor?
|
movs r10, r5 @ invalid processor?
|
||||||
|
|
|
@ -41,7 +41,7 @@ ENTRY(c_backtrace)
|
||||||
movne r0, #0
|
movne r0, #0
|
||||||
movs frame, r0
|
movs frame, r0
|
||||||
1: moveq r0, #-2
|
1: moveq r0, #-2
|
||||||
LOADREGS(eqfd, sp!, {r4 - r8, pc})
|
ldmeqfd sp!, {r4 - r8, pc}
|
||||||
|
|
||||||
2: stmfd sp!, {pc} @ calculate offset of PC in STMIA instruction
|
2: stmfd sp!, {pc} @ calculate offset of PC in STMIA instruction
|
||||||
ldr r0, [sp], #4
|
ldr r0, [sp], #4
|
||||||
|
@ -85,7 +85,7 @@ ENTRY(c_backtrace)
|
||||||
* A zero next framepointer means we're done.
|
* A zero next framepointer means we're done.
|
||||||
*/
|
*/
|
||||||
teq next, #0
|
teq next, #0
|
||||||
LOADREGS(eqfd, sp!, {r4 - r8, pc})
|
ldmeqfd sp!, {r4 - r8, pc}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The next framepointer must be above the
|
* The next framepointer must be above the
|
||||||
|
@ -104,7 +104,7 @@ ENTRY(c_backtrace)
|
||||||
1007: ldr r0, =.Lbad
|
1007: ldr r0, =.Lbad
|
||||||
mov r1, frame
|
mov r1, frame
|
||||||
bl printk
|
bl printk
|
||||||
LOADREGS(fd, sp!, {r4 - r8, pc})
|
ldmfd sp!, {r4 - r8, pc}
|
||||||
.ltorg
|
.ltorg
|
||||||
.previous
|
.previous
|
||||||
|
|
||||||
|
@ -145,7 +145,7 @@ ENTRY(c_backtrace)
|
||||||
adrne r0, .Lcr
|
adrne r0, .Lcr
|
||||||
blne printk
|
blne printk
|
||||||
mov r0, stack
|
mov r0, stack
|
||||||
LOADREGS(fd, sp!, {instr, reg, stack, r7, r8, pc})
|
ldmfd sp!, {instr, reg, stack, r7, r8, pc}
|
||||||
|
|
||||||
.Lfp: .asciz " r%d = %08X%c"
|
.Lfp: .asciz " r%d = %08X%c"
|
||||||
.Lcr: .asciz "\n"
|
.Lcr: .asciz "\n"
|
||||||
|
|
|
@ -43,10 +43,10 @@ USER( strnebt r2, [r0], #1)
|
||||||
tst r1, #1 @ x1 x0 x1 x0 x1 x0 x1
|
tst r1, #1 @ x1 x0 x1 x0 x1 x0 x1
|
||||||
USER( strnebt r2, [r0], #1)
|
USER( strnebt r2, [r0], #1)
|
||||||
mov r0, #0
|
mov r0, #0
|
||||||
LOADREGS(fd,sp!, {r1, pc})
|
ldmfd sp!, {r1, pc}
|
||||||
|
|
||||||
.section .fixup,"ax"
|
.section .fixup,"ax"
|
||||||
.align 0
|
.align 0
|
||||||
9001: LOADREGS(fd,sp!, {r0, pc})
|
9001: ldmfd sp!, {r0, pc}
|
||||||
.previous
|
.previous
|
||||||
|
|
||||||
|
|
|
@ -43,4 +43,4 @@ ENTRY(copy_page)
|
||||||
bgt 1b @ 1
|
bgt 1b @ 1
|
||||||
PLD( ldmeqia r1!, {r3, r4, ip, lr} )
|
PLD( ldmeqia r1!, {r3, r4, ip, lr} )
|
||||||
PLD( beq 2b )
|
PLD( beq 2b )
|
||||||
LOADREGS(fd, sp!, {r4, pc}) @ 3
|
ldmfd sp!, {r4, pc} @ 3
|
||||||
|
|
|
@ -28,5 +28,5 @@ ENTRY(__csum_ipv6_magic)
|
||||||
adcs r0, r0, r3
|
adcs r0, r0, r3
|
||||||
adcs r0, r0, r2
|
adcs r0, r0, r2
|
||||||
adcs r0, r0, #0
|
adcs r0, r0, #0
|
||||||
LOADREGS(fd, sp!, {pc})
|
ldmfd sp!, {pc}
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ ENTRY(__const_udelay) @ 0 <= r0 <= 0x7fffff06
|
||||||
mov r2, r2, lsr #10 @ max = 0x00007fff
|
mov r2, r2, lsr #10 @ max = 0x00007fff
|
||||||
mul r0, r2, r0 @ max = 2^32-1
|
mul r0, r2, r0 @ max = 2^32-1
|
||||||
movs r0, r0, lsr #6
|
movs r0, r0, lsr #6
|
||||||
RETINSTR(moveq,pc,lr)
|
moveq pc, lr
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* loops = r0 * HZ * loops_per_jiffy / 1000000
|
* loops = r0 * HZ * loops_per_jiffy / 1000000
|
||||||
|
@ -43,20 +43,20 @@ ENTRY(__const_udelay) @ 0 <= r0 <= 0x7fffff06
|
||||||
ENTRY(__delay)
|
ENTRY(__delay)
|
||||||
subs r0, r0, #1
|
subs r0, r0, #1
|
||||||
#if 0
|
#if 0
|
||||||
RETINSTR(movls,pc,lr)
|
movls pc, lr
|
||||||
subs r0, r0, #1
|
subs r0, r0, #1
|
||||||
RETINSTR(movls,pc,lr)
|
movls pc, lr
|
||||||
subs r0, r0, #1
|
subs r0, r0, #1
|
||||||
RETINSTR(movls,pc,lr)
|
movls pc, lr
|
||||||
subs r0, r0, #1
|
subs r0, r0, #1
|
||||||
RETINSTR(movls,pc,lr)
|
movls pc, lr
|
||||||
subs r0, r0, #1
|
subs r0, r0, #1
|
||||||
RETINSTR(movls,pc,lr)
|
movls pc, lr
|
||||||
subs r0, r0, #1
|
subs r0, r0, #1
|
||||||
RETINSTR(movls,pc,lr)
|
movls pc, lr
|
||||||
subs r0, r0, #1
|
subs r0, r0, #1
|
||||||
RETINSTR(movls,pc,lr)
|
movls pc, lr
|
||||||
subs r0, r0, #1
|
subs r0, r0, #1
|
||||||
#endif
|
#endif
|
||||||
bhi __delay
|
bhi __delay
|
||||||
RETINSTR(mov,pc,lr)
|
mov pc, lr
|
||||||
|
|
|
@ -29,7 +29,7 @@ ENTRY(ecard_loader_read)
|
||||||
CPSR2SPSR(r0)
|
CPSR2SPSR(r0)
|
||||||
mov lr, pc
|
mov lr, pc
|
||||||
mov pc, r2
|
mov pc, r2
|
||||||
LOADREGS(fd, sp!, {r4 - r12, pc})
|
ldmfd sp!, {r4 - r12, pc}
|
||||||
|
|
||||||
@ Purpose: call an expansion card loader to reset the card
|
@ Purpose: call an expansion card loader to reset the card
|
||||||
@ Proto : void read_loader(int card_base, char *loader);
|
@ Proto : void read_loader(int card_base, char *loader);
|
||||||
|
@ -41,5 +41,5 @@ ENTRY(ecard_loader_reset)
|
||||||
CPSR2SPSR(r0)
|
CPSR2SPSR(r0)
|
||||||
mov lr, pc
|
mov lr, pc
|
||||||
add pc, r1, #8
|
add pc, r1, #8
|
||||||
LOADREGS(fd, sp!, {r4 - r12, pc})
|
ldmfd sp!, {r4 - r12, pc}
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ ENTRY(_find_first_zero_bit_le)
|
||||||
2: cmp r2, r1 @ any more?
|
2: cmp r2, r1 @ any more?
|
||||||
blo 1b
|
blo 1b
|
||||||
3: mov r0, r1 @ no free bits
|
3: mov r0, r1 @ no free bits
|
||||||
RETINSTR(mov,pc,lr)
|
mov pc, lr
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Purpose : Find next 'zero' bit
|
* Purpose : Find next 'zero' bit
|
||||||
|
@ -66,7 +66,7 @@ ENTRY(_find_first_bit_le)
|
||||||
2: cmp r2, r1 @ any more?
|
2: cmp r2, r1 @ any more?
|
||||||
blo 1b
|
blo 1b
|
||||||
3: mov r0, r1 @ no free bits
|
3: mov r0, r1 @ no free bits
|
||||||
RETINSTR(mov,pc,lr)
|
mov pc, lr
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Purpose : Find next 'one' bit
|
* Purpose : Find next 'one' bit
|
||||||
|
@ -98,7 +98,7 @@ ENTRY(_find_first_zero_bit_be)
|
||||||
2: cmp r2, r1 @ any more?
|
2: cmp r2, r1 @ any more?
|
||||||
blo 1b
|
blo 1b
|
||||||
3: mov r0, r1 @ no free bits
|
3: mov r0, r1 @ no free bits
|
||||||
RETINSTR(mov,pc,lr)
|
mov pc, lr
|
||||||
|
|
||||||
ENTRY(_find_next_zero_bit_be)
|
ENTRY(_find_next_zero_bit_be)
|
||||||
teq r1, #0
|
teq r1, #0
|
||||||
|
@ -126,7 +126,7 @@ ENTRY(_find_first_bit_be)
|
||||||
2: cmp r2, r1 @ any more?
|
2: cmp r2, r1 @ any more?
|
||||||
blo 1b
|
blo 1b
|
||||||
3: mov r0, r1 @ no free bits
|
3: mov r0, r1 @ no free bits
|
||||||
RETINSTR(mov,pc,lr)
|
mov pc, lr
|
||||||
|
|
||||||
ENTRY(_find_next_bit_be)
|
ENTRY(_find_next_bit_be)
|
||||||
teq r1, #0
|
teq r1, #0
|
||||||
|
@ -164,5 +164,5 @@ ENTRY(_find_next_bit_be)
|
||||||
addeq r2, r2, #1
|
addeq r2, r2, #1
|
||||||
mov r0, r2
|
mov r0, r2
|
||||||
#endif
|
#endif
|
||||||
RETINSTR(mov,pc,lr)
|
mov pc, lr
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,7 @@ ENTRY(__raw_readsb)
|
||||||
bpl .Linsb_16_lp
|
bpl .Linsb_16_lp
|
||||||
|
|
||||||
tst r2, #15
|
tst r2, #15
|
||||||
LOADREGS(eqfd, sp!, {r4 - r6, pc})
|
ldmeqfd sp!, {r4 - r6, pc}
|
||||||
|
|
||||||
.Linsb_no_16: tst r2, #8
|
.Linsb_no_16: tst r2, #8
|
||||||
beq .Linsb_no_8
|
beq .Linsb_no_8
|
||||||
|
@ -109,7 +109,7 @@ ENTRY(__raw_readsb)
|
||||||
str r3, [r1], #4
|
str r3, [r1], #4
|
||||||
|
|
||||||
.Linsb_no_4: ands r2, r2, #3
|
.Linsb_no_4: ands r2, r2, #3
|
||||||
LOADREGS(eqfd, sp!, {r4 - r6, pc})
|
ldmeqfd sp!, {r4 - r6, pc}
|
||||||
|
|
||||||
cmp r2, #2
|
cmp r2, #2
|
||||||
ldrb r3, [r0]
|
ldrb r3, [r0]
|
||||||
|
@ -119,4 +119,4 @@ ENTRY(__raw_readsb)
|
||||||
ldrgtb r3, [r0]
|
ldrgtb r3, [r0]
|
||||||
strgtb r3, [r1]
|
strgtb r3, [r1]
|
||||||
|
|
||||||
LOADREGS(fd, sp!, {r4 - r6, pc})
|
ldmfd sp!, {r4 - r6, pc}
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
strb r3, [r1], #1
|
strb r3, [r1], #1
|
||||||
|
|
||||||
subs r2, r2, #1
|
subs r2, r2, #1
|
||||||
RETINSTR(moveq, pc, lr)
|
moveq pc, lr
|
||||||
|
|
||||||
ENTRY(__raw_readsw)
|
ENTRY(__raw_readsw)
|
||||||
teq r2, #0 @ do we have to check for the zero len?
|
teq r2, #0 @ do we have to check for the zero len?
|
||||||
|
@ -69,7 +69,7 @@ ENTRY(__raw_readsw)
|
||||||
bpl .Linsw_8_lp
|
bpl .Linsw_8_lp
|
||||||
|
|
||||||
tst r2, #7
|
tst r2, #7
|
||||||
LOADREGS(eqfd, sp!, {r4, r5, r6, pc})
|
ldmeqfd sp!, {r4, r5, r6, pc}
|
||||||
|
|
||||||
.Lno_insw_8: tst r2, #4
|
.Lno_insw_8: tst r2, #4
|
||||||
beq .Lno_insw_4
|
beq .Lno_insw_4
|
||||||
|
@ -102,6 +102,6 @@ ENTRY(__raw_readsw)
|
||||||
movne r3, r3, lsr #8
|
movne r3, r3, lsr #8
|
||||||
strneb r3, [r1]
|
strneb r3, [r1]
|
||||||
|
|
||||||
LOADREGS(fd, sp!, {r4, r5, r6, pc})
|
ldmfd sp!, {r4, r5, r6, pc}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -64,7 +64,7 @@ ENTRY(__raw_writesb)
|
||||||
bpl .Loutsb_16_lp
|
bpl .Loutsb_16_lp
|
||||||
|
|
||||||
tst r2, #15
|
tst r2, #15
|
||||||
LOADREGS(eqfd, sp!, {r4, r5, pc})
|
ldmeqfd sp!, {r4, r5, pc}
|
||||||
|
|
||||||
.Loutsb_no_16: tst r2, #8
|
.Loutsb_no_16: tst r2, #8
|
||||||
beq .Loutsb_no_8
|
beq .Loutsb_no_8
|
||||||
|
@ -80,7 +80,7 @@ ENTRY(__raw_writesb)
|
||||||
outword r3
|
outword r3
|
||||||
|
|
||||||
.Loutsb_no_4: ands r2, r2, #3
|
.Loutsb_no_4: ands r2, r2, #3
|
||||||
LOADREGS(eqfd, sp!, {r4, r5, pc})
|
ldmeqfd sp!, {r4, r5, pc}
|
||||||
|
|
||||||
cmp r2, #2
|
cmp r2, #2
|
||||||
ldrb r3, [r1], #1
|
ldrb r3, [r1], #1
|
||||||
|
@ -90,4 +90,4 @@ ENTRY(__raw_writesb)
|
||||||
ldrgtb r3, [r1]
|
ldrgtb r3, [r1]
|
||||||
strgtb r3, [r0]
|
strgtb r3, [r0]
|
||||||
|
|
||||||
LOADREGS(fd, sp!, {r4, r5, pc})
|
ldmfd sp!, {r4, r5, pc}
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
orr r3, r3, r3, lsl #16
|
orr r3, r3, r3, lsl #16
|
||||||
str r3, [r0]
|
str r3, [r0]
|
||||||
subs r2, r2, #1
|
subs r2, r2, #1
|
||||||
RETINSTR(moveq, pc, lr)
|
moveq pc, lr
|
||||||
|
|
||||||
ENTRY(__raw_writesw)
|
ENTRY(__raw_writesw)
|
||||||
teq r2, #0 @ do we have to check for the zero len?
|
teq r2, #0 @ do we have to check for the zero len?
|
||||||
|
@ -80,7 +80,7 @@ ENTRY(__raw_writesw)
|
||||||
bpl .Loutsw_8_lp
|
bpl .Loutsw_8_lp
|
||||||
|
|
||||||
tst r2, #7
|
tst r2, #7
|
||||||
LOADREGS(eqfd, sp!, {r4, r5, r6, pc})
|
ldmeqfd sp!, {r4, r5, r6, pc}
|
||||||
|
|
||||||
.Lno_outsw_8: tst r2, #4
|
.Lno_outsw_8: tst r2, #4
|
||||||
beq .Lno_outsw_4
|
beq .Lno_outsw_4
|
||||||
|
@ -124,4 +124,4 @@ ENTRY(__raw_writesw)
|
||||||
orrne ip, ip, ip, lsr #16
|
orrne ip, ip, ip, lsr #16
|
||||||
strne ip, [r0]
|
strne ip, [r0]
|
||||||
|
|
||||||
LOADREGS(fd, sp!, {r4, r5, r6, pc})
|
ldmfd sp!, {r4, r5, r6, pc}
|
||||||
|
|
|
@ -22,4 +22,4 @@ ENTRY(memchr)
|
||||||
bne 1b
|
bne 1b
|
||||||
sub r0, r0, #1
|
sub r0, r0, #1
|
||||||
2: movne r0, #0
|
2: movne r0, #0
|
||||||
RETINSTR(mov,pc,lr)
|
mov pc, lr
|
||||||
|
|
|
@ -53,7 +53,7 @@ ENTRY(memset)
|
||||||
stmgeia r0!, {r1, r3, ip, lr}
|
stmgeia r0!, {r1, r3, ip, lr}
|
||||||
stmgeia r0!, {r1, r3, ip, lr}
|
stmgeia r0!, {r1, r3, ip, lr}
|
||||||
bgt 2b
|
bgt 2b
|
||||||
LOADREGS(eqfd, sp!, {pc}) @ Now <64 bytes to go.
|
ldmeqfd sp!, {pc} @ Now <64 bytes to go.
|
||||||
/*
|
/*
|
||||||
* No need to correct the count; we're only testing bits from now on
|
* No need to correct the count; we're only testing bits from now on
|
||||||
*/
|
*/
|
||||||
|
@ -77,4 +77,4 @@ ENTRY(memset)
|
||||||
strneb r1, [r0], #1
|
strneb r1, [r0], #1
|
||||||
tst r2, #1
|
tst r2, #1
|
||||||
strneb r1, [r0], #1
|
strneb r1, [r0], #1
|
||||||
RETINSTR(mov,pc,lr)
|
mov pc, lr
|
||||||
|
|
|
@ -53,7 +53,7 @@ ENTRY(__memzero)
|
||||||
stmgeia r0!, {r2, r3, ip, lr} @ 4
|
stmgeia r0!, {r2, r3, ip, lr} @ 4
|
||||||
stmgeia r0!, {r2, r3, ip, lr} @ 4
|
stmgeia r0!, {r2, r3, ip, lr} @ 4
|
||||||
bgt 3b @ 1
|
bgt 3b @ 1
|
||||||
LOADREGS(eqfd, sp!, {pc}) @ 1/2 quick exit
|
ldmeqfd sp!, {pc} @ 1/2 quick exit
|
||||||
/*
|
/*
|
||||||
* No need to correct the count; we're only testing bits from now on
|
* No need to correct the count; we're only testing bits from now on
|
||||||
*/
|
*/
|
||||||
|
@ -77,4 +77,4 @@ ENTRY(__memzero)
|
||||||
strneb r2, [r0], #1 @ 1
|
strneb r2, [r0], #1 @ 1
|
||||||
tst r1, #1 @ 1 a byte left over
|
tst r1, #1 @ 1 a byte left over
|
||||||
strneb r2, [r0], #1 @ 1
|
strneb r2, [r0], #1 @ 1
|
||||||
RETINSTR(mov,pc,lr) @ 1
|
mov pc, lr @ 1
|
||||||
|
|
|
@ -23,4 +23,4 @@ ENTRY(strchr)
|
||||||
teq r2, r1
|
teq r2, r1
|
||||||
movne r0, #0
|
movne r0, #0
|
||||||
subeq r0, r0, #1
|
subeq r0, r0, #1
|
||||||
RETINSTR(mov,pc,lr)
|
mov pc, lr
|
||||||
|
|
|
@ -21,7 +21,6 @@
|
||||||
* -EFAULT on exception, or "len" if we fill the whole buffer
|
* -EFAULT on exception, or "len" if we fill the whole buffer
|
||||||
*/
|
*/
|
||||||
ENTRY(__arch_strncpy_from_user)
|
ENTRY(__arch_strncpy_from_user)
|
||||||
save_lr
|
|
||||||
mov ip, r1
|
mov ip, r1
|
||||||
1: subs r2, r2, #1
|
1: subs r2, r2, #1
|
||||||
USER( ldrplbt r3, [r1], #1)
|
USER( ldrplbt r3, [r1], #1)
|
||||||
|
@ -31,13 +30,13 @@ USER( ldrplbt r3, [r1], #1)
|
||||||
bne 1b
|
bne 1b
|
||||||
sub r1, r1, #1 @ take NUL character out of count
|
sub r1, r1, #1 @ take NUL character out of count
|
||||||
2: sub r0, r1, ip
|
2: sub r0, r1, ip
|
||||||
restore_pc
|
mov pc, lr
|
||||||
|
|
||||||
.section .fixup,"ax"
|
.section .fixup,"ax"
|
||||||
.align 0
|
.align 0
|
||||||
9001: mov r3, #0
|
9001: mov r3, #0
|
||||||
strb r3, [r0, #0] @ null terminate
|
strb r3, [r0, #0] @ null terminate
|
||||||
mov r0, #-EFAULT
|
mov r0, #-EFAULT
|
||||||
restore_pc
|
mov pc, lr
|
||||||
.previous
|
.previous
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,6 @@
|
||||||
* or zero on exception, or n + 1 if too long
|
* or zero on exception, or n + 1 if too long
|
||||||
*/
|
*/
|
||||||
ENTRY(__arch_strnlen_user)
|
ENTRY(__arch_strnlen_user)
|
||||||
save_lr
|
|
||||||
mov r2, r0
|
mov r2, r0
|
||||||
1:
|
1:
|
||||||
USER( ldrbt r3, [r0], #1)
|
USER( ldrbt r3, [r0], #1)
|
||||||
|
@ -31,10 +30,10 @@ USER( ldrbt r3, [r0], #1)
|
||||||
bne 1b
|
bne 1b
|
||||||
add r0, r0, #1
|
add r0, r0, #1
|
||||||
2: sub r0, r0, r2
|
2: sub r0, r0, r2
|
||||||
restore_pc
|
mov pc, lr
|
||||||
|
|
||||||
.section .fixup,"ax"
|
.section .fixup,"ax"
|
||||||
.align 0
|
.align 0
|
||||||
9001: mov r0, #0
|
9001: mov r0, #0
|
||||||
restore_pc
|
mov pc, lr
|
||||||
.previous
|
.previous
|
||||||
|
|
|
@ -22,4 +22,4 @@ ENTRY(strrchr)
|
||||||
teq r2, #0
|
teq r2, #0
|
||||||
bne 1b
|
bne 1b
|
||||||
mov r0, r3
|
mov r0, r3
|
||||||
RETINSTR(mov,pc,lr)
|
mov pc, lr
|
||||||
|
|
|
@ -105,7 +105,7 @@ USER( strgtbt r3, [r0], #1) @ May fault
|
||||||
movs ip, r2
|
movs ip, r2
|
||||||
bne .Lc2u_nowords
|
bne .Lc2u_nowords
|
||||||
.Lc2u_finished: mov r0, #0
|
.Lc2u_finished: mov r0, #0
|
||||||
LOADREGS(fd,sp!,{r2, r4 - r7, pc})
|
ldmfd sp!, {r2, r4 - r7, pc}
|
||||||
|
|
||||||
.Lc2u_src_not_aligned:
|
.Lc2u_src_not_aligned:
|
||||||
bic r1, r1, #3
|
bic r1, r1, #3
|
||||||
|
@ -280,7 +280,7 @@ USER( strgtbt r3, [r0], #1) @ May fault
|
||||||
|
|
||||||
.section .fixup,"ax"
|
.section .fixup,"ax"
|
||||||
.align 0
|
.align 0
|
||||||
9001: LOADREGS(fd,sp!, {r0, r4 - r7, pc})
|
9001: ldmfd sp!, {r0, r4 - r7, pc}
|
||||||
.previous
|
.previous
|
||||||
|
|
||||||
/* Prototype: unsigned long __arch_copy_from_user(void *to,const void *from,unsigned long n);
|
/* Prototype: unsigned long __arch_copy_from_user(void *to,const void *from,unsigned long n);
|
||||||
|
@ -369,7 +369,7 @@ USER( ldrgtbt r3, [r1], #1) @ May fault
|
||||||
bne .Lcfu_nowords
|
bne .Lcfu_nowords
|
||||||
.Lcfu_finished: mov r0, #0
|
.Lcfu_finished: mov r0, #0
|
||||||
add sp, sp, #8
|
add sp, sp, #8
|
||||||
LOADREGS(fd,sp!,{r4 - r7, pc})
|
ldmfd sp!, {r4 - r7, pc}
|
||||||
|
|
||||||
.Lcfu_src_not_aligned:
|
.Lcfu_src_not_aligned:
|
||||||
bic r1, r1, #3
|
bic r1, r1, #3
|
||||||
|
@ -556,6 +556,6 @@ USER( ldrgtbt r3, [r1], #1) @ May fault
|
||||||
movne r1, r4
|
movne r1, r4
|
||||||
blne __memzero
|
blne __memzero
|
||||||
mov r0, r4
|
mov r0, r4
|
||||||
LOADREGS(fd,sp!, {r4 - r7, pc})
|
ldmfd sp!, {r4 - r7, pc}
|
||||||
.previous
|
.previous
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,12 @@ menu "AT91RM9200 Implementations"
|
||||||
|
|
||||||
comment "AT91RM9200 Board Type"
|
comment "AT91RM9200 Board Type"
|
||||||
|
|
||||||
|
config MACH_ONEARM
|
||||||
|
bool "Ajeco 1ARM Single Board Computer"
|
||||||
|
depends on ARCH_AT91RM9200
|
||||||
|
help
|
||||||
|
Select this if you are using Ajeco's 1ARM Single Board Computer
|
||||||
|
|
||||||
config ARCH_AT91RM9200DK
|
config ARCH_AT91RM9200DK
|
||||||
bool "Atmel AT91RM9200-DK Development board"
|
bool "Atmel AT91RM9200-DK Development board"
|
||||||
depends on ARCH_AT91RM9200
|
depends on ARCH_AT91RM9200
|
||||||
|
|
|
@ -10,6 +10,7 @@ obj- :=
|
||||||
obj-$(CONFIG_PM) += pm.o
|
obj-$(CONFIG_PM) += pm.o
|
||||||
|
|
||||||
# Board-specific support
|
# Board-specific support
|
||||||
|
obj-$(CONFIG_MACH_ONEARM) += board-1arm.o
|
||||||
obj-$(CONFIG_ARCH_AT91RM9200DK) += board-dk.o
|
obj-$(CONFIG_ARCH_AT91RM9200DK) += board-dk.o
|
||||||
obj-$(CONFIG_MACH_AT91RM9200EK) += board-ek.o
|
obj-$(CONFIG_MACH_AT91RM9200EK) += board-ek.o
|
||||||
obj-$(CONFIG_MACH_CSB337) += board-csb337.o
|
obj-$(CONFIG_MACH_CSB337) += board-csb337.o
|
||||||
|
|
|
@ -0,0 +1,109 @@
|
||||||
|
/*
|
||||||
|
* linux/arch/arm/mach-at91rm9200/board-1arm.c
|
||||||
|
*
|
||||||
|
* Copyright (C) 2005 SAN People
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <linux/config.h>
|
||||||
|
#include <linux/types.h>
|
||||||
|
#include <linux/init.h>
|
||||||
|
#include <linux/mm.h>
|
||||||
|
#include <linux/module.h>
|
||||||
|
#include <linux/platform_device.h>
|
||||||
|
|
||||||
|
#include <asm/hardware.h>
|
||||||
|
#include <asm/setup.h>
|
||||||
|
#include <asm/mach-types.h>
|
||||||
|
#include <asm/irq.h>
|
||||||
|
|
||||||
|
#include <asm/mach/arch.h>
|
||||||
|
#include <asm/mach/map.h>
|
||||||
|
#include <asm/mach/irq.h>
|
||||||
|
|
||||||
|
#include <asm/hardware.h>
|
||||||
|
#include <asm/arch/board.h>
|
||||||
|
#include <asm/arch/gpio.h>
|
||||||
|
|
||||||
|
#include "generic.h"
|
||||||
|
|
||||||
|
static void __init onearm_init_irq(void)
|
||||||
|
{
|
||||||
|
/* Initialize AIC controller */
|
||||||
|
at91rm9200_init_irq(NULL);
|
||||||
|
|
||||||
|
/* Set up the GPIO interrupts */
|
||||||
|
at91_gpio_irq_setup(PQFP_GPIO_BANKS);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Serial port configuration.
|
||||||
|
* 0 .. 3 = USART0 .. USART3
|
||||||
|
* 4 = DBGU
|
||||||
|
*/
|
||||||
|
static struct at91_uart_config __initdata onearm_uart_config = {
|
||||||
|
.console_tty = 0, /* ttyS0 */
|
||||||
|
.nr_tty = 3,
|
||||||
|
.tty_map = { 4, 0, 1, -1, -1 }, /* ttyS0, ..., ttyS4 */
|
||||||
|
};
|
||||||
|
|
||||||
|
static void __init onearm_map_io(void)
|
||||||
|
{
|
||||||
|
at91rm9200_map_io();
|
||||||
|
|
||||||
|
/* Initialize clocks: 18.432 MHz crystal */
|
||||||
|
at91_clock_init(18432000);
|
||||||
|
|
||||||
|
/* Setup the serial ports and console */
|
||||||
|
at91_init_serial(&onearm_uart_config);
|
||||||
|
}
|
||||||
|
|
||||||
|
static struct at91_eth_data __initdata onearm_eth_data = {
|
||||||
|
.phy_irq_pin = AT91_PIN_PC4,
|
||||||
|
.is_rmii = 1,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct at91_usbh_data __initdata onearm_usbh_data = {
|
||||||
|
.ports = 1,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct at91_udc_data __initdata onearm_udc_data = {
|
||||||
|
.vbus_pin = AT91_PIN_PC2,
|
||||||
|
.pullup_pin = AT91_PIN_PC3,
|
||||||
|
};
|
||||||
|
|
||||||
|
static void __init onearm_board_init(void)
|
||||||
|
{
|
||||||
|
/* Serial */
|
||||||
|
at91_add_device_serial();
|
||||||
|
/* Ethernet */
|
||||||
|
at91_add_device_eth(&onearm_eth_data);
|
||||||
|
/* USB Host */
|
||||||
|
at91_add_device_usbh(&onearm_usbh_data);
|
||||||
|
/* USB Device */
|
||||||
|
at91_add_device_udc(&onearm_udc_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
MACHINE_START(ONEARM, "Ajeco 1ARM single board computer")
|
||||||
|
/* Maintainer: Lennert Buytenhek <buytenh@wantstofly.org> */
|
||||||
|
.phys_io = AT91_BASE_SYS,
|
||||||
|
.io_pg_offst = (AT91_VA_BASE_SYS >> 18) & 0xfffc,
|
||||||
|
.boot_params = AT91_SDRAM_BASE + 0x100,
|
||||||
|
.timer = &at91rm9200_timer,
|
||||||
|
.map_io = onearm_map_io,
|
||||||
|
.init_irq = onearm_init_irq,
|
||||||
|
.init_machine = onearm_board_init,
|
||||||
|
MACHINE_END
|
|
@ -35,7 +35,6 @@ config ARCH_ADI_COYOTE
|
||||||
|
|
||||||
config ARCH_IXDP425
|
config ARCH_IXDP425
|
||||||
bool "IXDP425"
|
bool "IXDP425"
|
||||||
select PCI
|
|
||||||
help
|
help
|
||||||
Say 'Y' here if you want your kernel to support Intel's
|
Say 'Y' here if you want your kernel to support Intel's
|
||||||
IXDP425 Development Platform (Also known as Richfield).
|
IXDP425 Development Platform (Also known as Richfield).
|
||||||
|
@ -43,7 +42,6 @@ config ARCH_IXDP425
|
||||||
|
|
||||||
config MACH_IXDPG425
|
config MACH_IXDPG425
|
||||||
bool "IXDPG425"
|
bool "IXDPG425"
|
||||||
select PCI
|
|
||||||
help
|
help
|
||||||
Say 'Y' here if you want your kernel to support Intel's
|
Say 'Y' here if you want your kernel to support Intel's
|
||||||
IXDPG425 Development Platform (Also known as Montajade).
|
IXDPG425 Development Platform (Also known as Montajade).
|
||||||
|
@ -51,7 +49,6 @@ config MACH_IXDPG425
|
||||||
|
|
||||||
config MACH_IXDP465
|
config MACH_IXDP465
|
||||||
bool "IXDP465"
|
bool "IXDP465"
|
||||||
select PCI
|
|
||||||
help
|
help
|
||||||
Say 'Y' here if you want your kernel to support Intel's
|
Say 'Y' here if you want your kernel to support Intel's
|
||||||
IXDP465 Development Platform (Also known as BMP).
|
IXDP465 Development Platform (Also known as BMP).
|
||||||
|
|
|
@ -2,13 +2,23 @@
|
||||||
# Makefile for the linux kernel.
|
# Makefile for the linux kernel.
|
||||||
#
|
#
|
||||||
|
|
||||||
|
obj-pci-y :=
|
||||||
|
obj-pci-n :=
|
||||||
|
|
||||||
|
obj-pci-$(CONFIG_ARCH_IXDP4XX) += ixdp425-pci.o
|
||||||
|
obj-pci-$(CONFIG_MACH_IXDPG425) += ixdpg425-pci.o
|
||||||
|
obj-pci-$(CONFIG_ARCH_ADI_COYOTE) += coyote-pci.o
|
||||||
|
obj-pci-$(CONFIG_MACH_GTWX5715) += gtwx5715-pci.o
|
||||||
|
obj-pci-$(CONFIG_MACH_NSLU2) += nslu2-pci.o
|
||||||
|
obj-pci-$(CONFIG_MACH_NAS100D) += nas100d-pci.o
|
||||||
|
|
||||||
obj-y += common.o
|
obj-y += common.o
|
||||||
|
|
||||||
obj-$(CONFIG_PCI) += common-pci.o
|
obj-$(CONFIG_ARCH_IXDP4XX) += ixdp425-setup.o
|
||||||
obj-$(CONFIG_ARCH_IXDP4XX) += ixdp425-pci.o ixdp425-setup.o
|
obj-$(CONFIG_MACH_IXDPG425) += coyote-setup.o
|
||||||
obj-$(CONFIG_MACH_IXDPG425) += ixdpg425-pci.o coyote-setup.o
|
obj-$(CONFIG_ARCH_ADI_COYOTE) += coyote-setup.o
|
||||||
obj-$(CONFIG_ARCH_ADI_COYOTE) += coyote-pci.o coyote-setup.o
|
obj-$(CONFIG_MACH_GTWX5715) += gtwx5715-setup.o
|
||||||
obj-$(CONFIG_MACH_GTWX5715) += gtwx5715-pci.o gtwx5715-setup.o
|
obj-$(CONFIG_MACH_NSLU2) += nslu2-setup.o nslu2-power.o
|
||||||
obj-$(CONFIG_MACH_NSLU2) += nslu2-pci.o nslu2-setup.o nslu2-power.o
|
obj-$(CONFIG_MACH_NAS100D) += nas100d-setup.o nas100d-power.o
|
||||||
obj-$(CONFIG_MACH_NAS100D) += nas100d-pci.o nas100d-setup.o nas100d-power.o
|
|
||||||
|
|
||||||
|
obj-$(CONFIG_PCI) += $(obj-pci-$(CONFIG_PCI)) common-pci.o
|
||||||
|
|
|
@ -189,7 +189,7 @@ ENTRY(pxa_cpu_suspend)
|
||||||
.data
|
.data
|
||||||
.align 5
|
.align 5
|
||||||
ENTRY(pxa_cpu_resume)
|
ENTRY(pxa_cpu_resume)
|
||||||
mov r0, #PSR_I_BIT | PSR_F_BIT | MODE_SVC @ set SVC, irqs off
|
mov r0, #PSR_I_BIT | PSR_F_BIT | SVC_MODE @ set SVC, irqs off
|
||||||
msr cpsr_c, r0
|
msr cpsr_c, r0
|
||||||
|
|
||||||
ldr r0, sleep_save_sp @ stack phys addr
|
ldr r0, sleep_save_sp @ stack phys addr
|
||||||
|
|
|
@ -71,13 +71,13 @@ config ARCH_S3C2440
|
||||||
Say Y here if you are using the SMDK2440.
|
Say Y here if you are using the SMDK2440.
|
||||||
|
|
||||||
config SMDK2440_CPU2440
|
config SMDK2440_CPU2440
|
||||||
bool "SMDK2440 with S3C2440 cpu module"
|
bool "SMDK2440 with S3C2440 CPU module"
|
||||||
depends on ARCH_S3C2440
|
depends on ARCH_S3C2440
|
||||||
default y if ARCH_S3C2440
|
default y if ARCH_S3C2440
|
||||||
select CPU_S3C2440
|
select CPU_S3C2440
|
||||||
|
|
||||||
config SMDK2440_CPU2442
|
config SMDK2440_CPU2442
|
||||||
bool "SMDM2440 with S3C2442 cpu module"
|
bool "SMDM2440 with S3C2442 CPU module"
|
||||||
depends on ARCH_S3C2440
|
depends on ARCH_S3C2440
|
||||||
select CPU_S3C2442
|
select CPU_S3C2442
|
||||||
|
|
||||||
|
|
|
@ -128,7 +128,7 @@ s3c2410_sleep_save_phys:
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ENTRY(s3c2410_cpu_resume)
|
ENTRY(s3c2410_cpu_resume)
|
||||||
mov r0, #PSR_I_BIT | PSR_F_BIT | MODE_SVC
|
mov r0, #PSR_I_BIT | PSR_F_BIT | SVC_MODE
|
||||||
msr cpsr_c, r0
|
msr cpsr_c, r0
|
||||||
|
|
||||||
@@ load UART to allow us to print the two characters for
|
@@ load UART to allow us to print the two characters for
|
||||||
|
|
|
@ -177,7 +177,7 @@ sa1110_sdram_controller_fix:
|
||||||
.data
|
.data
|
||||||
.align 5
|
.align 5
|
||||||
ENTRY(sa1100_cpu_resume)
|
ENTRY(sa1100_cpu_resume)
|
||||||
mov r0, #PSR_F_BIT | PSR_I_BIT | MODE_SVC
|
mov r0, #PSR_F_BIT | PSR_I_BIT | SVC_MODE
|
||||||
msr cpsr_c, r0 @ set SVC, irqs off
|
msr cpsr_c, r0 @ set SVC, irqs off
|
||||||
|
|
||||||
ldr r0, sleep_save_sp @ stack phys addr
|
ldr r0, sleep_save_sp @ stack phys addr
|
||||||
|
|
|
@ -35,7 +35,7 @@ ENTRY(v3_copy_user_page)
|
||||||
stmia r0!, {r3, r4, ip, lr} @ 4
|
stmia r0!, {r3, r4, ip, lr} @ 4
|
||||||
ldmneia r1!, {r3, r4, ip, lr} @ 4
|
ldmneia r1!, {r3, r4, ip, lr} @ 4
|
||||||
bne 1b @ 1
|
bne 1b @ 1
|
||||||
LOADREGS(fd, sp!, {r4, pc}) @ 3
|
ldmfd sp!, {r4, pc} @ 3
|
||||||
|
|
||||||
.align 5
|
.align 5
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -29,38 +29,6 @@
|
||||||
#define TTB_RGN_WT (2 << 3)
|
#define TTB_RGN_WT (2 << 3)
|
||||||
#define TTB_RGN_WB (3 << 3)
|
#define TTB_RGN_WB (3 << 3)
|
||||||
|
|
||||||
.macro cpsie, flags
|
|
||||||
.ifc \flags, f
|
|
||||||
.long 0xf1080040
|
|
||||||
.exitm
|
|
||||||
.endif
|
|
||||||
.ifc \flags, i
|
|
||||||
.long 0xf1080080
|
|
||||||
.exitm
|
|
||||||
.endif
|
|
||||||
.ifc \flags, if
|
|
||||||
.long 0xf10800c0
|
|
||||||
.exitm
|
|
||||||
.endif
|
|
||||||
.err
|
|
||||||
.endm
|
|
||||||
|
|
||||||
.macro cpsid, flags
|
|
||||||
.ifc \flags, f
|
|
||||||
.long 0xf10c0040
|
|
||||||
.exitm
|
|
||||||
.endif
|
|
||||||
.ifc \flags, i
|
|
||||||
.long 0xf10c0080
|
|
||||||
.exitm
|
|
||||||
.endif
|
|
||||||
.ifc \flags, if
|
|
||||||
.long 0xf10c00c0
|
|
||||||
.exitm
|
|
||||||
.endif
|
|
||||||
.err
|
|
||||||
.endm
|
|
||||||
|
|
||||||
ENTRY(cpu_v6_proc_init)
|
ENTRY(cpu_v6_proc_init)
|
||||||
mov pc, lr
|
mov pc, lr
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
It is called from the kernel with code similar to this:
|
It is called from the kernel with code similar to this:
|
||||||
|
|
||||||
mov fp, #0
|
mov fp, #0
|
||||||
teqp pc, #PSR_I_BIT | MODE_SVC
|
teqp pc, #PSR_I_BIT | SVC_MODE
|
||||||
ldr r4, .LC2
|
ldr r4, .LC2
|
||||||
ldr pc, [r4] @ Call FP module USR entry point
|
ldr pc, [r4] @ Call FP module USR entry point
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
#
|
#
|
||||||
# http://www.arm.linux.org.uk/developer/machines/?action=new
|
# http://www.arm.linux.org.uk/developer/machines/?action=new
|
||||||
#
|
#
|
||||||
# Last update: Mon May 8 20:11:05 2006
|
# Last update: Mon Jun 26 22:26:08 2006
|
||||||
#
|
#
|
||||||
# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number
|
# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number
|
||||||
#
|
#
|
||||||
|
@ -566,8 +566,8 @@ switchgrass MACH_SWITCHGRASS SWITCHGRASS 549
|
||||||
ens_cmu MACH_ENS_CMU ENS_CMU 550
|
ens_cmu MACH_ENS_CMU ENS_CMU 550
|
||||||
mm6_sdb MACH_MM6_SDB MM6_SDB 551
|
mm6_sdb MACH_MM6_SDB MM6_SDB 551
|
||||||
saturn MACH_SATURN SATURN 552
|
saturn MACH_SATURN SATURN 552
|
||||||
i30030evb MACH_ARGONPLUSEVB ARGONPLUSEVB 553
|
i30030evb MACH_I30030EVB I30030EVB 553
|
||||||
mxc27530evb MACH_SCMA11EVB SCMA11EVB 554
|
mxc27530evb MACH_MXC27530EVB MXC27530EVB 554
|
||||||
smdk2800 MACH_SMDK2800 SMDK2800 555
|
smdk2800 MACH_SMDK2800 SMDK2800 555
|
||||||
mtwilson MACH_MTWILSON MTWILSON 556
|
mtwilson MACH_MTWILSON MTWILSON 556
|
||||||
ziti MACH_ZITI ZITI 557
|
ziti MACH_ZITI ZITI 557
|
||||||
|
@ -647,7 +647,7 @@ sendt MACH_SENDT SENDT 630
|
||||||
mx2jazz MACH_MX2JAZZ MX2JAZZ 631
|
mx2jazz MACH_MX2JAZZ MX2JAZZ 631
|
||||||
multiio MACH_MULTIIO MULTIIO 632
|
multiio MACH_MULTIIO MULTIIO 632
|
||||||
hrdisplay MACH_HRDISPLAY HRDISPLAY 633
|
hrdisplay MACH_HRDISPLAY HRDISPLAY 633
|
||||||
mxc27530ads MACH_SCMA11BB SCMA11BB 634
|
mxc27530ads MACH_MXC27530ADS MXC27530ADS 634
|
||||||
trizeps3 MACH_TRIZEPS3 TRIZEPS3 635
|
trizeps3 MACH_TRIZEPS3 TRIZEPS3 635
|
||||||
zefeerdza MACH_ZEFEERDZA ZEFEERDZA 636
|
zefeerdza MACH_ZEFEERDZA ZEFEERDZA 636
|
||||||
zefeerdzb MACH_ZEFEERDZB ZEFEERDZB 637
|
zefeerdzb MACH_ZEFEERDZB ZEFEERDZB 637
|
||||||
|
@ -721,7 +721,7 @@ gp32 MACH_GP32 GP32 706
|
||||||
gem MACH_GEM GEM 707
|
gem MACH_GEM GEM 707
|
||||||
i858 MACH_I858 I858 708
|
i858 MACH_I858 I858 708
|
||||||
hx2750 MACH_HX2750 HX2750 709
|
hx2750 MACH_HX2750 HX2750 709
|
||||||
mxc91131evb MACH_ZEUSEVB ZEUSEVB 710
|
mxc91131evb MACH_MXC91131EVB MXC91131EVB 710
|
||||||
p700 MACH_P700 P700 711
|
p700 MACH_P700 P700 711
|
||||||
cpe MACH_CPE CPE 712
|
cpe MACH_CPE CPE 712
|
||||||
spitz MACH_SPITZ SPITZ 713
|
spitz MACH_SPITZ SPITZ 713
|
||||||
|
@ -802,7 +802,7 @@ cpuat91 MACH_CPUAT91 CPUAT91 787
|
||||||
rea9200 MACH_REA9200 REA9200 788
|
rea9200 MACH_REA9200 REA9200 788
|
||||||
acts_pune_sa1110 MACH_ACTS_PUNE_SA1110 ACTS_PUNE_SA1110 789
|
acts_pune_sa1110 MACH_ACTS_PUNE_SA1110 ACTS_PUNE_SA1110 789
|
||||||
ixp425 MACH_IXP425 IXP425 790
|
ixp425 MACH_IXP425 IXP425 790
|
||||||
i30030ads MACH_ARGONPLUSODYSSEY ARGONPLUSODYSSEY 791
|
i30030ads MACH_I30030ADS I30030ADS 791
|
||||||
perch MACH_PERCH PERCH 792
|
perch MACH_PERCH PERCH 792
|
||||||
eis05r1 MACH_EIS05R1 EIS05R1 793
|
eis05r1 MACH_EIS05R1 EIS05R1 793
|
||||||
pepperpad MACH_PEPPERPAD PEPPERPAD 794
|
pepperpad MACH_PEPPERPAD PEPPERPAD 794
|
||||||
|
@ -930,7 +930,7 @@ netclient MACH_NETCLIENT NETCLIENT 916
|
||||||
xscale_palmtt5 MACH_XSCALE_PALMTT5 XSCALE_PALMTT5 917
|
xscale_palmtt5 MACH_XSCALE_PALMTT5 XSCALE_PALMTT5 917
|
||||||
xscale_palmtc MACH_OMAP_PALMTC OMAP_PALMTC 918
|
xscale_palmtc MACH_OMAP_PALMTC OMAP_PALMTC 918
|
||||||
omap_apollon MACH_OMAP_APOLLON OMAP_APOLLON 919
|
omap_apollon MACH_OMAP_APOLLON OMAP_APOLLON 919
|
||||||
mxc30030evb MACH_ARGONLVEVB ARGONLVEVB 920
|
mxc30030evb MACH_MXC30030EVB MXC30030EVB 920
|
||||||
rea_2d MACH_REA_2D REA_2D 921
|
rea_2d MACH_REA_2D REA_2D 921
|
||||||
eti3e524 MACH_TI3E524 TI3E524 922
|
eti3e524 MACH_TI3E524 TI3E524 922
|
||||||
ateb9200 MACH_ATEB9200 ATEB9200 923
|
ateb9200 MACH_ATEB9200 ATEB9200 923
|
||||||
|
@ -986,7 +986,7 @@ redfox MACH_REDFOX REDFOX 972
|
||||||
mysh_ep9315_1 MACH_MYSH_EP9315_1 MYSH_EP9315_1 973
|
mysh_ep9315_1 MACH_MYSH_EP9315_1 MYSH_EP9315_1 973
|
||||||
tpf106 MACH_TPF106 TPF106 974
|
tpf106 MACH_TPF106 TPF106 974
|
||||||
at91rm9200kg MACH_AT91RM9200KG AT91RM9200KG 975
|
at91rm9200kg MACH_AT91RM9200KG AT91RM9200KG 975
|
||||||
racemt2 MACH_SLEDB SLEDB 976
|
rcmt2 MACH_SLEDB SLEDB 976
|
||||||
ontrack MACH_ONTRACK ONTRACK 977
|
ontrack MACH_ONTRACK ONTRACK 977
|
||||||
pm1200 MACH_PM1200 PM1200 978
|
pm1200 MACH_PM1200 PM1200 978
|
||||||
ess24562 MACH_ESS24XXX ESS24XXX 979
|
ess24562 MACH_ESS24XXX ESS24XXX 979
|
||||||
|
@ -1022,7 +1022,7 @@ smdk2440 MACH_SMDK2440 SMDK2440 1008
|
||||||
smdk2412 MACH_SMDK2412 SMDK2412 1009
|
smdk2412 MACH_SMDK2412 SMDK2412 1009
|
||||||
webbox MACH_WEBBOX WEBBOX 1010
|
webbox MACH_WEBBOX WEBBOX 1010
|
||||||
cwwndp MACH_CWWNDP CWWNDP 1011
|
cwwndp MACH_CWWNDP CWWNDP 1011
|
||||||
dragon MACH_DRAGON DRAGON 1012
|
i839 MACH_DRAGON DRAGON 1012
|
||||||
opendo_cpu_board MACH_OPENDO_CPU_BOARD OPENDO_CPU_BOARD 1013
|
opendo_cpu_board MACH_OPENDO_CPU_BOARD OPENDO_CPU_BOARD 1013
|
||||||
ccm2200 MACH_CCM2200 CCM2200 1014
|
ccm2200 MACH_CCM2200 CCM2200 1014
|
||||||
etwarm MACH_ETWARM ETWARM 1015
|
etwarm MACH_ETWARM ETWARM 1015
|
||||||
|
@ -1040,3 +1040,56 @@ edg79524 MACH_EDG79524 EDG79524 1026
|
||||||
ai2410 MACH_AI2410 AI2410 1027
|
ai2410 MACH_AI2410 AI2410 1027
|
||||||
ixp465 MACH_IXP465 IXP465 1028
|
ixp465 MACH_IXP465 IXP465 1028
|
||||||
balloon3 MACH_BALLOON3 BALLOON3 1029
|
balloon3 MACH_BALLOON3 BALLOON3 1029
|
||||||
|
heins MACH_HEINS HEINS 1030
|
||||||
|
mpluseva MACH_MPLUSEVA MPLUSEVA 1031
|
||||||
|
rt042 MACH_RT042 RT042 1032
|
||||||
|
cwiem MACH_CWIEM CWIEM 1033
|
||||||
|
cm_x270 MACH_CM_X270 CM_X270 1034
|
||||||
|
cm_x255 MACH_CM_X255 CM_X255 1035
|
||||||
|
esh_at91 MACH_ESH_AT91 ESH_AT91 1036
|
||||||
|
sandgate3 MACH_SANDGATE3 SANDGATE3 1037
|
||||||
|
primo MACH_PRIMO PRIMO 1038
|
||||||
|
gemstone MACH_GEMSTONE GEMSTONE 1039
|
||||||
|
pronghorn_metro MACH_PRONGHORNMETRO PRONGHORNMETRO 1040
|
||||||
|
sidewinder MACH_SIDEWINDER SIDEWINDER 1041
|
||||||
|
picomod1 MACH_PICOMOD1 PICOMOD1 1042
|
||||||
|
sg590 MACH_SG590 SG590 1043
|
||||||
|
akai9307 MACH_AKAI9307 AKAI9307 1044
|
||||||
|
fontaine MACH_FONTAINE FONTAINE 1045
|
||||||
|
wombat MACH_WOMBAT WOMBAT 1046
|
||||||
|
acq300 MACH_ACQ300 ACQ300 1047
|
||||||
|
mod_270 MACH_MOD_270 MOD_270 1048
|
||||||
|
vmc_vc0820 MACH_VC0820 VC0820 1049
|
||||||
|
ani_aim MACH_ANI_AIM ANI_AIM 1050
|
||||||
|
jellyfish MACH_JELLYFISH JELLYFISH 1051
|
||||||
|
amanita MACH_AMANITA AMANITA 1052
|
||||||
|
vlink MACH_VLINK VLINK 1053
|
||||||
|
dexflex MACH_DEXFLEX DEXFLEX 1054
|
||||||
|
eigen_ttq MACH_EIGEN_TTQ EIGEN_TTQ 1055
|
||||||
|
arcom_titan MACH_ARCOM_TITAN ARCOM_TITAN 1056
|
||||||
|
tabla MACH_TABLA TABLA 1057
|
||||||
|
mdirac3 MACH_MDIRAC3 MDIRAC3 1058
|
||||||
|
mrhfbp2 MACH_MRHFBP2 MRHFBP2 1059
|
||||||
|
at91rm9200rb MACH_AT91RM9200RB AT91RM9200RB 1060
|
||||||
|
ani_apm MACH_ANI_APM ANI_APM 1061
|
||||||
|
ella1 MACH_ELLA1 ELLA1 1062
|
||||||
|
inhand_pxa27x MACH_INHAND_PXA27X INHAND_PXA27X 1063
|
||||||
|
inhand_pxa25x MACH_INHAND_PXA25X INHAND_PXA25X 1064
|
||||||
|
empos_xm MACH_EMPOS_XM EMPOS_XM 1065
|
||||||
|
empos MACH_EMPOS EMPOS 1066
|
||||||
|
empos_tiny MACH_EMPOS_TINY EMPOS_TINY 1067
|
||||||
|
empos_sm MACH_EMPOS_SM EMPOS_SM 1068
|
||||||
|
egret MACH_EGRET EGRET 1069
|
||||||
|
ostrich MACH_OSTRICH OSTRICH 1070
|
||||||
|
n50 MACH_N50 N50 1071
|
||||||
|
ecbat91 MACH_ECBAT91 ECBAT91 1072
|
||||||
|
stareast MACH_STAREAST STAREAST 1073
|
||||||
|
dspg_dw MACH_DSPG_DW DSPG_DW 1074
|
||||||
|
onearm MACH_ONEARM ONEARM 1075
|
||||||
|
mrg110_6 MACH_MRG110_6 MRG110_6 1076
|
||||||
|
wrt300nv2 MACH_WRT300NV2 WRT300NV2 1077
|
||||||
|
xm_bulverde MACH_XM_BULVERDE XM_BULVERDE 1078
|
||||||
|
msm6100 MACH_MSM6100 MSM6100 1079
|
||||||
|
eti_b1 MACH_ETI_B1 ETI_B1 1080
|
||||||
|
za9l_series MACH_ZILOG_ZA9L ZILOG_ZA9L 1081
|
||||||
|
bit2440 MACH_BIT2440 BIT2440 1082
|
||||||
|
|
|
@ -420,8 +420,10 @@ static int ucb1x00_detect_irq(struct ucb1x00 *ucb)
|
||||||
unsigned long mask;
|
unsigned long mask;
|
||||||
|
|
||||||
mask = probe_irq_on();
|
mask = probe_irq_on();
|
||||||
if (!mask)
|
if (!mask) {
|
||||||
|
probe_irq_off(mask);
|
||||||
return NO_IRQ;
|
return NO_IRQ;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Enable the ADC interrupt.
|
* Enable the ADC interrupt.
|
||||||
|
|
|
@ -55,30 +55,6 @@
|
||||||
#define PLD(code...)
|
#define PLD(code...)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define MODE_USR USR_MODE
|
|
||||||
#define MODE_FIQ FIQ_MODE
|
|
||||||
#define MODE_IRQ IRQ_MODE
|
|
||||||
#define MODE_SVC SVC_MODE
|
|
||||||
|
|
||||||
#define DEFAULT_FIQ MODE_FIQ
|
|
||||||
|
|
||||||
/*
|
|
||||||
* LOADREGS - ldm with PC in register list (eg, ldmfd sp!, {pc})
|
|
||||||
*/
|
|
||||||
#ifdef __STDC__
|
|
||||||
#define LOADREGS(cond, base, reglist...)\
|
|
||||||
ldm##cond base,reglist
|
|
||||||
#else
|
|
||||||
#define LOADREGS(cond, base, reglist...)\
|
|
||||||
ldm/**/cond base,reglist
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Build a return instruction for this processor type.
|
|
||||||
*/
|
|
||||||
#define RETINSTR(instr, regs...)\
|
|
||||||
instr regs
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Enable and disable interrupts
|
* Enable and disable interrupts
|
||||||
*/
|
*/
|
||||||
|
@ -117,18 +93,6 @@
|
||||||
msr cpsr_c, \oldcpsr
|
msr cpsr_c, \oldcpsr
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
/*
|
|
||||||
* These two are used to save LR/restore PC over a user-based access.
|
|
||||||
* The old 26-bit architecture requires that we do. On 32-bit
|
|
||||||
* architecture, we can safely ignore this requirement.
|
|
||||||
*/
|
|
||||||
.macro save_lr
|
|
||||||
.endm
|
|
||||||
|
|
||||||
.macro restore_pc
|
|
||||||
mov pc, lr
|
|
||||||
.endm
|
|
||||||
|
|
||||||
#define USER(x...) \
|
#define USER(x...) \
|
||||||
9999: x; \
|
9999: x; \
|
||||||
.section __ex_table,"a"; \
|
.section __ex_table,"a"; \
|
||||||
|
|
Loading…
Reference in New Issue