Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
0676fc12
Commit
0676fc12
authored
Nov 04, 2005
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge master.kernel.org:/home/rmk/linux-2.6-arm
parents
912cbe3c
d56c524a
Changes
30
Show whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
466 additions
and
1043 deletions
+466
-1043
arch/arm/Kconfig
arch/arm/Kconfig
+1
-2
arch/arm/Makefile
arch/arm/Makefile
+2
-1
arch/arm/boot/compressed/head.S
arch/arm/boot/compressed/head.S
+1
-2
arch/arm/configs/ixdp2401_defconfig
arch/arm/configs/ixdp2401_defconfig
+2
-2
arch/arm/configs/ixdp2801_defconfig
arch/arm/configs/ixdp2801_defconfig
+1
-1
arch/arm/configs/realview_defconfig
arch/arm/configs/realview_defconfig
+161
-269
arch/arm/lib/bitops.h
arch/arm/lib/bitops.h
+1
-1
arch/arm/lib/uaccess.S
arch/arm/lib/uaccess.S
+16
-116
arch/arm/mach-clps711x/Kconfig
arch/arm/mach-clps711x/Kconfig
+0
-11
arch/arm/mach-clps711x/Makefile
arch/arm/mach-clps711x/Makefile
+0
-1
arch/arm/mach-clps711x/edb7211-mm.c
arch/arm/mach-clps711x/edb7211-mm.c
+4
-4
arch/arm/mach-clps711x/mp1000-mach.c
arch/arm/mach-clps711x/mp1000-mach.c
+0
-49
arch/arm/mach-clps711x/mp1000-mm.c
arch/arm/mach-clps711x/mp1000-mm.c
+0
-47
arch/arm/mach-clps711x/mp1000-seprom.c
arch/arm/mach-clps711x/mp1000-seprom.c
+0
-195
arch/arm/mach-ixp2000/core.c
arch/arm/mach-ixp2000/core.c
+46
-0
arch/arm/mach-ixp2000/enp2611.c
arch/arm/mach-ixp2000/enp2611.c
+6
-6
arch/arm/mach-pxa/lubbock.c
arch/arm/mach-pxa/lubbock.c
+80
-0
arch/arm/mach-pxa/mainstone.c
arch/arm/mach-pxa/mainstone.c
+88
-2
arch/arm/mm/Kconfig
arch/arm/mm/Kconfig
+12
-0
arch/arm/mm/mm-armv.c
arch/arm/mm/mm-armv.c
+4
-4
drivers/char/nvram.c
drivers/char/nvram.c
+1
-109
drivers/net/Kconfig
drivers/net/Kconfig
+1
-1
drivers/net/cs89x0.c
drivers/net/cs89x0.c
+1
-13
drivers/net/cs89x0.h
drivers/net/cs89x0.h
+1
-1
drivers/serial/clps711x.c
drivers/serial/clps711x.c
+0
-9
include/asm-arm/arch-clps711x/hardware.h
include/asm-arm/arch-clps711x/hardware.h
+0
-117
include/asm-arm/arch-clps711x/mp1000-seprom.h
include/asm-arm/arch-clps711x/mp1000-seprom.h
+0
-77
include/asm-arm/arch-iop3xx/iop321.h
include/asm-arm/arch-iop3xx/iop321.h
+1
-1
include/asm-arm/arch-ixp2000/irqs.h
include/asm-arm/arch-ixp2000/irqs.h
+34
-1
include/asm-arm/mmu_context.h
include/asm-arm/mmu_context.h
+2
-1
No files found.
arch/arm/Kconfig
View file @
0676fc12
...
...
@@ -704,8 +704,7 @@ source "drivers/acorn/block/Kconfig"
if PCMCIA || ARCH_CLPS7500 || ARCH_IOP3XX || ARCH_IXP4XX \
|| ARCH_L7200 || ARCH_LH7A40X || ARCH_PXA || ARCH_RPC \
|| ARCH_S3C2410 || ARCH_SA1100 || ARCH_SHARK || FOOTBRIDGE \
|| MACH_MP1000
|| ARCH_S3C2410 || ARCH_SA1100 || ARCH_SHARK || FOOTBRIDGE
source "drivers/ide/Kconfig"
endif
...
...
arch/arm/Makefile
View file @
0676fc12
...
...
@@ -38,6 +38,7 @@ comma = ,
# macro, but instead defines a whole series of macros which makes
# testing for a specific architecture or later rather impossible.
arch-$(CONFIG_CPU_32v6)
:=
-D__LINUX_ARM_ARCH__
=
6
$(
call
cc-option,-march
=
armv6,-march
=
armv5t
-Wa
$(comma)
-march
=
armv6
)
arch-$(CONFIG_CPU_32v6K)
:=
-D__LINUX_ARM_ARCH__
=
6
$(
call
cc-option,-march
=
armv6k,-march
=
armv5t
-Wa
$(comma)
-march
=
armv6k
)
arch-$(CONFIG_CPU_32v5)
:=
-D__LINUX_ARM_ARCH__
=
5
$(
call
cc-option,-march
=
armv5te,-march
=
armv4
)
arch-$(CONFIG_CPU_32v4)
:=
-D__LINUX_ARM_ARCH__
=
4
-march
=
armv4
arch-$(CONFIG_CPU_32v3)
:=
-D__LINUX_ARM_ARCH__
=
3
-march
=
armv3
...
...
@@ -143,7 +144,7 @@ drivers-$(CONFIG_OPROFILE) += arch/arm/oprofile/
drivers-$(CONFIG_ARCH_CLPS7500)
+=
drivers/acorn/char/
drivers-$(CONFIG_ARCH_L7200)
+=
drivers/acorn/char/
libs-y
+=
arch
/arm/lib/
libs-y
:=
arch
/arm/lib/
$
(
libs-y
)
# Default target when executing plain make
ifeq
($(CONFIG_XIP_KERNEL),y)
...
...
arch/arm/boot/compressed/head.S
View file @
0676fc12
...
...
@@ -39,8 +39,7 @@
defined
(
CONFIG_ARCH_IXP4XX
)
||
\
defined
(
CONFIG_ARCH_IXP2000
)
||
\
defined
(
CONFIG_ARCH_LH7A40X
)
||
\
defined
(
CONFIG_ARCH_OMAP
)
||
\
defined
(
CONFIG_MACH_MP1000
)
defined
(
CONFIG_ARCH_OMAP
)
.
macro
loadsp
,
rb
addruart
\
rb
.
endm
...
...
arch/arm/configs/ixdp2401_defconfig
View file @
0676fc12
...
...
@@ -152,7 +152,7 @@ CONFIG_ALIGNMENT_TRAP=y
#
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_CMDLINE="console=ttyS0,
576
00 root=/dev/nfs ip=bootp mem=64M@0x0 pci=firmware"
CONFIG_CMDLINE="console=ttyS0,
1152
00 root=/dev/nfs ip=bootp mem=64M@0x0 pci=firmware"
# CONFIG_XIP_KERNEL is not set
#
...
...
@@ -560,7 +560,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=
2
CONFIG_SERIAL_8250_NR_UARTS=
3
# CONFIG_SERIAL_8250_EXTENDED is not set
#
...
...
arch/arm/configs/ixdp2801_defconfig
View file @
0676fc12
...
...
@@ -560,7 +560,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=
2
CONFIG_SERIAL_8250_NR_UARTS=
3
# CONFIG_SERIAL_8250_EXTENDED is not set
#
...
...
arch/arm/configs/
mp1000
_defconfig
→
arch/arm/configs/
realview
_defconfig
View file @
0676fc12
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.14-rc
1
#
Fri Sep 16 15:48:13
2005
# Linux kernel version: 2.6.14-rc
2
#
Thu Sep 29 14:50:10
2005
#
CONFIG_ARM=y
CONFIG_MMU=y
...
...
@@ -12,11 +12,9 @@ CONFIG_GENERIC_CALIBRATE_DELAY=y
#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
# CONFIG_CLEAN_COMPILE is not set
CONFIG_BROKEN=y
# CONFIG_EXPERIMENTAL is not set
CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
#
...
...
@@ -24,18 +22,16 @@ CONFIG_INIT_ENV_ARG_LIMIT=32
#
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_SWAP=y
# CONFIG_SWAP is not set
CONFIG_SYSVIPC=y
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
# CONFIG_AUDIT is not set
# CONFIG_HOTPLUG is not set
CONFIG_HOTPLUG=y
CONFIG_KOBJECT_UEVENT=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_IKCONFIG is not set
CONFIG_INITRAMFS_SOURCE=""
CONFIG_EMBEDDED=y
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
...
...
@@ -58,17 +54,15 @@ CONFIG_BASE_SMALL=0
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_OBSOLETE_MODPARM=y
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
# CONFIG_KMOD is not set
#
# System Type
#
# CONFIG_ARCH_CLPS7500 is not set
CONFIG_ARCH_CLPS711X=y
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_ARCH_CO285 is not set
# CONFIG_ARCH_EBSA110 is not set
# CONFIG_ARCH_CAMELOT is not set
...
...
@@ -86,43 +80,43 @@ CONFIG_ARCH_CLPS711X=y
# CONFIG_ARCH_LH7A40X is not set
# CONFIG_ARCH_OMAP is not set
# CONFIG_ARCH_VERSATILE is not set
CONFIG_ARCH_REALVIEW=y
# CONFIG_ARCH_IMX is not set
# CONFIG_ARCH_H720X is not set
# CONFIG_ARCH_AAEC2000 is not set
#
#
CLPS711X/EP721X Implementations
#
RealView platform type
#
# CONFIG_ARCH_AUTCPU12 is not set
# CONFIG_ARCH_CDB89712 is not set
# CONFIG_ARCH_CEIVA is not set
# CONFIG_ARCH_CLEP7312 is not set
# CONFIG_ARCH_EDB7211 is not set
# CONFIG_ARCH_P720T is not set
# CONFIG_ARCH_FORTUNET is not set
CONFIG_MACH_MP1000=y
CONFIG_MP1000_90MHZ=y
CONFIG_MACH_REALVIEW_EB=y
#
# Processor Type
#
CONFIG_CPU_32=y
CONFIG_CPU_ARM
720
T=y
CONFIG_CPU_32v4=y
CONFIG_CPU_
ABRT_LV4T
=y
CONFIG_CPU_
CACHE_V4
=y
CONFIG_CPU_ARM
926
T=y
# CONFIG_CPU_V6 is not set
CONFIG_CPU_
32v5
=y
CONFIG_CPU_
ABRT_EV5TJ
=y
CONFIG_CPU_CACHE_VIVT=y
CONFIG_CPU_COPY_V4W
T
=y
CONFIG_CPU_TLB_V4W
T
=y
CONFIG_CPU_COPY_V4W
B
=y
CONFIG_CPU_TLB_V4W
BI
=y
#
# Processor Features
#
CONFIG_ARM_THUMB=y
# CONFIG_CPU_ICACHE_DISABLE is not set
# CONFIG_CPU_DCACHE_DISABLE is not set
# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
CONFIG_ARM_GIC=y
CONFIG_ICST307=y
#
# Bus support
#
CONFIG_ARM_AMBA=y
CONFIG_ISA_DMA_API=y
#
...
...
@@ -133,14 +127,8 @@ CONFIG_ISA_DMA_API=y
#
# Kernel Features
#
# CONFIG_SMP is not set
CONFIG_PREEMPT=y
# CONFIG_NO_IDLE_HZ is not set
# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_SPARSEMEM_STATIC is not set
...
...
@@ -151,7 +139,7 @@ CONFIG_ALIGNMENT_TRAP=y
#
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_CMDLINE="
console=ttyCL,38400 root=/dev/discs/disc0/part1 ip=any cs89x0_media=rj45
"
CONFIG_CMDLINE="
root=/dev/nfs nfsroot=10.1.69.3:/work/nfsroot ip=dhcp console=ttyAMA0 mem=128M
"
# CONFIG_XIP_KERNEL is not set
#
...
...
@@ -163,14 +151,14 @@ CONFIG_CMDLINE="console=ttyCL,38400 root=/dev/discs/disc0/part1 ip=any cs89x0_me
#
CONFIG_FPE_NWFPE=y
# CONFIG_FPE_NWFPE_XP is not set
# CONFIG_
FPE_FASTFPE
is not set
# CONFIG_
VFP
is not set
#
# Userspace binary formats
#
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_AOUT is not set
CONFIG_BINFMT_MISC=y
# CONFIG_BINFMT_MISC is not set
# CONFIG_ARTHUR is not set
#
...
...
@@ -197,10 +185,9 @@ CONFIG_IP_FIB_HASH=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y
# CONFIG_IP_PNP_RARP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_ARPD is not set
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
...
...
@@ -210,36 +197,14 @@ CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_BIC=y
CONFIG_IPV6=y
# CONFIG_IPV6_PRIVACY is not set
# CONFIG_INET6_AH is not set
# CONFIG_INET6_ESP is not set
# CONFIG_INET6_IPCOMP is not set
# CONFIG_INET6_TUNNEL is not set
# CONFIG_IPV6_TUNNEL is not set
# CONFIG_IPV6 is not set
# CONFIG_NETFILTER is not set
#
# DCCP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_DCCP is not set
#
# SCTP Configuration (EXPERIMENTAL)
#
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_SCHED is not set
# CONFIG_NET_CLS_ROUTE is not set
...
...
@@ -247,7 +212,6 @@ CONFIG_IPV6=y
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_NETFILTER_NETLINK is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
...
...
@@ -269,14 +233,10 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
# Memory Technology Devices (MTD)
#
CONFIG_MTD=y
CONFIG_MTD_DEBUG=y
CONFIG_MTD_DEBUG_VERBOSE=3
# CONFIG_MTD_DEBUG is not set
# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
CONFIG_MTD_REDBOOT_PARTS=m
CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-2
CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y
# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_AFS_PARTS is not set
...
...
@@ -292,45 +252,36 @@ CONFIG_MTD_BLOCK=y
#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=
m
CONFIG_MTD_CFI=
y
# CONFIG_MTD_JEDECPROBE is not set
CONFIG_MTD_GEN_PROBE=m
CONFIG_MTD_CFI_ADV_OPTIONS=y
CONFIG_MTD_CFI_NOSWAP=y
# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
CONFIG_MTD_CFI_GEOMETRY=y
# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_2 is not set
CONFIG_MTD_GEN_PROBE=y
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
# CONFIG_MTD_CFI_I1 is not set
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
# CONFIG_MTD_OTP is not set
CONFIG_MTD_CFI_
INTELEXT=m
# CONFIG_MTD_CFI_AMDSTD is not set
CONFIG_MTD_CFI_INTELEXT=y
CONFIG_MTD_CFI_
AMDSTD=y
CONFIG_MTD_CFI_AMDSTD_RETRY=0
# CONFIG_MTD_CFI_STAA is not set
CONFIG_MTD_CFI_UTIL=
m
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 is not set
# CONFIG_MTD_XIP is not set
#
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
CONFIG_MTD_PHYSMAP=m
CONFIG_MTD_PHYSMAP_START=0x0000000
CONFIG_MTD_PHYSMAP_LEN=0x4000000
CONFIG_MTD_PHYSMAP_BANKWIDTH=2
# CONFIG_MTD_ARM_INTEGRATOR is not set
CONFIG_MTD_EDB7312=m
# CONFIG_MTD_PHYSMAP is not set
CONFIG_MTD_ARM_INTEGRATOR=y
# CONFIG_MTD_EDB7312 is not set
# CONFIG_MTD_PLATRAM is not set
#
...
...
@@ -340,7 +291,6 @@ CONFIG_MTD_EDB7312=m
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_BLKMTD is not set
# CONFIG_MTD_BLOCK2MTD is not set
#
# Disk-On-Chip Device Drivers
...
...
@@ -352,12 +302,7 @@ CONFIG_MTD_EDB7312=m
#
# NAND Flash Device Drivers
#
CONFIG_MTD_NAND=y
# CONFIG_MTD_NAND_VERIFY_WRITE is not set
CONFIG_MTD_NAND_MP1000=y
CONFIG_MTD_NAND_IDS=y
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_NANDSIM is not set
# CONFIG_MTD_NAND is not set
#
# Parallel port support
...
...
@@ -372,52 +317,21 @@ CONFIG_MTD_NAND_IDS=y
# Block devices
#
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_NBD is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=2
CONFIG_BLK_DEV_RAM_SIZE=16384
CONFIG_BLK_DEV_INITRD=y
# CONFIG_BLK_DEV_RAM is not set
CONFIG_BLK_DEV_RAM_COUNT=16
# CONFIG_CDROM_PKTCDVD is not set
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
# CONFIG_IOSCHED_AS is not set
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_IOSCHED_CFQ is not set
# CONFIG_ATA_OVER_ETH is not set
#
# ATA/ATAPI/MFM/RLL support
#
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y
#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_IDE_SATA is not set
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_IDEDISK_MULTI_MODE is not set
# CONFIG_BLK_DEV_IDECD is not set
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_IDE_TASK_IOCTL is not set
#
# IDE chipset support/bugfixes
#
# CONFIG_IDE_GENERIC is not set
CONFIG_IDE_ARM=y
CONFIG_BLK_DEV_IDE_MP1000=y
# CONFIG_BLK_DEV_IDEDMA is not set
# CONFIG_IDEDMA_AUTO is not set
# CONFIG_BLK_DEV_HD is not set
#
# SCSI device support
#
...
...
@@ -427,14 +341,7 @@ CONFIG_BLK_DEV_IDE_MP1000=y
#
# Multi-device support (RAID and LVM)
#
CONFIG_MD=y
# CONFIG_BLK_DEV_MD is not set
CONFIG_BLK_DEV_DM=y
# CONFIG_DM_CRYPT is not set
# CONFIG_DM_SNAPSHOT is not set
# CONFIG_DM_MIRROR is not set
# CONFIG_DM_ZERO is not set
# CONFIG_DM_MULTIPATH is not set
# CONFIG_MD is not set
#
# Fusion MPT device support
...
...
@@ -444,7 +351,6 @@ CONFIG_BLK_DEV_DM=y
#
# IEEE 1394 (FireWire) support
#
# CONFIG_IEEE1394 is not set
#
# I2O device support
...
...
@@ -468,10 +374,9 @@ CONFIG_NETDEVICES=y
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
# CONFIG_MII is not set
# CONFIG_SMC91X is not set
CONFIG_MII=y
CONFIG_SMC91X=y
# CONFIG_DM9000 is not set
CONFIG_CS89x0=y
#
# Ethernet (1000 Mbit)
...
...
@@ -496,8 +401,6 @@ CONFIG_CS89x0=y
# CONFIG_WAN is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
...
...
@@ -514,17 +417,28 @@ CONFIG_INPUT=y
#
# Userland interfaces
#
# CONFIG_INPUT_MOUSEDEV is not set
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
CONFIG_INPUT_EVBUG=y
# CONFIG_INPUT_EVBUG is not set
#
# Input Device Drivers
#
# CONFIG_INPUT_KEYBOARD is not set
# CONFIG_INPUT_MOUSE is not set
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
...
...
@@ -533,8 +447,9 @@ CONFIG_INPUT_EVBUG=y
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_LIBPS2 is not set
# CONFIG_SERIO_SERPORT is not set
CONFIG_SERIO_AMBAKMI=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_GAMEPORT is not set
...
...
@@ -549,21 +464,19 @@ CONFIG_HW_CONSOLE=y
#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=2
# CONFIG_SERIAL_8250_EXTENDED is not set
# CONFIG_SERIAL_8250 is not set
#
# Non-8250 serial port support
#
CONFIG_SERIAL_CLPS711X=y
CONFIG_SERIAL_CLPS711X_CONSOLE=y
# CONFIG_SERIAL_AMBA_PL010 is not set
CONFIG_SERIAL_AMBA_PL011=y
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=
25
6
CONFIG_LEGACY_PTY_COUNT=
1
6
#
# IPMI
...
...
@@ -574,8 +487,8 @@ CONFIG_LEGACY_PTY_COUNT=256
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
CONFIG_NVRAM=y
CONFIG_RTC=y
# CONFIG_NVRAM is not set
# CONFIG_RTC is not set
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
...
...
@@ -596,9 +509,8 @@ CONFIG_RTC=y
#
# Hardware Monitoring support
#
CONFIG_HWMON=y
# CONFIG_HWMON is not set
# CONFIG_HWMON_VID is not set
# CONFIG_HWMON_DEBUG_CHIP is not set
#
# Misc devices
...
...
@@ -621,18 +533,72 @@ CONFIG_HWMON=y
#
# Graphics support
#
# CONFIG_FB is not set
CONFIG_FB=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SOFT_CURSOR=y
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_MODE_HELPERS is not set
# CONFIG_FB_TILEBLITTING is not set
CONFIG_FB_ARMCLCD=y
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_VIRTUAL is not set
#
# Console display driver support
#
# CONFIG_VGA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
#
# Logo configuration
#
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_LOGO_LINUX_CLUT224=y
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
# Sound
#
# CONFIG_SOUND is not set
CONFIG_SOUND=y
#
# Advanced Linux Sound Architecture
#
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
# CONFIG_SND_SEQUENCER is not set
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
#
# Generic devices
#
# CONFIG_SND_DUMMY is not set
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
#
# ALSA ARM devices
#
# CONFIG_SND_ARMAACI is not set
#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set
#
# USB support
...
...
@@ -654,32 +620,17 @@ CONFIG_USB_ARCH_HAS_HCD=y
#
# File systems
#
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
# CONFIG_EXT2_FS_POSIX_ACL is not set
# CONFIG_EXT2_FS_SECURITY is not set
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
# CONFIG_EXT3_FS_POSIX_ACL is not set
# CONFIG_EXT3_FS_SECURITY is not set
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
# CONFIG_REISERFS_FS_XATTR is not set
# CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set
# CONFIG_JBD is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
# CONFIG_FS_POSIX_ACL is not set
# CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_INOTIFY=y
CONFIG_QUOTA=y
# CONFIG_QFMT_V1 is not set
# CONFIG_QFMT_V2 is not set
CONFIG_QUOTACTL=y
# CONFIG_QUOTA is not set
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
...
...
@@ -694,8 +645,11 @@ CONFIG_DNOTIFY=y
#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
# CONFIG_MSDOS_FS is not set
# CONFIG_VFAT_FS is not set
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_NTFS_FS is not set
#
...
...
@@ -704,7 +658,6 @@ CONFIG_DNOTIFY=y
CONFIG_PROC_FS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
# CONFIG_RELAYFS_FS is not set
...
...
@@ -712,22 +665,10 @@ CONFIG_RAMFS=y
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_JFFS_FS is not set
CONFIG_JFFS2_FS=m
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set
CONFIG_CRAMFS=m
# CONFIG_JFFS2_FS is not set
CONFIG_CRAMFS=y
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
...
...
@@ -740,32 +681,16 @@ CONFIG_CRAMFS=m
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
# CONFIG_NFS_V3_ACL is not set
CONFIG_NFS_V4=y
# CONFIG_NFS_DIRECTIO is not set
CONFIG_NFSD=y
CONFIG_NFSD_V3=y
# CONFIG_NFSD_V3_ACL is not set
CONFIG_NFSD_V4=y
CONFIG_NFSD_TCP=y
# CONFIG_NFSD is not set
CONFIG_ROOT_NFS=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
CONFIG_RPCSEC_GSS_KRB5=y
# CONFIG_RPCSEC_GSS_SPKM3 is not set
CONFIG_SMB_FS=m
# CONFIG_SMB_NLS_DEFAULT is not set
CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
# CONFIG_CIFS_XATTR is not set
# CONFIG_CIFS_EXPERIMENTAL is not set
# CONFIG_SMB_FS is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
# CONFIG_9P_FS is not set
#
# Partition Types
...
...
@@ -802,7 +727,7 @@ CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII is not set
# CONFIG_NLS_ISO8859_1 is not set
CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
...
...
@@ -817,35 +742,27 @@ CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set
#
# Profiling support
#
# CONFIG_PROFILING is not set
#
# Kernel hacking
#
CONFIG_PRINTK_TIME=y
# CONFIG_PRINTK_TIME is not set
CONFIG_DEBUG_KERNEL=y
# CONFIG_MAGIC_SYSRQ is not set
CONFIG_MAGIC_SYSRQ=y
CONFIG_LOG_BUF_SHIFT=14
CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_SCHEDSTATS is not set
# CONFIG_DEBUG_SLAB is not set
CONFIG_DEBUG_PREEMPT=y
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_BUGVERBOSE is not set
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_FS is not set
CONFIG_FRAME_POINTER=y
CONFIG_DEBUG_USER=y
CONFIG_DEBUG_WAITQ=y
# CONFIG_DEBUG_WAITQ is not set
CONFIG_DEBUG_ERRORS=y
CONFIG_DEBUG_LL=y
# CONFIG_DEBUG_ICEDCC is not set
# CONFIG_DEBUG_CLPS711X_UART2 is not set
# CONFIG_DEBUG_LL is not set
#
# Security options
...
...
@@ -856,31 +773,7 @@ CONFIG_DEBUG_LL=y
#
# Cryptographic options
#
CONFIG_CRYPTO=y
# CONFIG_CRYPTO_HMAC is not set
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
# CONFIG_CRYPTO_SHA1 is not set
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_TGR192 is not set
CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_AES is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_ARC4 is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_ANUBIS is not set
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_TEST is not set
# CONFIG_CRYPTO is not set
#
# Hardware crypto devices
...
...
@@ -893,5 +786,4 @@ CONFIG_CRYPTO_DES=y
# CONFIG_CRC16 is not set
CONFIG_CRC32=y
# CONFIG_LIBCRC32C is not set
CONFIG_ZLIB_INFLATE=m
CONFIG_ZLIB_DEFLATE=m
CONFIG_ZLIB_INFLATE=y
arch/arm/lib/bitops.h
View file @
0676fc12
#include <linux/config.h>
#if __LINUX_ARM_ARCH__ >= 6 && defined(CONFIG_CPU_
MPCORE
)
#if __LINUX_ARM_ARCH__ >= 6 && defined(CONFIG_CPU_
32v6K
)
.
macro
bitop
,
instr
mov
r2
,
#
1
and
r3
,
r0
,
#
7
@
Get
bit
offset
...
...
arch/arm/lib/uaccess.S
View file @
0676fc12
...
...
@@ -43,8 +43,6 @@ ENTRY(__arch_copy_to_user)
stmfd
sp
!,
{
r2
,
r4
-
r7
,
lr
}
cmp
r2
,
#
4
blt
.
c2u_not_enough
PLD
(
pld
[
r1
,
#
0
]
)
PLD
(
pld
[
r0
,
#
0
]
)
ands
ip
,
r0
,
#
3
bne
.
c2u_dest_not_aligned
.
c2u_dest_aligned
:
...
...
@@ -73,25 +71,13 @@ USER( strt r3, [r0], #4) @ May fault
sub
r2
,
r2
,
ip
subs
ip
,
ip
,
#
32
blt
.
c2u_0rem8lp
PLD
(
pld
[
r1
,
#
28
]
)
PLD
(
pld
[
r0
,
#
28
]
)
PLD
(
subs
ip
,
ip
,
#
64
)
PLD
(
blt
.
c2u_0cpynopld
)
PLD
(
pld
[
r1
,
#
60
]
)
PLD
(
pld
[
r0
,
#
60
]
)
.
c2u_0cpy8lp
:
PLD
(
pld
[
r1
,
#
92
]
)
PLD
(
pld
[
r0
,
#
92
]
)
.
c2u_0cpynopld
:
ldmia
r1
!,
{
r3
-
r6
}
.
c2u_0cpy8lp
:
ldmia
r1
!,
{
r3
-
r6
}
stmia
r0
!,
{
r3
-
r6
}
@
Shouldnt
fault
ldmia
r1
!,
{
r3
-
r6
}
subs
ip
,
ip
,
#
32
stmia
r0
!,
{
r3
-
r6
}
@
Shouldnt
fault
bpl
.
c2u_0cpy8lp
PLD
(
cmn
ip
,
#
64
)
PLD
(
bge
.
c2u_0cpynopld
)
PLD
(
add
ip
,
ip
,
#
64
)
.
c2u_0rem8lp
:
cmn
ip
,
#
16
ldmgeia
r1
!,
{
r3
-
r6
}
...
...
@@ -143,17 +129,8 @@ USER( strt r3, [r0], #4) @ May fault
sub
r2
,
r2
,
ip
subs
ip
,
ip
,
#
16
blt
.
c2u_1rem8lp
PLD
(
pld
[
r1
,
#
12
]
)
PLD
(
pld
[
r0
,
#
12
]
)
PLD
(
subs
ip
,
ip
,
#
32
)
PLD
(
blt
.
c2u_1cpynopld
)
PLD
(
pld
[
r1
,
#
28
]
)
PLD
(
pld
[
r0
,
#
28
]
)
.
c2u_1cpy8lp
:
PLD
(
pld
[
r1
,
#
44
]
)
PLD
(
pld
[
r0
,
#
44
]
)
.
c2u_1cpynopld
:
mov
r3
,
r7
,
pull
#
8
.
c2u_1cpy8lp
:
mov
r3
,
r7
,
pull
#
8
ldmia
r1
!,
{
r4
-
r7
}
subs
ip
,
ip
,
#
16
orr
r3
,
r3
,
r4
,
push
#
24
...
...
@@ -165,9 +142,6 @@ USER( strt r3, [r0], #4) @ May fault
orr
r6
,
r6
,
r7
,
push
#
24
stmia
r0
!,
{
r3
-
r6
}
@
Shouldnt
fault
bpl
.
c2u_1cpy8lp
PLD
(
cmn
ip
,
#
32
)
PLD
(
bge
.
c2u_1cpynopld
)
PLD
(
add
ip
,
ip
,
#
32
)
.
c2u_1rem8lp
:
tst
ip
,
#
8
movne
r3
,
r7
,
pull
#
8
...
...
@@ -210,17 +184,8 @@ USER( strt r3, [r0], #4) @ May fault
sub
r2
,
r2
,
ip
subs
ip
,
ip
,
#
16
blt
.
c2u_2rem8lp
PLD
(
pld
[
r1
,
#
12
]
)
PLD
(
pld
[
r0
,
#
12
]
)
PLD
(
subs
ip
,
ip
,
#
32
)
PLD
(
blt
.
c2u_2cpynopld
)
PLD
(
pld
[
r1
,
#
28
]
)
PLD
(
pld
[
r0
,
#
28
]
)
.
c2u_2cpy8lp
:
PLD
(
pld
[
r1
,
#
44
]
)
PLD
(
pld
[
r0
,
#
44
]
)
.
c2u_2cpynopld
:
mov
r3
,
r7
,
pull
#
16
.
c2u_2cpy8lp
:
mov
r3
,
r7
,
pull
#
16
ldmia
r1
!,
{
r4
-
r7
}
subs
ip
,
ip
,
#
16
orr
r3
,
r3
,
r4
,
push
#
16
...
...
@@ -232,9 +197,6 @@ USER( strt r3, [r0], #4) @ May fault
orr
r6
,
r6
,
r7
,
push
#
16
stmia
r0
!,
{
r3
-
r6
}
@
Shouldnt
fault
bpl
.
c2u_2cpy8lp
PLD
(
cmn
ip
,
#
32
)
PLD
(
bge
.
c2u_2cpynopld
)
PLD
(
add
ip
,
ip
,
#
32
)
.
c2u_2rem8lp
:
tst
ip
,
#
8
movne
r3
,
r7
,
pull
#
16
...
...
@@ -277,17 +239,8 @@ USER( strt r3, [r0], #4) @ May fault
sub
r2
,
r2
,
ip
subs
ip
,
ip
,
#
16
blt
.
c2u_3rem8lp
PLD
(
pld
[
r1
,
#
12
]
)
PLD
(
pld
[
r0
,
#
12
]
)
PLD
(
subs
ip
,
ip
,
#
32
)
PLD
(
blt
.
c2u_3cpynopld
)
PLD
(
pld
[
r1
,
#
28
]
)
PLD
(
pld
[
r0
,
#
28
]
)
.
c2u_3cpy8lp
:
PLD
(
pld
[
r1
,
#
44
]
)
PLD
(
pld
[
r0
,
#
44
]
)
.
c2u_3cpynopld
:
mov
r3
,
r7
,
pull
#
24
.
c2u_3cpy8lp
:
mov
r3
,
r7
,
pull
#
24
ldmia
r1
!,
{
r4
-
r7
}
subs
ip
,
ip
,
#
16
orr
r3
,
r3
,
r4
,
push
#
8
...
...
@@ -299,9 +252,6 @@ USER( strt r3, [r0], #4) @ May fault
orr
r6
,
r6
,
r7
,
push
#
8
stmia
r0
!,
{
r3
-
r6
}
@
Shouldnt
fault
bpl
.
c2u_3cpy8lp
PLD
(
cmn
ip
,
#
32
)
PLD
(
bge
.
c2u_3cpynopld
)
PLD
(
add
ip
,
ip
,
#
32
)
.
c2u_3rem8lp
:
tst
ip
,
#
8
movne
r3
,
r7
,
pull
#
24
...
...
@@ -356,8 +306,6 @@ ENTRY(__arch_copy_from_user)
stmfd
sp
!,
{
r0
,
r2
,
r4
-
r7
,
lr
}
cmp
r2
,
#
4
blt
.
cfu_not_enough
PLD
(
pld
[
r1
,
#
0
]
)
PLD
(
pld
[
r0
,
#
0
]
)
ands
ip
,
r0
,
#
3
bne
.
cfu_dest_not_aligned
.
cfu_dest_aligned
:
...
...
@@ -385,25 +333,13 @@ USER( ldrt r3, [r1], #4)
sub
r2
,
r2
,
ip
subs
ip
,
ip
,
#
32
blt
.
cfu_0rem8lp
PLD
(
pld
[
r1
,
#
28
]
)
PLD
(
pld
[
r0
,
#
28
]
)
PLD
(
subs
ip
,
ip
,
#
64
)
PLD
(
blt
.
cfu_0cpynopld
)
PLD
(
pld
[
r1
,
#
60
]
)
PLD
(
pld
[
r0
,
#
60
]
)
.
cfu_0cpy8lp
:
PLD
(
pld
[
r1
,
#
92
]
)
PLD
(
pld
[
r0
,
#
92
]
)
.
cfu_0cpynopld
:
ldmia
r1
!,
{
r3
-
r6
}
@
Shouldnt
fault
.
cfu_0cpy8lp
:
ldmia
r1
!,
{
r3
-
r6
}
@
Shouldnt
fault
stmia
r0
!,
{
r3
-
r6
}
ldmia
r1
!,
{
r3
-
r6
}
@
Shouldnt
fault
subs
ip
,
ip
,
#
32
stmia
r0
!,
{
r3
-
r6
}
bpl
.
cfu_0cpy8lp
PLD
(
cmn
ip
,
#
64
)
PLD
(
bge
.
cfu_0cpynopld
)
PLD
(
add
ip
,
ip
,
#
64
)
.
cfu_0rem8lp
:
cmn
ip
,
#
16
ldmgeia
r1
!,
{
r3
-
r6
}
@
Shouldnt
fault
...
...
@@ -456,17 +392,8 @@ USER( ldrt r7, [r1], #4) @ May fault
sub
r2
,
r2
,
ip
subs
ip
,
ip
,
#
16
blt
.
cfu_1rem8lp
PLD
(
pld
[
r1
,
#
12
]
)
PLD
(
pld
[
r0
,
#
12
]
)
PLD
(
subs
ip
,
ip
,
#
32
)
PLD
(
blt
.
cfu_1cpynopld
)
PLD
(
pld
[
r1
,
#
28
]
)
PLD
(
pld
[
r0
,
#
28
]
)
.
cfu_1cpy8lp
:
PLD
(
pld
[
r1
,
#
44
]
)
PLD
(
pld
[
r0
,
#
44
]
)
.
cfu_1cpynopld
:
mov
r3
,
r7
,
pull
#
8
.
cfu_1cpy8lp
:
mov
r3
,
r7
,
pull
#
8
ldmia
r1
!,
{
r4
-
r7
}
@
Shouldnt
fault
subs
ip
,
ip
,
#
16
orr
r3
,
r3
,
r4
,
push
#
24
...
...
@@ -478,9 +405,6 @@ USER( ldrt r7, [r1], #4) @ May fault
orr
r6
,
r6
,
r7
,
push
#
24
stmia
r0
!,
{
r3
-
r6
}
bpl
.
cfu_1cpy8lp
PLD
(
cmn
ip
,
#
32
)
PLD
(
bge
.
cfu_1cpynopld
)
PLD
(
add
ip
,
ip
,
#
32
)
.
cfu_1rem8lp
:
tst
ip
,
#
8
movne
r3
,
r7
,
pull
#
8
...
...
@@ -523,17 +447,8 @@ USER( ldrt r7, [r1], #4) @ May fault
sub
r2
,
r2
,
ip
subs
ip
,
ip
,
#
16
blt
.
cfu_2rem8lp
PLD
(
pld
[
r1
,
#
12
]
)
PLD
(
pld
[
r0
,
#
12
]
)
PLD
(
subs
ip
,
ip
,
#
32
)
PLD
(
blt
.
cfu_2cpynopld
)
PLD
(
pld
[
r1
,
#
28
]
)
PLD
(
pld
[
r0
,
#
28
]
)
.
cfu_2cpy8lp
:
PLD
(
pld
[
r1
,
#
44
]
)
PLD
(
pld
[
r0
,
#
44
]
)
.
cfu_2cpynopld
:
mov
r3
,
r7
,
pull
#
16
.
cfu_2cpy8lp
:
mov
r3
,
r7
,
pull
#
16
ldmia
r1
!,
{
r4
-
r7
}
@
Shouldnt
fault
subs
ip
,
ip
,
#
16
orr
r3
,
r3
,
r4
,
push
#
16
...
...
@@ -545,9 +460,6 @@ USER( ldrt r7, [r1], #4) @ May fault
orr
r6
,
r6
,
r7
,
push
#
16
stmia
r0
!,
{
r3
-
r6
}
bpl
.
cfu_2cpy8lp
PLD
(
cmn
ip
,
#
32
)
PLD
(
bge
.
cfu_2cpynopld
)
PLD
(
add
ip
,
ip
,
#
32
)
.
cfu_2rem8lp
:
tst
ip
,
#
8
movne
r3
,
r7
,
pull
#
16
...
...
@@ -590,17 +502,8 @@ USER( ldrt r7, [r1], #4) @ May fault
sub
r2
,
r2
,
ip
subs
ip
,
ip
,
#
16
blt
.
cfu_3rem8lp
PLD
(
pld
[
r1
,
#
12
]
)
PLD
(
pld
[
r0
,
#
12
]
)
PLD
(
subs
ip
,
ip
,
#
32
)
PLD
(
blt
.
cfu_3cpynopld
)
PLD
(
pld
[
r1
,
#
28
]
)
PLD
(
pld
[
r0
,
#
28
]
)
.
cfu_3cpy8lp
:
PLD
(
pld
[
r1
,
#
44
]
)
PLD
(
pld
[
r0
,
#
44
]
)
.
cfu_3cpynopld
:
mov
r3
,
r7
,
pull
#
24
.
cfu_3cpy8lp
:
mov
r3
,
r7
,
pull
#
24
ldmia
r1
!,
{
r4
-
r7
}
@
Shouldnt
fault
orr
r3
,
r3
,
r4
,
push
#
8
mov
r4
,
r4
,
pull
#
24
...
...
@@ -612,9 +515,6 @@ USER( ldrt r7, [r1], #4) @ May fault
stmia
r0
!,
{
r3
-
r6
}
subs
ip
,
ip
,
#
16
bpl
.
cfu_3cpy8lp
PLD
(
cmn
ip
,
#
32
)
PLD
(
bge
.
cfu_3cpynopld
)
PLD
(
add
ip
,
ip
,
#
32
)
.
cfu_3rem8lp
:
tst
ip
,
#
8
movne
r3
,
r7
,
pull
#
24
...
...
arch/arm/mach-clps711x/Kconfig
View file @
0676fc12
...
...
@@ -69,17 +69,6 @@ config EP72XX_ROM_BOOT
You almost surely want to say N here.
config MACH_MP1000
bool "MACH_MP1000"
help
Say Y if you intend to run the kernel on the Comdial MP1000 platform.
config MP1000_90MHZ
bool "MP1000_90MHZ"
depends on MACH_MP1000
help
Say Y if you have the MP1000 configured to be set at 90MHZ rather than 74MHZ
endmenu
endif
arch/arm/mach-clps711x/Makefile
View file @
0676fc12
...
...
@@ -15,7 +15,6 @@ obj-$(CONFIG_ARCH_CDB89712) += cdb89712.o
obj-$(CONFIG_ARCH_CLEP7312)
+=
clep7312.o
obj-$(CONFIG_ARCH_EDB7211)
+=
edb7211-arch.o edb7211-mm.o
obj-$(CONFIG_ARCH_FORTUNET)
+=
fortunet.o
obj-$(CONFIG_MACH_MP1000)
+=
mp1000-mach.o mp1000-mm.o mp1000-seprom.o
obj-$(CONFIG_ARCH_P720T)
+=
p720t.o
leds-$(CONFIG_ARCH_P720T)
+=
p720t-leds.o
obj-$(CONFIG_LEDS)
+=
$
(
leds-y
)
arch/arm/mach-clps711x/edb7211-mm.c
View file @
0676fc12
...
...
@@ -55,22 +55,22 @@ static struct map_desc edb7211_io_desc[] __initdata = {
.
virtual
=
EP7211_VIRT_EXTKBD
,
.
pfn
=
__phys_to_pfn
(
EP7211_PHYS_EXTKBD
),
.
length
=
SZ_1M
,
.
type
-
MT_DEVICE
.
type
=
MT_DEVICE
,
},
{
/* and CS8900A Ethernet chip */
.
virtual
=
EP7211_VIRT_CS8900A
,
.
pfn
=
__phys_to_pfn
(
EP7211_PHYS_CS8900A
),
.
length
=
SZ_1M
,
.
type
=
MT_DEVICE
.
type
=
MT_DEVICE
,
},
{
/* flash banks */
.
virtual
=
EP7211_VIRT_FLASH1
,
.
pfn
=
__phys_to_pfn
(
EP7211_PHYS_FLASH1
),
.
length
=
SZ_8M
,
.
type
=
MT_DEVICE
.
type
=
MT_DEVICE
,
},
{
.
virtual
=
EP7211_VIRT_FLASH2
,
.
pfn
=
__phys_to_pfn
(
EP7211_PHYS_FLASH2
),
.
length
=
SZ_8M
,
.
type
=
MT_DEVICE
.
type
=
MT_DEVICE
,
}
};
...
...
arch/arm/mach-clps711x/mp1000-mach.c
deleted
100644 → 0
View file @
912cbe3c
/*
* linux/arch/arm/mach-mp1000/mp1000.c
*
* Copyright (C) 2005 Comdial Corporation
*
* 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/init.h>
#include <linux/types.h>
#include <linux/string.h>
#include <asm/setup.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/arch/mp1000-seprom.h>
#include "common.h"
extern
void
mp1000_map_io
(
void
);
static
void
__init
mp1000_init
(
void
)
{
seprom_init
();
}
MACHINE_START
(
MP1000
,
"Comdial MP1000"
)
/* Maintainer: Jon Ringle */
.
phys_ram
=
0xc0000000
,
.
phys_io
=
0x80000000
,
.
io_pg_offst
=
((
0xff000000
)
>>
18
)
&
0xfffc
,
.
boot_params
=
0xc0015100
,
.
map_io
=
mp1000_map_io
,
.
init_irq
=
clps711x_init_irq
,
.
init_machine
=
mp1000_init
,
.
timer
=
&
clps711x_timer
,
MACHINE_END
arch/arm/mach-clps711x/mp1000-mm.c
deleted
100644 → 0
View file @
912cbe3c
/*
* linux/arch/arm/mach-mp1000/mm.c
*
* Extra MM routines for the MP1000
*
* Copyright (C) 2005 Comdial Corporation
*
* 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/kernel.h>
#include <linux/init.h>
#include <asm/hardware.h>
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/sizes.h>
#include <asm/mach/map.h>
extern
void
clps711x_map_io
(
void
);
static
struct
map_desc
mp1000_io_desc
[]
__initdata
=
{
{
MP1000_EIO_BASE
,
MP1000_EIO_START
,
MP1000_EIO_SIZE
,
MT_DEVICE
},
{
MP1000_FIO_BASE
,
MP1000_FIO_START
,
MP1000_FIO_SIZE
,
MT_DEVICE
},
{
MP1000_LIO_BASE
,
MP1000_LIO_START
,
MP1000_LIO_SIZE
,
MT_DEVICE
},
{
MP1000_NIO_BASE
,
MP1000_NIO_START
,
MP1000_NIO_SIZE
,
MT_DEVICE
},
{
MP1000_IDE_BASE
,
MP1000_IDE_START
,
MP1000_IDE_SIZE
,
MT_DEVICE
},
{
MP1000_DSP_BASE
,
MP1000_DSP_START
,
MP1000_DSP_SIZE
,
MT_DEVICE
}
};
void
__init
mp1000_map_io
(
void
)
{
clps711x_map_io
();
iotable_init
(
mp1000_io_desc
,
ARRAY_SIZE
(
mp1000_io_desc
));
}
arch/arm/mach-clps711x/mp1000-seprom.c
deleted
100644 → 0
View file @
912cbe3c
/*`
* mp1000-seprom.c
*
* This file contains the Serial EEPROM code for the MP1000 board
*
* Copyright (C) 2005 Comdial Corporation
*
* 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/kernel.h>
#include <linux/init.h>
#include <asm/hardware.h>
#include <asm/hardware/clps7111.h>
#include <asm/arch/mp1000-seprom.h>
/* If SepromInit() can initialize and checksum the seprom successfully, */
/* then it will point seprom_data_ptr at the shadow copy. */
static
eeprom_struct
seprom_data
;
/* shadow copy of seprom content */
eeprom_struct
*
seprom_data_ptr
=
0
;
/* 0 => not initialized */
/*
* Port D Bit 5 is Chip Select for EEPROM
* Port E Bit 0 is Input, Data out from EEPROM
* Port E Bit 1 is Output, Data in to EEPROM
* Port E Bit 2 is Output, CLK to EEPROM
*/
static
char
*
port_d_ptr
=
(
char
*
)(
CLPS7111_VIRT_BASE
+
PDDR
);
static
char
*
port_e_ptr
=
(
char
*
)(
CLPS7111_VIRT_BASE
+
PEDR
);
#define NO_OF_SHORTS 64 // Device is 64 x 16 bits
#define ENABLE_RW 0
#define DISABLE_RW 1
static
inline
void
toggle_seprom_clock
(
void
)
{
*
port_e_ptr
|=
HwPortESepromCLK
;
*
port_e_ptr
&=
~
(
HwPortESepromCLK
);
}
static
inline
void
select_eeprom
(
void
)
{
*
port_d_ptr
|=
HwPortDEECS
;
*
port_e_ptr
&=
~
(
HwPortESepromCLK
);
}
static
inline
void
deselect_eeprom
(
void
)
{
*
port_d_ptr
&=
~
(
HwPortDEECS
);
*
port_e_ptr
&=
~
(
HwPortESepromDIn
);
}
/*
* GetSepromDataPtr - returns pointer to shadow (RAM) copy of seprom
* and returns 0 if seprom is not initialized or
* has a checksum error.
*/
eeprom_struct
*
get_seprom_ptr
(
void
)
{
return
seprom_data_ptr
;
}
unsigned
char
*
get_eeprom_mac_address
(
void
)
{
return
seprom_data_ptr
->
variant
.
eprom_struct
.
mac_Address
;
}
/*
* ReadSProm, Physically reads data from the Serial PROM
*/
static
void
read_sprom
(
short
address
,
int
length
,
eeprom_struct
*
buffer
)
{
short
data
=
COMMAND_READ
|
(
address
&
0x3F
);
short
bit
;
int
i
;
select_eeprom
();
// Clock in 9 bits of the command
for
(
i
=
0
,
bit
=
0x100
;
i
<
9
;
i
++
,
bit
>>=
1
)
{
if
(
data
&
bit
)
*
port_e_ptr
|=
HwPortESepromDIn
;
else
*
port_e_ptr
&=
~
(
HwPortESepromDIn
);
toggle_seprom_clock
();
}
//
// Now read one or more shorts of data from the Seprom
//
while
(
length
--
>
0
)
{
data
=
0
;
// Read 16 bits at a time
for
(
i
=
0
;
i
<
16
;
i
++
)
{
data
<<=
1
;
toggle_seprom_clock
();
data
|=
*
port_e_ptr
&
HwPortESepromDOut
;
}
buffer
->
variant
.
eprom_short_data
[
address
++
]
=
data
;
}
deselect_eeprom
();
return
;
}
/*
* ReadSerialPROM
*
* Input: Pointer to array of 64 x 16 Bits
*
* Output: if no problem reading data is filled in
*/
static
void
read_serial_prom
(
eeprom_struct
*
data
)
{
read_sprom
(
0
,
64
,
data
);
}
//
// Compute Serial EEPROM checksum
//
// Input: Pointer to struct with Eprom data
//
// Output: The computed Eprom checksum
//
static
short
compute_seprom_checksum
(
eeprom_struct
*
data
)
{
short
checksum
=
0
;
int
i
;
for
(
i
=
0
;
i
<
126
;
i
++
)
{
checksum
+=
(
short
)
data
->
variant
.
eprom_byte_data
[
i
];
}
return
((
short
)(
0x5555
-
(
checksum
&
0xFFFF
)));
}
//
// Make sure the data port bits for the SEPROM are correctly initialised
//
void
__init
seprom_init
(
void
)
{
short
checksum
;
// Init Port D
*
(
char
*
)(
CLPS7111_VIRT_BASE
+
PDDDR
)
=
0x0
;
*
(
char
*
)(
CLPS7111_VIRT_BASE
+
PDDR
)
=
0x15
;
// Init Port E
*
(
int
*
)(
CLPS7111_VIRT_BASE
+
PEDDR
)
=
0x06
;
*
(
int
*
)(
CLPS7111_VIRT_BASE
+
PEDR
)
=
0x04
;
//
// Make sure that EEPROM struct size never exceeds 128 bytes
//
if
(
sizeof
(
eeprom_struct
)
>
128
)
{
panic
(
"Serial PROM struct size > 128, aborting read
\n
"
);
}
read_serial_prom
(
&
seprom_data
);
checksum
=
compute_seprom_checksum
(
&
seprom_data
);
if
(
checksum
!=
seprom_data
.
variant
.
eprom_short_data
[
63
])
{
panic
(
"Serial EEPROM checksum failed
\n
"
);
}
seprom_data_ptr
=
&
seprom_data
;
}
arch/arm/mach-ixp2000/core.c
View file @
0676fc12
...
...
@@ -402,6 +402,40 @@ static void ixp2000_pci_irq_unmask(unsigned int irq)
ixp2000_reg_write
(
IXP2000_PCI_XSCALE_INT_ENABLE
,
(
temp
|
(
1
<<
27
)));
}
/*
* Error interrupts. These are used extensively by the microengine drivers
*/
static
void
ixp2000_err_irq_handler
(
unsigned
int
irq
,
struct
irqdesc
*
desc
,
struct
pt_regs
*
regs
)
{
int
i
;
unsigned
long
status
=
*
IXP2000_IRQ_ERR_STATUS
;
for
(
i
=
31
;
i
>=
0
;
i
--
)
{
if
(
status
&
(
1
<<
i
))
{
desc
=
irq_desc
+
IRQ_IXP2000_DRAM0_MIN_ERR
+
i
;
desc
->
handle
(
IRQ_IXP2000_DRAM0_MIN_ERR
+
i
,
desc
,
regs
);
}
}
}
static
void
ixp2000_err_irq_mask
(
unsigned
int
irq
)
{
ixp2000_reg_write
(
IXP2000_IRQ_ERR_ENABLE_CLR
,
(
1
<<
(
irq
-
IRQ_IXP2000_DRAM0_MIN_ERR
)));
}
static
void
ixp2000_err_irq_unmask
(
unsigned
int
irq
)
{
ixp2000_reg_write
(
IXP2000_IRQ_ERR_ENABLE_SET
,
(
1
<<
(
irq
-
IRQ_IXP2000_DRAM0_MIN_ERR
)));
}
static
struct
irqchip
ixp2000_err_irq_chip
=
{
.
ack
=
ixp2000_err_irq_mask
,
.
mask
=
ixp2000_err_irq_mask
,
.
unmask
=
ixp2000_err_irq_unmask
};
static
struct
irqchip
ixp2000_pci_irq_chip
=
{
.
ack
=
ixp2000_pci_irq_mask
,
.
mask
=
ixp2000_pci_irq_mask
,
...
...
@@ -459,6 +493,18 @@ void __init ixp2000_init_irq(void)
}
else
set_irq_flags
(
irq
,
0
);
}
for
(
irq
=
IRQ_IXP2000_DRAM0_MIN_ERR
;
irq
<=
IRQ_IXP2000_SP_INT
;
irq
++
)
{
if
((
1
<<
(
irq
-
IRQ_IXP2000_DRAM0_MIN_ERR
))
&
IXP2000_VALID_ERR_IRQ_MASK
)
{
set_irq_chip
(
irq
,
&
ixp2000_err_irq_chip
);
set_irq_handler
(
irq
,
do_level_IRQ
);
set_irq_flags
(
irq
,
IRQF_VALID
);
}
else
set_irq_flags
(
irq
,
0
);
}
set_irq_chained_handler
(
IRQ_IXP2000_ERRSUM
,
ixp2000_err_irq_handler
);
/*
* GPIO IRQs are invalid until someone sets the interrupt mode
* by calling set_irq_type().
...
...
arch/arm/mach-ixp2000/enp2611.c
View file @
0676fc12
...
...
@@ -69,19 +69,19 @@ static struct sys_timer enp2611_timer = {
static
struct
map_desc
enp2611_io_desc
[]
__initdata
=
{
{
.
virtual
=
ENP2611_CALEB_VIRT_BASE
,
.
p
hysical
=
ENP2611_CALEB_PHYS_BASE
,
.
p
fn
=
__phys_to_pfn
(
ENP2611_CALEB_PHYS_BASE
)
,
.
length
=
ENP2611_CALEB_SIZE
,
.
type
=
MT_IXP2000_DEVICE
.
type
=
MT_IXP2000_DEVICE
,
},
{
.
virtual
=
ENP2611_PM3386_0_VIRT_BASE
,
.
p
hysical
=
ENP2611_PM3386_0_PHYS_BASE
,
.
p
fn
=
__phys_to_pfn
(
ENP2611_PM3386_0_PHYS_BASE
)
,
.
length
=
ENP2611_PM3386_0_SIZE
,
.
type
=
MT_IXP2000_DEVICE
.
type
=
MT_IXP2000_DEVICE
,
},
{
.
virtual
=
ENP2611_PM3386_1_VIRT_BASE
,
.
p
hysical
=
ENP2611_PM3386_1_PHYS_BASE
,
.
p
fn
=
__phys_to_pfn
(
ENP2611_PM3386_1_PHYS_BASE
)
,
.
length
=
ENP2611_PM3386_1_SIZE
,
.
type
=
MT_IXP2000_DEVICE
.
type
=
MT_IXP2000_DEVICE
,
}
};
...
...
arch/arm/mach-pxa/lubbock.c
View file @
0676fc12
...
...
@@ -19,16 +19,20 @@
#include <linux/major.h>
#include <linux/fb.h>
#include <linux/interrupt.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h>
#include <asm/setup.h>
#include <asm/memory.h>
#include <asm/mach-types.h>
#include <asm/hardware.h>
#include <asm/irq.h>
#include <asm/sizes.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/irq.h>
#include <asm/mach/flash.h>
#include <asm/hardware/sa1111.h>
...
...
@@ -199,10 +203,75 @@ static struct platform_device smc91x_device = {
.
resource
=
smc91x_resources
,
};
static
struct
resource
flash_resources
[]
=
{
[
0
]
=
{
.
start
=
0x00000000
,
.
end
=
SZ_64M
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
[
1
]
=
{
.
start
=
0x04000000
,
.
end
=
0x04000000
+
SZ_64M
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
};
static
struct
mtd_partition
lubbock_partitions
[]
=
{
{
.
name
=
"Bootloader"
,
.
size
=
0x00040000
,
.
offset
=
0
,
.
mask_flags
=
MTD_WRITEABLE
/* force read-only */
},{
.
name
=
"Kernel"
,
.
size
=
0x00100000
,
.
offset
=
0x00040000
,
},{
.
name
=
"Filesystem"
,
.
size
=
MTDPART_SIZ_FULL
,
.
offset
=
0x00140000
}
};
static
struct
flash_platform_data
lubbock_flash_data
[
2
]
=
{
{
.
map_name
=
"cfi_probe"
,
.
parts
=
lubbock_partitions
,
.
nr_parts
=
ARRAY_SIZE
(
lubbock_partitions
),
},
{
.
map_name
=
"cfi_probe"
,
.
parts
=
NULL
,
.
nr_parts
=
0
,
}
};
static
struct
platform_device
lubbock_flash_device
[
2
]
=
{
{
.
name
=
"pxa2xx-flash"
,
.
id
=
0
,
.
dev
=
{
.
platform_data
=
&
lubbock_flash_data
[
0
],
},
.
resource
=
&
flash_resources
[
0
],
.
num_resources
=
1
,
},
{
.
name
=
"pxa2xx-flash"
,
.
id
=
1
,
.
dev
=
{
.
platform_data
=
&
lubbock_flash_data
[
1
],
},
.
resource
=
&
flash_resources
[
1
],
.
num_resources
=
1
,
},
};
static
struct
platform_device
*
devices
[]
__initdata
=
{
&
sa1111_device
,
&
lub_audio_device
,
&
smc91x_device
,
&
lubbock_flash_device
[
0
],
&
lubbock_flash_device
[
1
],
};
static
struct
pxafb_mach_info
sharp_lm8v31
__initdata
=
{
...
...
@@ -315,10 +384,21 @@ static struct pxaficp_platform_data lubbock_ficp_platform_data = {
static
void
__init
lubbock_init
(
void
)
{
int
flashboot
=
(
LUB_CONF_SWITCHES
&
1
);
pxa_set_udc_info
(
&
udc_info
);
set_pxa_fb_info
(
&
sharp_lm8v31
);
pxa_set_mci_info
(
&
lubbock_mci_platform_data
);
pxa_set_ficp_info
(
&
lubbock_ficp_platform_data
);
lubbock_flash_data
[
0
].
width
=
lubbock_flash_data
[
1
].
width
=
(
BOOT_DEF
&
1
)
?
2
:
4
;
/* Compensate for the nROMBT switch which swaps the flash banks */
printk
(
KERN_NOTICE
"Lubbock configured to boot from %s (bank %d)
\n
"
,
flashboot
?
"Flash"
:
"ROM"
,
flashboot
);
lubbock_flash_data
[
flashboot
^
1
].
name
=
"application-flash"
;
lubbock_flash_data
[
flashboot
].
name
=
"boot-rom"
;
(
void
)
platform_add_devices
(
devices
,
ARRAY_SIZE
(
devices
));
}
...
...
arch/arm/mach-pxa/mainstone.c
View file @
0676fc12
...
...
@@ -20,6 +20,9 @@
#include <linux/sched.h>
#include <linux/bitops.h>
#include <linux/fb.h>
#include <linux/ioport.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h>
#include <asm/types.h>
#include <asm/setup.h>
...
...
@@ -27,10 +30,12 @@
#include <asm/mach-types.h>
#include <asm/hardware.h>
#include <asm/irq.h>
#include <asm/sizes.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <asm/mach/irq.h>
#include <asm/mach/flash.h>
#include <asm/arch/pxa-regs.h>
#include <asm/arch/mainstone.h>
...
...
@@ -190,6 +195,69 @@ static struct platform_device mst_audio_device = {
.
dev
=
{
.
platform_data
=
&
mst_audio_ops
},
};
static
struct
resource
flash_resources
[]
=
{
[
0
]
=
{
.
start
=
PXA_CS0_PHYS
,
.
end
=
PXA_CS0_PHYS
+
SZ_64M
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
[
1
]
=
{
.
start
=
PXA_CS1_PHYS
,
.
end
=
PXA_CS1_PHYS
+
SZ_64M
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
};
static
struct
mtd_partition
mainstoneflash0_partitions
[]
=
{
{
.
name
=
"Bootloader"
,
.
size
=
0x00040000
,
.
offset
=
0
,
.
mask_flags
=
MTD_WRITEABLE
/* force read-only */
},{
.
name
=
"Kernel"
,
.
size
=
0x00400000
,
.
offset
=
0x00040000
,
},{
.
name
=
"Filesystem"
,
.
size
=
MTDPART_SIZ_FULL
,
.
offset
=
0x00440000
}
};
static
struct
flash_platform_data
mst_flash_data
[
2
]
=
{
{
.
map_name
=
"cfi_probe"
,
.
parts
=
mainstoneflash0_partitions
,
.
nr_parts
=
ARRAY_SIZE
(
mainstoneflash0_partitions
),
},
{
.
map_name
=
"cfi_probe"
,
.
parts
=
NULL
,
.
nr_parts
=
0
,
}
};
static
struct
platform_device
mst_flash_device
[
2
]
=
{
{
.
name
=
"pxa2xx-flash"
,
.
id
=
0
,
.
dev
=
{
.
platform_data
=
&
mst_flash_data
[
0
],
},
.
resource
=
&
flash_resources
[
0
],
.
num_resources
=
1
,
},
{
.
name
=
"pxa2xx-flash"
,
.
id
=
1
,
.
dev
=
{
.
platform_data
=
&
mst_flash_data
[
1
],
},
.
resource
=
&
flash_resources
[
1
],
.
num_resources
=
1
,
},
};
static
void
mainstone_backlight_power
(
int
on
)
{
if
(
on
)
{
...
...
@@ -318,16 +386,34 @@ static struct pxaficp_platform_data mainstone_ficp_platform_data = {
.
transceiver_mode
=
mainstone_irda_transceiver_mode
,
};
static
struct
platform_device
*
platform_devices
[]
__initdata
=
{
&
smc91x_device
,
&
mst_audio_device
,
&
mst_flash_device
[
0
],
&
mst_flash_device
[
1
],
};
static
void
__init
mainstone_init
(
void
)
{
int
SW7
=
0
;
/* FIXME: get from SCR (Mst doc section 3.2.1.1) */
mst_flash_data
[
0
].
width
=
(
BOOT_DEF
&
1
)
?
2
:
4
;
mst_flash_data
[
1
].
width
=
4
;
/* Compensate for SW7 which swaps the flash banks */
mst_flash_data
[
SW7
].
name
=
"processor-flash"
;
mst_flash_data
[
SW7
^
1
].
name
=
"mainboard-flash"
;
printk
(
KERN_NOTICE
"Mainstone configured to boot from %s
\n
"
,
mst_flash_data
[
0
].
name
);
/*
* On Mainstone, we route AC97_SYSCLK via GPIO45 to
* the audio daughter card
*/
pxa_gpio_mode
(
GPIO45_SYSCLK_AC97_MD
);
platform_device_register
(
&
smc91x_device
);
platform_device_register
(
&
mst_audio_device
);
platform_add_devices
(
platform_devices
,
ARRAY_SIZE
(
platform_devices
));
/* reading Mainstone's "Virtual Configuration Register"
might be handy to select LCD type here */
...
...
arch/arm/mm/Kconfig
View file @
0676fc12
...
...
@@ -250,6 +250,18 @@ config CPU_V6
select CPU_COPY_V6
select CPU_TLB_V6
# ARMv6k
config CPU_32v6K
bool "Support ARM V6K processor extensions" if !SMP
depends on CPU_V6
default y if SMP
help
Say Y here if your ARMv6 processor supports the 'K' extension.
This enables the kernel to use some instructions not present
on previous processors, and as such a kernel build with this
enabled will not boot on processors with do not support these
instructions.
# Figure out what processor architecture version we should be using.
# This defines the compiler instruction set which depends on the machine type.
config CPU_32v3
...
...
arch/arm/mm/mm-armv.c
View file @
0676fc12
...
...
@@ -469,14 +469,14 @@ void __init create_mapping(struct map_desc *md)
if
(
md
->
virtual
!=
vectors_base
()
&&
md
->
virtual
<
TASK_SIZE
)
{
printk
(
KERN_WARNING
"BUG: not creating mapping for "
"0x%0
16
llx at 0x%08lx in user region
\n
"
,
"0x%0
8
llx at 0x%08lx in user region
\n
"
,
__pfn_to_phys
((
u64
)
md
->
pfn
),
md
->
virtual
);
return
;
}
if
((
md
->
type
==
MT_DEVICE
||
md
->
type
==
MT_ROM
)
&&
md
->
virtual
>=
PAGE_OFFSET
&&
md
->
virtual
<
VMALLOC_END
)
{
printk
(
KERN_WARNING
"BUG: mapping for 0x%0
16
llx at 0x%08lx "
printk
(
KERN_WARNING
"BUG: mapping for 0x%0
8
llx at 0x%08lx "
"overlaps vmalloc space
\n
"
,
__pfn_to_phys
((
u64
)
md
->
pfn
),
md
->
virtual
);
}
...
...
@@ -492,14 +492,14 @@ void __init create_mapping(struct map_desc *md)
if
(
md
->
pfn
>=
0x100000
)
{
if
(
domain
)
{
printk
(
KERN_ERR
"MM: invalid domain in supersection "
"mapping for 0x%0
16
llx at 0x%08lx
\n
"
,
"mapping for 0x%0
8
llx at 0x%08lx
\n
"
,
__pfn_to_phys
((
u64
)
md
->
pfn
),
md
->
virtual
);
return
;
}
if
((
md
->
virtual
|
md
->
length
|
__pfn_to_phys
(
md
->
pfn
))
&
~
SUPERSECTION_MASK
)
{
printk
(
KERN_ERR
"MM: cannot create mapping for "
"0x%0
16
llx at 0x%08lx invalid alignment
\n
"
,
"0x%0
8
llx at 0x%08lx invalid alignment
\n
"
,
__pfn_to_phys
((
u64
)
md
->
pfn
),
md
->
virtual
);
return
;
}
...
...
drivers/char/nvram.c
View file @
0676fc12
...
...
@@ -32,11 +32,9 @@
* added changelog
* 1.2 Erik Gilling: Cobalt Networks support
* Tim Hockin: general cleanup, Cobalt support
* 1.3 Jon Ringle: Comdial MP1000 support
*
*/
#define NVRAM_VERSION "1.
3
"
#define NVRAM_VERSION "1.
2
"
#include <linux/module.h>
#include <linux/config.h>
...
...
@@ -47,7 +45,6 @@
#define PC 1
#define ATARI 2
#define COBALT 3
#define MP1000 4
/* select machine configuration */
#if defined(CONFIG_ATARI)
...
...
@@ -57,9 +54,6 @@
# if defined(CONFIG_COBALT)
# include <linux/cobalt-nvram.h>
# define MACH COBALT
# elif defined(CONFIG_MACH_MP1000)
# undef MACH
# define MACH MP1000
# else
# define MACH PC
# endif
...
...
@@ -118,23 +112,6 @@
#endif
#if MACH == MP1000
/* RTC in a MP1000 */
#define CHECK_DRIVER_INIT() 1
#define MP1000_CKS_RANGE_START 0
#define MP1000_CKS_RANGE_END 111
#define MP1000_CKS_LOC 112
#define NVRAM_BYTES (128-NVRAM_FIRST_BYTE)
#define mach_check_checksum mp1000_check_checksum
#define mach_set_checksum mp1000_set_checksum
#define mach_proc_infos mp1000_proc_infos
#endif
/* Note that *all* calls to CMOS_READ and CMOS_WRITE must be done with
* rtc_lock held. Due to the index-port/data-port design of the RTC, we
* don't want two different things trying to get to it at once. (e.g. the
...
...
@@ -938,91 +915,6 @@ atari_proc_infos(unsigned char *nvram, char *buffer, int *len,
#endif
/* MACH == ATARI */
#if MACH == MP1000
static
int
mp1000_check_checksum
(
void
)
{
int
i
;
unsigned
short
sum
=
0
;
unsigned
short
expect
;
for
(
i
=
MP1000_CKS_RANGE_START
;
i
<=
MP1000_CKS_RANGE_END
;
++
i
)
sum
+=
__nvram_read_byte
(
i
);
expect
=
__nvram_read_byte
(
MP1000_CKS_LOC
+
1
)
<<
8
|
__nvram_read_byte
(
MP1000_CKS_LOC
);
return
((
sum
&
0xffff
)
==
expect
);
}
static
void
mp1000_set_checksum
(
void
)
{
int
i
;
unsigned
short
sum
=
0
;
for
(
i
=
MP1000_CKS_RANGE_START
;
i
<=
MP1000_CKS_RANGE_END
;
++
i
)
sum
+=
__nvram_read_byte
(
i
);
__nvram_write_byte
(
sum
>>
8
,
MP1000_CKS_LOC
+
1
);
__nvram_write_byte
(
sum
&
0xff
,
MP1000_CKS_LOC
);
}
#ifdef CONFIG_PROC_FS
#define SERVER_N_LEN 32
#define PATH_N_LEN 32
#define FILE_N_LEN 32
#define NVRAM_MAGIC_SIG 0xdead
typedef
struct
NvRamImage
{
unsigned
short
int
magic
;
unsigned
short
int
mode
;
char
fname
[
FILE_N_LEN
];
char
path
[
PATH_N_LEN
];
char
server
[
SERVER_N_LEN
];
char
pad
[
12
];
}
NvRam
;
static
int
mp1000_proc_infos
(
unsigned
char
*
nvram
,
char
*
buffer
,
int
*
len
,
off_t
*
begin
,
off_t
offset
,
int
size
)
{
int
checksum
;
NvRam
*
nv
=
(
NvRam
*
)
nvram
;
spin_lock_irq
(
&
rtc_lock
);
checksum
=
__nvram_check_checksum
();
spin_unlock_irq
(
&
rtc_lock
);
PRINT_PROC
(
"Checksum status: %svalid
\n
"
,
checksum
?
""
:
"not "
);
switch
(
nv
->
mode
)
{
case
0
:
PRINT_PROC
(
"
\t
Mode 0, tftp prompt
\n
"
);
break
;
case
1
:
PRINT_PROC
(
"
\t
Mode 1, booting from disk
\n
"
);
break
;
case
2
:
PRINT_PROC
(
"
\t
Mode 2, Alternate boot from disk /boot/%s
\n
"
,
nv
->
fname
);
break
;
case
3
:
PRINT_PROC
(
"
\t
Mode 3, Booting from net:
\n
"
);
PRINT_PROC
(
"
\t\t
%s:%s%s
\n
"
,
nv
->
server
,
nv
->
path
,
nv
->
fname
);
break
;
default:
PRINT_PROC
(
"
\t
Inconsistant nvram?
\n
"
);
break
;
}
return
1
;
}
#endif
#endif
/* MACH == MP1000 */
MODULE_LICENSE
(
"GPL"
);
EXPORT_SYMBOL
(
__nvram_read_byte
);
...
...
drivers/net/Kconfig
View file @
0676fc12
...
...
@@ -1374,7 +1374,7 @@ config FORCEDETH
config CS89x0
tristate "CS89x0 support"
depends on (NET_PCI && (ISA || ARCH_IXDP2X01)) || ARCH_PNX0105
|| MACH_MP1000
depends on (NET_PCI && (ISA || ARCH_IXDP2X01)) || ARCH_PNX0105
---help---
Support for CS89x0 chipset based Ethernet cards. If you have a
network (Ethernet) card of this type, say Y and read the
...
...
drivers/net/cs89x0.c
View file @
0676fc12
...
...
@@ -182,10 +182,6 @@ static unsigned int cs8900_irq_map[] = {IRQ_IXDP2X01_CS8900, 0, 0, 0};
#define CIRRUS_DEFAULT_IRQ VH_INTC_INT_NUM_CASCADED_INTERRUPT_1
/* Event inputs bank 1 - ID 35/bit 3 */
static
unsigned
int
netcard_portlist
[]
__initdata
=
{
CIRRUS_DEFAULT_BASE
,
0
};
static
unsigned
int
cs8900_irq_map
[]
=
{
CIRRUS_DEFAULT_IRQ
,
0
,
0
,
0
};
#elif defined(CONFIG_MACH_MP1000)
#include <asm/arch/mp1000-seprom.h>
static
unsigned
int
netcard_portlist
[]
__initdata
=
{
MP1000_EIO_BASE
+
0x300
,
0
};
static
unsigned
int
cs8900_irq_map
[]
=
{
IRQ_EINT3
,
0
,
0
,
0
};
#else
static
unsigned
int
netcard_portlist
[]
__initdata
=
{
0x300
,
0x320
,
0x340
,
0x360
,
0x200
,
0x220
,
0x240
,
0x260
,
0x280
,
0x2a0
,
0x2c0
,
0x2e0
,
0
};
...
...
@@ -594,10 +590,6 @@ cs89x0_probe1(struct net_device *dev, int ioaddr, int modular)
cnt
-=
j
;
}
}
else
#elif defined(CONFIG_MACH_MP1000)
if
(
1
)
{
memcpy
(
dev
->
dev_addr
,
get_eeprom_mac_address
(),
ETH_ALEN
);
}
else
#endif
if
((
readreg
(
dev
,
PP_SelfST
)
&
(
EEPROM_OK
|
EEPROM_PRESENT
))
==
...
...
@@ -657,10 +649,6 @@ cs89x0_probe1(struct net_device *dev, int ioaddr, int modular)
if
(
1
)
{
printk
(
KERN_NOTICE
"cs89x0: No EEPROM on HiCO.SH4
\n
"
);
}
else
#elif defined(CONFIG_MACH_MP1000)
if
(
1
)
{
lp
->
force
|=
FORCE_RJ45
;
}
else
#endif
if
((
readreg
(
dev
,
PP_SelfST
)
&
EEPROM_PRESENT
)
==
0
)
printk
(
KERN_WARNING
"cs89x0: No EEPROM, relying on command line....
\n
"
);
...
...
@@ -1243,7 +1231,7 @@ net_open(struct net_device *dev)
else
#endif
{
#if !defined(CONFIG_ARCH_IXDP2X01) && !defined(CONFIG_ARCH_PNX0105)
&& !defined(CONFIG_MACH_MP1000)
#if !defined(CONFIG_ARCH_IXDP2X01) && !defined(CONFIG_ARCH_PNX0105)
if
(((
1
<<
dev
->
irq
)
&
lp
->
irq_map
)
==
0
)
{
printk
(
KERN_ERR
"%s: IRQ %d is not in our map of allowable IRQs, which is %x
\n
"
,
dev
->
name
,
dev
->
irq
,
lp
->
irq_map
);
...
...
drivers/net/cs89x0.h
View file @
0676fc12
...
...
@@ -16,7 +16,7 @@
#include <linux/config.h>
#if defined(CONFIG_ARCH_IXDP2X01) || defined(CONFIG_ARCH_PNX0105)
|| defined (CONFIG_MACH_MP1000)
#if defined(CONFIG_ARCH_IXDP2X01) || defined(CONFIG_ARCH_PNX0105)
/* IXDP2401/IXDP2801 uses dword-aligned register addressing */
#define CS89x0_PORT(reg) ((reg) * 2)
#else
...
...
drivers/serial/clps711x.c
View file @
0676fc12
...
...
@@ -408,11 +408,7 @@ static struct uart_port clps711x_ports[UART_NR] = {
{
.
iobase
=
SYSCON1
,
.
irq
=
IRQ_UTXINT1
,
/* IRQ_URXINT1, IRQ_UMSINT */
#ifdef CONFIG_MP1000_90MHZ
.
uartclk
=
4515840
,
#else
.
uartclk
=
3686400
,
#endif
.
fifosize
=
16
,
.
ops
=
&
clps711x_pops
,
.
line
=
0
,
...
...
@@ -421,11 +417,7 @@ static struct uart_port clps711x_ports[UART_NR] = {
{
.
iobase
=
SYSCON2
,
.
irq
=
IRQ_UTXINT2
,
/* IRQ_URXINT2 */
#ifdef CONFIG_MP1000_90MHZ
.
uartclk
=
4515840
,
#else
.
uartclk
=
3686400
,
#endif
.
fifosize
=
16
,
.
ops
=
&
clps711x_pops
,
.
line
=
1
,
...
...
@@ -559,7 +551,6 @@ console_initcall(clps711xuart_console_init);
static
struct
uart_driver
clps711x_reg
=
{
.
driver_name
=
"ttyCL"
,
.
dev_name
=
"ttyCL"
,
.
devfs_name
=
"ttyCL"
,
.
major
=
SERIAL_CLPS711X_MAJOR
,
.
minor
=
SERIAL_CLPS711X_MINOR
,
.
nr
=
UART_NR
,
...
...
include/asm-arm/arch-clps711x/hardware.h
View file @
0676fc12
...
...
@@ -235,121 +235,4 @@
#define CEIVA_PB0_BLK_BTN (1<<0)
#endif // #if defined (CONFIG_ARCH_CEIVA)
#if defined (CONFIG_MACH_MP1000)
/* NOR FLASH */
#define MP1000_NIO_BASE 0xf9000000
/* virtual */
#define MP1000_NIO_START CS0_PHYS_BASE
/* physical */
#define MP1000_NIO_SIZE 0x00400000
/* DSP Interface */
#define MP1000_DSP_BASE 0xfa000000
/* virtual */
#define MP1000_DSP_START CS1_PHYS_BASE
/* physical */
#define MP1000_DSP_SIZE 0x00100000
/* LCD, DAA/DSP, RTC, DAA RW Reg all in CS2 */
#define MP1000_LIO_BASE 0xfb000000
/* virtual */
#define MP1000_LIO_START CS2_PHYS_BASE
/* physical */
#define MP1000_LIO_SIZE 0x00100000
/* NAND FLASH */
#define MP1000_FIO_BASE 0xfc000000
/* virtual */
#define MP1000_FIO_START CS3_PHYS_BASE
/* physical */
#define MP1000_FIO_SIZE 0x00800000
/* Ethernet */
#define MP1000_EIO_BASE 0xfd000000
/* virtual */
#define MP1000_EIO_START CS4_PHYS_BASE
/* physical */
#define MP1000_EIO_SIZE 0x00100000
#define MP1000_LCD_OFFSET 0x00000000
/* LCD offset in CS2 */
#define MP1000_DDD_OFFSET 0x00001000
/* DAA/DAI/DSP sft reset offst*/
#define MP1000_RTC_OFFSET 0x00002000
/* RTC offset in CS2 */
#define MP1000_DAA_OFFSET 0x00003000
/* DAA RW reg offset in CS2 */
/* IDE */
#define MP1000_IDE_BASE 0xfe000000
/* virtual */
#define MP1000_IDE_START CS5_PHYS_BASE
/* physical */
#define MP1000_IDE_SIZE 0x00100000
/* actually it's only 0x1000 */
#define IRQ_HARDDISK IRQ_EINT2
/*
* IDE registers definition
*/
#define IDE_CONTROL_BASE (MP1000_IDE_BASE + 0x1000)
#define IDE_BASE_OFF (MP1000_IDE_BASE)
#define IDE_WRITE_DEVICE_DATA (IDE_BASE_OFF + 0x0)
#define IDE_FEATURES_REGISTER (IDE_BASE_OFF + 0x2)
#define IDE_SECTOR_COUNT_REGISTER (IDE_BASE_OFF + 0x4)
#define IDE_SECTOR_NUMBER_REGISTER (IDE_BASE_OFF + 0x6)
#define IDE_CYLINDER_LOW_REGISTER (IDE_BASE_OFF + 0x8)
#define IDE_CYLINDER_HIGH_REGISTER (IDE_BASE_OFF + 0xa)
#define IDE_DEVICE_HEAD_REGISTER (IDE_BASE_OFF + 0xc)
#define IDE_COMMAND_DATA_REGISTER (IDE_BASE_OFF + 0xe)
#define IDE_DEVICE_CONTROL_REGISTER (IDE_CONTROL_BASE + 0xc)
#define IDE_IRQ IRQ_EINT2
#define RTC_PORT(x) (MP1000_LIO_BASE+0x2000 + (x*2))
#define RTC_ALWAYS_BCD 0
/*
// Definitions of the bit fields in the HwPortA register for the
// MP1000 board.
*/
#define HwPortAKeyboardRow1 0x00000001
#define HwPortAKeyboardRow2 0x00000002
#define HwPortAKeyboardRow3 0x00000004
#define HwPortAKeyboardRow4 0x00000008
#define HwPortAKeyboardRow5 0x00000010
#define HwPortAKeyboardRow6 0x00000020
#define HwPortALCDEnable 0x00000040
#define HwPortAOffhook 0x00000080
/*
// Definitions of the bit fields in the HwPortB register for the
// MP1000 board.
*/
#define HwPortBL3Mode 0x00000001
#define HwPortBL3Clk 0x00000002
#define HwPortBSClk 0x00000001
#define HwPortBSData 0x00000002
#define HwPortBL3Data 0x00000004
#define HwPortBMute 0x00000008
#define HwPortBQD0 0x00000010
#define HwPortBQD1 0x00000020
#define HwPortBQD2 0x00000040
#define HwPortBQD3 0x00000080
/*
// Definitions of the bit fields in the HwPortD register for the
// MP1000 board.
*/
#define HwPortDLED1 0x00000001
#define HwPortDLED2 0x00000002
#define HwPortDLED3 0x00000004
#define HwPortDLED4 0x00000008
#define HwPortDLED5 0x00000010
#define HwPortDEECS 0x00000020
#define HwPortBRTS 0x00000040
#define HwPortBRI 0x00000080
/*
// Definitions of the bit fields in the HwPortE register for the
// MP1000 board.
*/
#define HwPortECLE 0x00000001
#define HwPortESepromDOut 0x00000001
#define HwPortEALE 0x00000002
#define HwPortESepromDIn 0x00000002
#define HwPortENANDCS 0x00000004
#define HwPortESepromCLK 0x00000004
#endif // #if defined (CONFIG_MACH_MP1000)
#endif
include/asm-arm/arch-clps711x/mp1000-seprom.h
deleted
100644 → 0
View file @
912cbe3c
#ifndef MP1000_SEPROM_H
#define MP1000_SEPROM_H
/*
* mp1000-seprom.h
*
*
* This file contains the Serial EEPROM definitions for the MP1000 board
*
* Copyright (C) 2005 Comdial Corporation
*
* 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
*
*/
#define COMMAND_ERASE (0x1C0)
#define COMMAND_ERASE_ALL (0x120)
#define COMMAND_WRITE_DISABLE (0x100)
#define COMMAND_WRITE_ENABLE (0x130)
#define COMMAND_READ (0x180)
#define COMMAND_WRITE (0x140)
#define COMMAND_WRITE_ALL (0x110)
//
// Serial EEPROM data format
//
#define PACKED __attribute__ ((packed))
typedef
struct
_EEPROM
{
union
{
unsigned
char
eprom_byte_data
[
128
];
unsigned
short
eprom_short_data
[
64
];
struct
{
unsigned
char
version
PACKED
;
// EEPROM Version "1" for now
unsigned
char
box_id
PACKED
;
// Box ID (Standalone, SOHO, embedded, etc)
unsigned
char
major_hw_version
PACKED
;
// Major Hardware version (Hex)
unsigned
char
minor_hw_version
PACKED
;
// Minor Hardware Version (Hex)
unsigned
char
mfg_id
[
3
]
PACKED
;
// Manufacturer ID (3 character Alphabetic)
unsigned
char
mfg_serial_number
[
10
]
PACKED
;
// Manufacturer Serial number
unsigned
char
mfg_date
[
3
]
PACKED
;
// Date of Mfg (Formatted YY:MM:DD)
unsigned
char
country
PACKED
;
// Country of deployment
unsigned
char
mac_Address
[
6
]
PACKED
;
// MAC Address
unsigned
char
oem_string
[
20
]
PACKED
;
// OEM ID string
unsigned
short
feature_bits1
PACKED
;
// Feature Bits 1
unsigned
short
feature_bits2
PACKED
;
// Feature Bits 2
unsigned
char
filler
[
75
]
PACKED
;
// Unused/Undefined 0 initialized
unsigned
short
checksum
PACKED
;
// byte accumulated short checksum
}
eprom_struct
;
}
variant
;
}
eeprom_struct
;
/* These settings must be mutually exclusive */
#define FEATURE_BITS1_DRAMSIZE_16MEG 0x0001
/* 0 signifies 4 MEG system */
#define FEATURE_BITS1_DRAMSIZE_8MEG 0x0002
/* 1 in bit 1 = 8MEG system */
#define FEATURE_BITS1_DRAMSIZE_64MEG 0x0004
/* 1 in bit 2 = 64MEG system */
#define FEATURE_BITS1_CPUIS90MEG 0x0010
extern
void
seprom_init
(
void
);
extern
eeprom_struct
*
get_seprom_ptr
(
void
);
extern
unsigned
char
*
get_eeprom_mac_address
(
void
);
#endif
/* MP1000_SEPROM_H */
include/asm-arm/arch-iop3xx/iop321.h
View file @
0676fc12
...
...
@@ -40,7 +40,7 @@
#define IOP321_PCI_UPPER_IO_BA (IOP321_PCI_LOWER_IO_BA + IOP321_PCI_IO_WINDOW_SIZE - 1)
#define IOP321_PCI_IO_OFFSET (IOP321_PCI_LOWER_IO_VA - IOP321_PCI_LOWER_IO_BA)
/
/#define IOP321_PCI_MEM_WINDOW_SIZE (~*IOP321_IALR1 + 1)
/
* #define IOP321_PCI_MEM_WINDOW_SIZE (~*IOP321_IALR1 + 1) */
#define IOP321_PCI_MEM_WINDOW_SIZE 0x04000000
/* 64M outbound window */
#define IOP321_PCI_LOWER_MEM_PA 0x80000000
#define IOP321_PCI_LOWER_MEM_BA (*IOP321_OMWTVR0)
...
...
include/asm-arm/arch-ixp2000/irqs.h
View file @
0676fc12
...
...
@@ -67,12 +67,45 @@
#define IRQ_IXP2000_PCIA 40
#define IRQ_IXP2000_PCIB 41
#define NR_IXP2000_IRQS 42
/* Int sources from IRQ_ERROR_STATUS */
#define IRQ_IXP2000_DRAM0_MIN_ERR 42
#define IRQ_IXP2000_DRAM0_MAJ_ERR 43
#define IRQ_IXP2000_DRAM1_MIN_ERR 44
#define IRQ_IXP2000_DRAM1_MAJ_ERR 45
#define IRQ_IXP2000_DRAM2_MIN_ERR 46
#define IRQ_IXP2000_DRAM2_MAJ_ERR 47
/* 48-57 reserved */
#define IRQ_IXP2000_SRAM0_ERR 58
#define IRQ_IXP2000_SRAM1_ERR 59
#define IRQ_IXP2000_SRAM2_ERR 60
#define IRQ_IXP2000_SRAM3_ERR 61
/* 62-65 reserved */
#define IRQ_IXP2000_MEDIA_ERR 66
#define IRQ_IXP2000_PCI_ERR 67
#define IRQ_IXP2000_SP_INT 68
#define NR_IXP2000_IRQS 69
#define IXP2000_BOARD_IRQ(x) (NR_IXP2000_IRQS + (x))
#define IXP2000_BOARD_IRQ_MASK(irq) (1 << (irq - NR_IXP2000_IRQS))
#define IXP2000_ERR_IRQ_MASK(irq) ( 1 << (irq - IRQ_IXP2000_DRAM0_MIN_ERR))
#define IXP2000_VALID_ERR_IRQ_MASK (\
IXP2000_ERR_IRQ_MASK(IRQ_IXP2000_DRAM0_MIN_ERR) | \
IXP2000_ERR_IRQ_MASK(IRQ_IXP2000_DRAM0_MAJ_ERR) | \
IXP2000_ERR_IRQ_MASK(IRQ_IXP2000_DRAM1_MIN_ERR) | \
IXP2000_ERR_IRQ_MASK(IRQ_IXP2000_DRAM1_MAJ_ERR) | \
IXP2000_ERR_IRQ_MASK(IRQ_IXP2000_DRAM2_MIN_ERR) | \
IXP2000_ERR_IRQ_MASK(IRQ_IXP2000_DRAM2_MAJ_ERR) | \
IXP2000_ERR_IRQ_MASK(IRQ_IXP2000_SRAM0_ERR) | \
IXP2000_ERR_IRQ_MASK(IRQ_IXP2000_SRAM1_ERR) | \
IXP2000_ERR_IRQ_MASK(IRQ_IXP2000_SRAM2_ERR) | \
IXP2000_ERR_IRQ_MASK(IRQ_IXP2000_SRAM3_ERR) | \
IXP2000_ERR_IRQ_MASK(IRQ_IXP2000_MEDIA_ERR) | \
IXP2000_ERR_IRQ_MASK(IRQ_IXP2000_PCI_ERR) | \
IXP2000_ERR_IRQ_MASK(IRQ_IXP2000_SP_INT) )
/*
* This allows for all the on-chip sources plus up to 32 CPLD based
* IRQs. Should be more than enough.
...
...
include/asm-arm/mmu_context.h
View file @
0676fc12
...
...
@@ -86,6 +86,7 @@ switch_mm(struct mm_struct *prev, struct mm_struct *next,
cpu_set
(
cpu
,
next
->
cpu_vm_mask
);
check_context
(
next
);
cpu_switch_mm
(
next
->
pgd
,
next
);
if
(
cache_is_vivt
())
cpu_clear
(
cpu
,
prev
->
cpu_vm_mask
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment