Commit 60f63ed0 authored by Linus Torvalds's avatar Linus Torvalds

Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk

into home.osdl.org:/home/torvalds/v2.5/linux
parents ae05f3fa 87eb058e
...@@ -2,66 +2,94 @@ ...@@ -2,66 +2,94 @@
# Automatically generated make config: don't edit # Automatically generated make config: don't edit
# #
CONFIG_ARM=y CONFIG_ARM=y
# CONFIG_EISA is not set CONFIG_MMU=y
# CONFIG_SBUS is not set
# CONFIG_MCA is not set
CONFIG_UID16=y CONFIG_UID16=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y CONFIG_RWSEM_GENERIC_SPINLOCK=y
# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
# #
# Code maturity level options # Code maturity level options
# #
CONFIG_EXPERIMENTAL=y CONFIG_EXPERIMENTAL=y
# CONFIG_OBSOLETE is not set CONFIG_CLEAN_COMPILE=y
CONFIG_STANDALONE=y
CONFIG_BROKEN_ON_SMP=y
#
# General setup
#
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_IKCONFIG is not set
# CONFIG_EMBEDDED is not set
CONFIG_KALLSYMS=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
# #
# Loadable module support # Loadable module support
# #
CONFIG_MODULES=y CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_OBSOLETE_MODPARM=y
# CONFIG_MODVERSIONS is not set # CONFIG_MODVERSIONS is not set
# CONFIG_KMOD is not set CONFIG_KMOD=y
# #
# System Type # System Type
# #
# CONFIG_ARCH_ADIFCC is not set
# CONFIG_ARCH_ANAKIN is not set # CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_ARCA5K 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_PXA is not set
# CONFIG_ARCH_EBSA110 is not set # CONFIG_ARCH_EBSA110 is not set
# CONFIG_ARCH_CAMELOT is not set
# CONFIG_ARCH_FOOTBRIDGE is not set # CONFIG_ARCH_FOOTBRIDGE is not set
# CONFIG_ARCH_INTEGRATOR is not set # CONFIG_ARCH_INTEGRATOR is not set
# CONFIG_ARCH_IOP3XX is not set
# CONFIG_ARCH_L7200 is not set # CONFIG_ARCH_L7200 is not set
# CONFIG_ARCH_RPC is not set # CONFIG_ARCH_RPC is not set
CONFIG_ARCH_SA1100=y CONFIG_ARCH_SA1100=y
# CONFIG_ARCH_SHARK is not set # CONFIG_ARCH_SHARK is not set
# #
# Archimedes/A5000 Implementations # CLPS711X/EP721X Implementations
# #
# #
# Archimedes/A5000 Implementations (select only ONE) # Epxa10db
# #
# CONFIG_ARCH_ARC is not set
# CONFIG_ARCH_A5K is not set
# #
# Footbridge Implementations # Footbridge Implementations
# #
# CONFIG_ARCH_CATS is not set
# CONFIG_ARCH_PERSONAL_SERVER is not set #
# CONFIG_ARCH_EBSA285_ADDIN is not set # IOP3xx Implementation Options
# CONFIG_ARCH_EBSA285_HOST is not set #
# CONFIG_ARCH_NETWINDER is not set # CONFIG_ARCH_IOP310 is not set
# CONFIG_ARCH_IOP321 is not set
#
# IOP3xx Chipset Features
#
#
# Intel PXA250/210 Implementations
#
# #
# SA11x0 Implementations # SA11x0 Implementations
# #
# CONFIG_SA1100_ASSABET is not set # CONFIG_SA1100_ASSABET is not set
# CONFIG_ASSABET_NEPONSET is not set
# CONFIG_SA1100_ADSBITSY is not set # CONFIG_SA1100_ADSBITSY is not set
# CONFIG_SA1100_BRUTUS is not set # CONFIG_SA1100_BRUTUS is not set
CONFIG_SA1100_CERF=y CONFIG_SA1100_CERF=y
...@@ -69,13 +97,17 @@ CONFIG_SA1100_CERF=y ...@@ -69,13 +97,17 @@ CONFIG_SA1100_CERF=y
CONFIG_SA1100_CERF_FLASH_16MB=y CONFIG_SA1100_CERF_FLASH_16MB=y
# CONFIG_SA1100_CERF_FLASH_32MB is not set # CONFIG_SA1100_CERF_FLASH_32MB is not set
# CONFIG_SA1100_CERF_CPLD is not set # CONFIG_SA1100_CERF_CPLD is not set
# CONFIG_SA1100_H3100 is not set
# CONFIG_SA1100_H3600 is not set # CONFIG_SA1100_H3600 is not set
# CONFIG_SA1100_H3800 is not set
# CONFIG_SA1100_EXTENEX1 is not set # CONFIG_SA1100_EXTENEX1 is not set
# CONFIG_SA1100_FLEXANET is not set # CONFIG_SA1100_FLEXANET is not set
# CONFIG_SA1100_FREEBIRD is not set # CONFIG_SA1100_FREEBIRD is not set
# CONFIG_SA1100_GRAPHICSCLIENT is not set # CONFIG_SA1100_GRAPHICSCLIENT is not set
# CONFIG_SA1100_GRAPHICSMASTER is not set # CONFIG_SA1100_GRAPHICSMASTER is not set
# CONFIG_SA1100_BADGE4 is not set
# CONFIG_SA1100_JORNADA720 is not set # CONFIG_SA1100_JORNADA720 is not set
# CONFIG_SA1100_HACKKIT is not set
# CONFIG_SA1100_HUW_WEBPANEL is not set # CONFIG_SA1100_HUW_WEBPANEL is not set
# CONFIG_SA1100_ITSY is not set # CONFIG_SA1100_ITSY is not set
# CONFIG_SA1100_LART is not set # CONFIG_SA1100_LART is not set
...@@ -83,84 +115,81 @@ CONFIG_SA1100_CERF_FLASH_16MB=y ...@@ -83,84 +115,81 @@ CONFIG_SA1100_CERF_FLASH_16MB=y
# CONFIG_SA1100_OMNIMETER is not set # CONFIG_SA1100_OMNIMETER is not set
# CONFIG_SA1100_PANGOLIN is not set # CONFIG_SA1100_PANGOLIN is not set
# CONFIG_SA1100_PLEB is not set # CONFIG_SA1100_PLEB is not set
# CONFIG_SA1100_PT_SYSTEM3 is not set
# CONFIG_SA1100_SHANNON is not set
# CONFIG_SA1100_SHERMAN is not set # CONFIG_SA1100_SHERMAN is not set
# CONFIG_SA1100_SIMPAD is not set # CONFIG_SA1100_SIMPAD is not set
# CONFIG_SA1100_PFS168 is not set # CONFIG_SA1100_PFS168 is not set
# CONFIG_SA1100_VICTOR is not set # CONFIG_SA1100_VICTOR is not set
# CONFIG_SA1100_XP860 is not set # CONFIG_SA1100_XP860 is not set
# CONFIG_SA1100_YOPY is not set # CONFIG_SA1100_YOPY is not set
CONFIG_SA1100_USB=y # CONFIG_SA1100_STORK is not set
CONFIG_SA1100_USB_NETLINK=y # CONFIG_SA1100_SSP is not set
CONFIG_SA1100_USB_CHAR=y CONFIG_SA1100_USB=m
CONFIG_SA1100_USB_NETLINK=m
# CONFIG_SA1100_USB_CHAR is not set
# #
# CLPS711X/EP721X Implementations # Processor Type
# #
# CONFIG_ARCH_CDB89712 is not set
# CONFIG_ARCH_CLEP7312 is not set
# CONFIG_ARCH_EDB7211 is not set
# CONFIG_ARCH_P720T is not set
# CONFIG_ARCH_EP7211 is not set
# CONFIG_ARCH_EP7212 is not set
# CONFIG_ARCH_ACORN is not set
# CONFIG_FOOTBRIDGE is not set
# CONFIG_FOOTBRIDGE_HOST is not set
# CONFIG_FOOTBRIDGE_ADDIN is not set
CONFIG_CPU_32=y CONFIG_CPU_32=y
# CONFIG_CPU_26 is not set CONFIG_CPU_SA1100=y
CONFIG_CPU_32v4=y
CONFIG_CPU_ABRT_EV4=y
CONFIG_CPU_CACHE_V4WB=y
CONFIG_CPU_TLB_V4WB=y
CONFIG_CPU_MINICACHE=y
# #
# Processor Type # Processor Features
# #
# CONFIG_CPU_32v3 is not set
CONFIG_CPU_32v4=y
# CONFIG_CPU_ARM610 is not set
# CONFIG_CPU_ARM710 is not set
# CONFIG_CPU_ARM720T is not set
# CONFIG_CPU_ARM920T is not set
# CONFIG_CPU_ARM1020 is not set
# CONFIG_CPU_SA110 is not set
CONFIG_CPU_SA1100=y
# CONFIG_ARM_THUMB is not set
CONFIG_DISCONTIGMEM=y
# #
# General setup # General setup
# #
# CONFIG_PCI is not set CONFIG_DISCONTIGMEM=y
# CONFIG_ISA is not set CONFIG_ISA=y
# CONFIG_ISA_DMA is not set # CONFIG_ZBOOT_ROM is not set
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_SA1110=y
# CONFIG_CPU_FREQ_PROC_INTF is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
CONFIG_CPU_FREQ_GOV_USERSPACE=m
CONFIG_CPU_FREQ_24_API=y
CONFIG_HOTPLUG=y CONFIG_HOTPLUG=y
# #
# PCMCIA/CardBus support # PCMCIA/CardBus support
# #
CONFIG_PCMCIA=y CONFIG_PCMCIA=m
# CONFIG_PCMCIA_DEBUG is not set
# CONFIG_I82365 is not set # CONFIG_I82365 is not set
# CONFIG_TCIC is not set # CONFIG_TCIC is not set
# CONFIG_PCMCIA_CLPS6700 is not set CONFIG_PCMCIA_SA1100=m
CONFIG_PCMCIA_SA1100=y
CONFIG_NET=y
CONFIG_SYSVIPC=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_SYSCTL=y
# #
# At least one math emulation must be selected # At least one math emulation must be selected
# #
CONFIG_FPE_NWFPE=y # CONFIG_FPE_NWFPE is not set
# CONFIG_FPE_FASTFPE is not set CONFIG_FPE_FASTFPE=y
CONFIG_KCORE_ELF=y
# CONFIG_KCORE_AOUT is not set
# CONFIG_BINFMT_AOUT is not set
CONFIG_BINFMT_ELF=y CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_AOUT is not set
# CONFIG_BINFMT_MISC is not set # CONFIG_BINFMT_MISC is not set
# CONFIG_PM is not set
#
# Generic Driver Options
#
# CONFIG_FW_LOADER is not set
CONFIG_PM=y
# CONFIG_PREEMPT is not set
# CONFIG_APM is not set # CONFIG_APM is not set
# CONFIG_ARTHUR is not set # CONFIG_ARTHUR is not set
CONFIG_CMDLINE="console=ttySA0 root=/dev/mtdblock3 rw mem=32M" CONFIG_CMDLINE="console=ttySA0,38400 root=/dev/mtdblock3 rootfstype=jffs2 rw mem=32M init=/linuxrc"
# CONFIG_PFS168_CMDLINE is not set
CONFIG_LEDS=y CONFIG_LEDS=y
CONFIG_LEDS_TIMER=y CONFIG_LEDS_TIMER=y
CONFIG_LEDS_CPU=y CONFIG_LEDS_CPU=y
...@@ -177,17 +206,19 @@ CONFIG_ALIGNMENT_TRAP=y ...@@ -177,17 +206,19 @@ CONFIG_ALIGNMENT_TRAP=y
CONFIG_MTD=y CONFIG_MTD=y
# CONFIG_MTD_DEBUG is not set # CONFIG_MTD_DEBUG is not set
CONFIG_MTD_PARTITIONS=y CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_REDBOOT_PARTS is not set # CONFIG_MTD_CONCAT is not set
# CONFIG_MTD_BOOTLDR_PARTS is not set CONFIG_MTD_REDBOOT_PARTS=y
CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_AFS_PARTS is not set # CONFIG_MTD_AFS_PARTS is not set
# #
# User Modules And Translation Layers # User Modules And Translation Layers
# #
CONFIG_MTD_CHAR=y CONFIG_MTD_CHAR=m
CONFIG_MTD_BLOCK=y CONFIG_MTD_BLOCK=y
# CONFIG_FTL is not set # CONFIG_FTL is not set
# CONFIG_NFTL is not set # CONFIG_NFTL is not set
# CONFIG_INFTL is not set
# #
# RAM/ROM/Flash chip drivers # RAM/ROM/Flash chip drivers
...@@ -198,6 +229,7 @@ CONFIG_MTD_GEN_PROBE=y ...@@ -198,6 +229,7 @@ CONFIG_MTD_GEN_PROBE=y
# CONFIG_MTD_CFI_ADV_OPTIONS is not set # CONFIG_MTD_CFI_ADV_OPTIONS is not set
CONFIG_MTD_CFI_INTELEXT=y CONFIG_MTD_CFI_INTELEXT=y
# CONFIG_MTD_CFI_AMDSTD is not set # CONFIG_MTD_CFI_AMDSTD is not set
# CONFIG_MTD_CFI_STAA is not set
# CONFIG_MTD_RAM is not set # CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set # CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set # CONFIG_MTD_ABSENT is not set
...@@ -206,47 +238,25 @@ CONFIG_MTD_CFI_INTELEXT=y ...@@ -206,47 +238,25 @@ CONFIG_MTD_CFI_INTELEXT=y
# #
# Mapping drivers for chip access # Mapping drivers for chip access
# #
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
# CONFIG_MTD_PHYSMAP is not set # CONFIG_MTD_PHYSMAP is not set
# CONFIG_MTD_SUN_UFLASH is not set
# CONFIG_MTD_NORA is not set
# CONFIG_MTD_PNC2000 is not set
# CONFIG_MTD_RPXLITE is not set
# CONFIG_MTD_TQM8XXL is not set
# CONFIG_MTD_SC520CDP is not set
# CONFIG_MTD_NETSC520 is not set
# CONFIG_MTD_SBC_GXX is not set
# CONFIG_MTD_ELAN_104NC is not set
# CONFIG_MTD_DBOX2 is not set
# CONFIG_MTD_CSTM_MIPS_IXX is not set
# CONFIG_MTD_CFI_FLAGADM is not set
# CONFIG_MTD_SOLUTIONENGINE is not set
# CONFIG_MTD_MIXMEM is not set
# CONFIG_MTD_OCTAGON is not set
# CONFIG_MTD_VMAX is not set
# CONFIG_MTD_OCELOT is not set
# CONFIG_MTD_L440GX is not set
# CONFIG_MTD_ARM_INTEGRATOR is not set # CONFIG_MTD_ARM_INTEGRATOR is not set
# CONFIG_MTD_CDB89712 is not set
CONFIG_MTD_SA1100=y CONFIG_MTD_SA1100=y
# CONFIG_MTD_DC21285 is not set # CONFIG_MTD_EDB7312 is not set
# CONFIG_MTD_IQ80310 is not set
# #
# Self-contained MTD device drivers # Self-contained MTD device drivers
# #
# CONFIG_MTD_PMC551 is not set
# CONFIG_MTD_SLRAM is not set # CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_LART is not set
# CONFIG_MTD_MTDRAM is not set # CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_BLKMTD is not set # CONFIG_MTD_BLKMTD is not set
# #
# Disk-On-Chip Device Drivers # Disk-On-Chip Device Drivers
# #
# CONFIG_MTD_DOC1000 is not set
# CONFIG_MTD_DOC2000 is not set # CONFIG_MTD_DOC2000 is not set
# CONFIG_MTD_DOC2001 is not set # CONFIG_MTD_DOC2001 is not set
# CONFIG_MTD_DOCPROBE is not set # CONFIG_MTD_DOC2001PLUS is not set
# #
# NAND Flash Device Drivers # NAND Flash Device Drivers
...@@ -254,24 +264,19 @@ CONFIG_MTD_SA1100=y ...@@ -254,24 +264,19 @@ CONFIG_MTD_SA1100=y
# CONFIG_MTD_NAND is not set # CONFIG_MTD_NAND is not set
# #
# Plug and Play configuration # Plug and Play support
# #
# CONFIG_PNP is not set # CONFIG_PNP is not set
# CONFIG_ISAPNP is not set
# CONFIG_PNPBIOS is not set
# #
# Block devices # Block devices
# #
# CONFIG_BLK_DEV_FD is not set # CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_DEV_XD is not set # CONFIG_BLK_DEV_XD is not set
# CONFIG_PARIDE is not set CONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_CPQ_DA is not set # CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_NBD is not set
CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_RAM_SIZE=4096 CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INITRD=y
...@@ -279,47 +284,52 @@ CONFIG_BLK_DEV_INITRD=y ...@@ -279,47 +284,52 @@ CONFIG_BLK_DEV_INITRD=y
# Multi-device support (RAID and LVM) # Multi-device support (RAID and LVM)
# #
# CONFIG_MD is not set # CONFIG_MD is not set
# CONFIG_BLK_DEV_MD is not set
# CONFIG_MD_LINEAR is not set #
# CONFIG_MD_RAID0 is not set # Networking support
# CONFIG_MD_RAID1 is not set #
# CONFIG_MD_RAID5 is not set CONFIG_NET=y
# CONFIG_BLK_DEV_LVM is not set
# #
# Networking options # Networking options
# #
CONFIG_PACKET=y CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set # CONFIG_PACKET_MMAP is not set
CONFIG_NETLINK=y
CONFIG_RTNETLINK=y
# CONFIG_NETLINK_DEV is not set # CONFIG_NETLINK_DEV is not set
# CONFIG_NETFILTER is not set
CONFIG_FILTER=y
CONFIG_UNIX=y CONFIG_UNIX=y
# CONFIG_NET_KEY is not set
CONFIG_INET=y CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set # CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set # CONFIG_IP_ADVANCED_ROUTER is not set
# CONFIG_IP_PNP is not set CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y
# CONFIG_NET_IPIP is not set # CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set # CONFIG_NET_IPGRE is not set
# CONFIG_ARPD is not set # CONFIG_ARPD is not set
# CONFIG_INET_ECN is not set # CONFIG_INET_ECN is not set
# CONFIG_SYN_COOKIES is not set # CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_IPV6 is not set # CONFIG_IPV6 is not set
# CONFIG_KHTTPD is not set # CONFIG_DECNET is not set
# CONFIG_ATM is not set # CONFIG_BRIDGE is not set
# CONFIG_NETFILTER is not set
# #
# SCTP Configuration (EXPERIMENTAL)
# #
# CONFIG_IPV6_SCTP__=y
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set # CONFIG_IPX is not set
# CONFIG_ATALK is not set # CONFIG_ATALK is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
# CONFIG_X25 is not set # CONFIG_X25 is not set
# CONFIG_LAPB is not set # CONFIG_LAPB is not set
# CONFIG_LLC is not set
# CONFIG_NET_DIVERT is not set # CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set # CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set # CONFIG_WAN_ROUTER is not set
...@@ -332,8 +342,9 @@ CONFIG_INET=y ...@@ -332,8 +342,9 @@ CONFIG_INET=y
# CONFIG_NET_SCHED is not set # CONFIG_NET_SCHED is not set
# #
# Network device support # Network testing
# #
# CONFIG_NET_PKTGEN is not set
CONFIG_NETDEVICES=y CONFIG_NETDEVICES=y
# #
...@@ -344,45 +355,35 @@ CONFIG_NETDEVICES=y ...@@ -344,45 +355,35 @@ CONFIG_NETDEVICES=y
# CONFIG_BONDING is not set # CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set # CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set # CONFIG_TUN is not set
# CONFIG_ETHERTAP is not set
# #
# Ethernet (10 or 100Mbit) # Ethernet (10 or 100Mbit)
# #
CONFIG_NET_ETHERNET=y CONFIG_NET_ETHERNET=y
# CONFIG_SUNLANCE is not set # CONFIG_MII is not set
# CONFIG_SUNBMAC is not set # CONFIG_SMC91X is not set
# CONFIG_SUNQE is not set # CONFIG_NET_VENDOR_3COM is not set
# CONFIG_SUNLANCE is not set
# CONFIG_SUNGEM is not set
CONFIG_NET_VENDOR_3COM=y
# CONFIG_EL1 is not set
# CONFIG_EL2 is not set
# CONFIG_ELPLUS is not set
# CONFIG_EL16 is not set
# CONFIG_ELMC is not set
# CONFIG_ELMC_II is not set
CONFIG_CERF_CS8900A=y
# CONFIG_LANCE is not set # CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set # CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set # CONFIG_NET_VENDOR_RACAL is not set
# CONFIG_AT1700 is not set
# CONFIG_DEPCA is not set
# CONFIG_HP100 is not set
# CONFIG_NET_ISA is not set # CONFIG_NET_ISA is not set
# CONFIG_NET_PCI is not set CONFIG_NET_PCI=y
# CONFIG_AC3200 is not set
# CONFIG_APRICOT is not set
# CONFIG_CS89x0 is not set
CONFIG_CS8900=m
# CONFIG_NET_POCKET is not set # CONFIG_NET_POCKET is not set
# #
# Ethernet (1000 Mbit) # Ethernet (1000 Mbit)
# #
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set #
# CONFIG_MYRI_SBUS is not set # Ethernet (10000 Mbit)
# CONFIG_NS83820 is not set #
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_SK98LIN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not set
# CONFIG_PPP is not set # CONFIG_PPP is not set
# CONFIG_SLIP is not set # CONFIG_SLIP is not set
...@@ -390,13 +391,12 @@ CONFIG_CERF_CS8900A=y ...@@ -390,13 +391,12 @@ CONFIG_CERF_CS8900A=y
# Wireless LAN (non-hamradio) # Wireless LAN (non-hamradio)
# #
# CONFIG_NET_RADIO is not set # CONFIG_NET_RADIO is not set
# CONFIG_HOSTAP is not set
# #
# Token Ring devices # Token Ring devices
# #
# CONFIG_TR is not set # CONFIG_TR is not set
# CONFIG_NET_FC is not set
# CONFIG_RCPCI is not set
# CONFIG_SHAPER is not set # CONFIG_SHAPER is not set
# #
...@@ -407,17 +407,7 @@ CONFIG_CERF_CS8900A=y ...@@ -407,17 +407,7 @@ CONFIG_CERF_CS8900A=y
# #
# PCMCIA network device support # PCMCIA network device support
# #
CONFIG_NET_PCMCIA=y # CONFIG_NET_PCMCIA is not set
# CONFIG_PCMCIA_3C589 is not set
# CONFIG_PCMCIA_3C574 is not set
# CONFIG_PCMCIA_FMVJ18X is not set
CONFIG_PCMCIA_PCNET=m
# CONFIG_PCMCIA_NMCLAN is not set
# CONFIG_PCMCIA_SMC91C92 is not set
# CONFIG_PCMCIA_XIRC2PS is not set
# CONFIG_ARCNET_COM20020_CS is not set
# CONFIG_PCMCIA_IBMTR is not set
# CONFIG_NET_PCMCIA_RADIO is not set
# #
# Amateur Radio support # Amateur Radio support
...@@ -430,113 +420,110 @@ CONFIG_PCMCIA_PCNET=m ...@@ -430,113 +420,110 @@ CONFIG_PCMCIA_PCNET=m
# CONFIG_IRDA is not set # CONFIG_IRDA is not set
# #
# ATA/IDE/MFM/RLL support # Bluetooth support
# #
CONFIG_IDE=y # CONFIG_BT is not set
# #
# IDE, ATA and ATAPI Block devices # ATA/ATAPI/MFM/RLL support
# #
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y CONFIG_BLK_DEV_IDE=y
# #
# Please see Documentation/ide.txt for help/info on IDE drives # Please see Documentation/ide.txt for help/info on IDE drives
# #
# CONFIG_BLK_DEV_HD_IDE is not set CONFIG_BLK_DEV_IDEDISK=m
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_IDEDISK_MULTI_MODE is not set # CONFIG_IDEDISK_MULTI_MODE is not set
# CONFIG_IDEDISK_STROKE is not set
CONFIG_BLK_DEV_IDECS=m CONFIG_BLK_DEV_IDECS=m
# CONFIG_BLK_DEV_IDECD is not set # CONFIG_BLK_DEV_IDECD is not set
# CONFIG_BLK_DEV_IDETAPE is not set # CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set # CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set # CONFIG_IDE_TASK_IOCTL is not set
# CONFIG_IDE_TASKFILE_IO is not set
# #
# IDE chipset support/bugfixes # IDE chipset support/bugfixes
# #
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
# CONFIG_BLK_DEV_ISAPNP is not set
# CONFIG_IDE_CHIPSETS is not set # CONFIG_IDE_CHIPSETS is not set
# CONFIG_BLK_DEV_IDEDMA is not set
# CONFIG_IDEDMA_AUTO is not set # CONFIG_IDEDMA_AUTO is not set
# CONFIG_BLK_DEV_ATARAID is not set # CONFIG_DMA_NONPCI is not set
# CONFIG_BLK_DEV_ATARAID_PDC is not set # CONFIG_BLK_DEV_HD is not set
# CONFIG_BLK_DEV_ATARAID_HPT is not set
# #
# SCSI support # SCSI device support
# #
# CONFIG_SCSI is not set # CONFIG_SCSI is not set
# #
# I2O device support # I2O device support
# #
# CONFIG_I2O is not set
# CONFIG_I2O_BLOCK is not set
# CONFIG_I2O_LAN is not set
# CONFIG_I2O_SCSI is not set
# CONFIG_I2O_PROC is not set
# #
# ISDN subsystem # ISDN subsystem
# #
# CONFIG_ISDN is not set # CONFIG_ISDN_BOOL is not set
# #
# Input core support # Input device support
# #
# CONFIG_INPUT is not set CONFIG_INPUT=y
# CONFIG_INPUT_KEYBDEV is not set
# CONFIG_INPUT_MOUSEDEV is not set #
# Userland interfaces
#
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_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_TSLIBDEV is not set
# CONFIG_INPUT_EVDEV is not set # CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set
#
# Input I/O drivers
#
# CONFIG_GAMEPORT is not set
CONFIG_SOUND_GAMEPORT=y
# CONFIG_SERIO is not set
# CONFIG_SERIO_I8042 is not set
#
# Input Device Drivers
#
# CONFIG_INPUT_KEYBOARD is not set
# CONFIG_INPUT_MOUSE is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
# #
# Character devices # Character devices
# #
CONFIG_VT=y CONFIG_VT=y
# CONFIG_VT_CONSOLE is not set CONFIG_VT_CONSOLE=y
# CONFIG_SERIAL is not set CONFIG_HW_CONSOLE=y
# CONFIG_SERIAL_EXTENDED is not set
# CONFIG_SERIAL_NONSTANDARD is not set # CONFIG_SERIAL_NONSTANDARD is not set
# #
# Serial drivers # Serial drivers
# #
# CONFIG_SERIAL_ANAKIN is not set # CONFIG_SERIAL_8250 is not set
# CONFIG_SERIAL_ANAKIN_CONSOLE is not set
# CONFIG_SERIAL_AMBA is not set #
# CONFIG_SERIAL_AMBA_CONSOLE is not set # Non-8250 serial port support
# CONFIG_SERIAL_CLPS711X is not set #
# CONFIG_SERIAL_CLPS711X_CONSOLE is not set # CONFIG_SERIAL_DZ is not set
# CONFIG_SERIAL_21285 is not set
# CONFIG_SERIAL_21285_OLD is not set
# CONFIG_SERIAL_21285_CONSOLE is not set
CONFIG_SERIAL_SA1100=y CONFIG_SERIAL_SA1100=y
CONFIG_SERIAL_SA1100_CONSOLE=y CONFIG_SERIAL_SA1100_CONSOLE=y
CONFIG_SA1100_DEFAULT_BAUDRATE=9600
# CONFIG_SERIAL_8250 is not set
# CONFIG_SERIAL_8250_CONSOLE is not set
# CONFIG_SERIAL_8250_EXTENDED is not set
# CONFIG_SERIAL_8250_MANY_PORTS is not set
# CONFIG_SERIAL_8250_SHARE_IRQ is not set
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
# CONFIG_SERIAL_8250_MULTIPORT is not set
# CONFIG_SERIAL_8250_HUB6 is not set
CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=32 CONFIG_UNIX98_PTY_COUNT=32
# CONFIG_UCB1200 is not set
# CONFIG_TOUCHSCREEN_UCB1200 is not set
# CONFIG_AUDIO_UCB1200 is not set
# CONFIG_ADC_UCB1200 is not set
# CONFIG_TOUCHSCREEN_H3600 is not set
# CONFIG_PROFILER is not set
# CONFIG_PFS168_SPI is not set
# CONFIG_PFS168_DTMF is not set
# CONFIG_PFS168_MISC is not set
# #
# I2C support # I2C support
...@@ -544,56 +531,68 @@ CONFIG_UNIX98_PTY_COUNT=32 ...@@ -544,56 +531,68 @@ CONFIG_UNIX98_PTY_COUNT=32
# CONFIG_I2C is not set # CONFIG_I2C is not set
# #
# L3 serial bus support # I2C Algorithms
#
# CONFIG_L3 is not set
# CONFIG_L3_ALGOBIT is not set
# CONFIG_L3_BIT_SA1100_GPIO is not set
# CONFIG_BIT_SA1100_UCB1200 is not set
#
# Other L3 adapters
# #
# CONFIG_L3_SA1111 is not set
# #
# L3 driver support # I2C Hardware Bus support
# #
# CONFIG_L3_DRV_UDA1341 is not set
# CONFIG_BIT_SA1100_GPIO is not set
# #
# Mice # I2C Hardware Sensors Chip support
# #
# CONFIG_BUSMOUSE is not set # CONFIG_I2C_SENSOR is not set
# CONFIG_MOUSE is not set
# #
# Joysticks # L3 serial bus support
# #
# CONFIG_INPUT_GAMEPORT is not set CONFIG_L3=m
# #
# Input core support is needed for gameports # Mice
# #
# CONFIG_BUSMOUSE is not set
# CONFIG_QIC02_TAPE is not set
# #
# Input core support is needed for joysticks # IPMI
# #
# CONFIG_QIC02_TAPE is not set # CONFIG_IPMI_HANDLER is not set
# #
# Watchdog Cards # Watchdog Cards
# #
# CONFIG_WATCHDOG is not set CONFIG_WATCHDOG=y
# CONFIG_INTEL_RNG is not set # CONFIG_WATCHDOG_NOWAYOUT is not set
# CONFIG_SOFT_WATCHDOG is not set
# CONFIG_WDT is not set
# CONFIG_WDTPCI is not set
# CONFIG_PCWATCHDOG is not set
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
CONFIG_SA1100_WATCHDOG=m
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
# CONFIG_I810_TCO is not set
# CONFIG_MIXCOMWD is not set
# CONFIG_SCx200_WDT is not set
# CONFIG_60XX_WDT is not set
# CONFIG_W83877F_WDT is not set
# CONFIG_MACHZ_WDT is not set
# CONFIG_SC520_WDT is not set
# CONFIG_AMD7XX_TCO is not set
# CONFIG_ALIM7101_WDT is not set
# CONFIG_ALIM1535_WDT is not set
# CONFIG_SC1200_WDT is not set
# CONFIG_WAFER_WDT is not set
# CONFIG_CPU5_WDT is not set
# CONFIG_NVRAM is not set # CONFIG_NVRAM is not set
# CONFIG_RTC is not set # CONFIG_RTC is not set
CONFIG_SA1100_RTC=y # CONFIG_GEN_RTC is not set
# CONFIG_SA1100_RTC is not set
# CONFIG_DTLK is not set # CONFIG_DTLK is not set
# CONFIG_R3964 is not set # CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set # CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set
# #
# Ftape, the floppy tape device driver # Ftape, the floppy tape device driver
...@@ -605,101 +604,142 @@ CONFIG_SA1100_RTC=y ...@@ -605,101 +604,142 @@ CONFIG_SA1100_RTC=y
# #
# PCMCIA character devices # PCMCIA character devices
# #
# CONFIG_SYNCLINK_CS is not set
# CONFIG_RAW_DRIVER is not set
# #
# Multimedia devices # Multimedia devices
# #
# CONFIG_VIDEO_DEV is not set # CONFIG_VIDEO_DEV is not set
#
# Digital Video Broadcasting Devices
#
# CONFIG_DVB is not set
#
# MMC/SD Card support
#
# CONFIG_MMC is not set
# #
# File systems # File systems
# #
# CONFIG_QUOTA is not set CONFIG_EXT2_FS=m
CONFIG_AUTOFS_FS=y # CONFIG_EXT2_FS_XATTR is not set
CONFIG_AUTOFS4_FS=y CONFIG_EXT3_FS=m
CONFIG_EXT3_FS_XATTR=y
# CONFIG_EXT3_FS_POSIX_ACL is not set
# CONFIG_EXT3_FS_SECURITY is not set
CONFIG_JBD=m
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=m
# CONFIG_REISERFS_FS is not set # CONFIG_REISERFS_FS is not set
# CONFIG_REISERFS_CHECK is not set # CONFIG_JFS_FS is not set
# CONFIG_REISERFS_PROC_INFO is not set # CONFIG_XFS_FS is not set
# CONFIG_MINIX_FS is not set
CONFIG_ROMFS_FS=y
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
#
# CD-ROM/DVD Filesystems
#
# CONFIG_ISO9660_FS is not set
# CONFIG_UDF_FS is not set
#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
# CONFIG_NTFS_FS is not set
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
# CONFIG_DEVFS_FS is not set
CONFIG_DEVPTS_FS=y
# CONFIG_DEVPTS_FS_XATTR is not set
CONFIG_TMPFS=y
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set # CONFIG_ADFS_FS is not set
# CONFIG_ADFS_FS_RW is not set
# CONFIG_AFFS_FS is not set # CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set # CONFIG_HFS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set # CONFIG_BFS_FS is not set
# CONFIG_CMS_FS is not set
# CONFIG_EXT3_FS is not set
# CONFIG_JBD is not set
# CONFIG_JBD_DEBUG is not set
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_UMSDOS_FS=y
CONFIG_VFAT_FS=y
# CONFIG_EFS_FS is not set # CONFIG_EFS_FS is not set
# CONFIG_JFFS_FS is not set # CONFIG_JFFS_FS is not set
CONFIG_JFFS2_FS=y CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0 CONFIG_JFFS2_FS_DEBUG=0
# CONFIG_JFFS2_FS_NAND is not set
# CONFIG_CRAMFS is not set # CONFIG_CRAMFS is not set
# CONFIG_TMPFS is not set # CONFIG_VXFS_FS is not set
CONFIG_RAMFS=y
# CONFIG_ISO9660_FS is not set
# CONFIG_JOLIET is not set
# CONFIG_MINIX_FS is not set
# CONFIG_FREEVXFS_FS is not set
# CONFIG_NTFS_FS is not set
# CONFIG_NTFS_DEBUG is not set
# CONFIG_NTFS_RW is not set
# CONFIG_HPFS_FS is not set # CONFIG_HPFS_FS is not set
CONFIG_PROC_FS=y
# CONFIG_DEVFS_FS is not set
# CONFIG_DEVFS_MOUNT is not set
# CONFIG_DEVFS_DEBUG is not set
CONFIG_DEVPTS_FS=y
# CONFIG_QNX4FS_FS is not set # CONFIG_QNX4FS_FS is not set
# CONFIG_QNX4FS_RW is not set
CONFIG_ROMFS_FS=y
CONFIG_EXT2_FS=y
# CONFIG_SYSV_FS is not set # CONFIG_SYSV_FS is not set
# CONFIG_UDF_FS is not set
# CONFIG_UDF_RW is not set
# CONFIG_UFS_FS is not set # CONFIG_UFS_FS is not set
# CONFIG_UFS_FS_WRITE is not set
# #
# Network File Systems # Network File Systems
# #
# CONFIG_CODA_FS is not set CONFIG_NFS_FS=m
# CONFIG_INTERMEZZO_FS is not set
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y CONFIG_NFS_V3=y
# CONFIG_ROOT_NFS is not set CONFIG_NFS_V4=y
# CONFIG_NFSD is not set # CONFIG_NFS_DIRECTIO is not set
# CONFIG_NFSD_V3 is not set CONFIG_NFSD=m
CONFIG_SUNRPC=y CONFIG_NFSD_V3=y
CONFIG_LOCKD=y CONFIG_NFSD_V4=y
# CONFIG_NFSD_TCP is not set
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y CONFIG_LOCKD_V4=y
# CONFIG_SMB_FS is not set CONFIG_EXPORTFS=m
CONFIG_SUNRPC=m
# CONFIG_SUNRPC_GSS is not set
CONFIG_SMB_FS=m
# CONFIG_SMB_NLS_DEFAULT is not set
# CONFIG_CIFS is not set
# CONFIG_NCP_FS is not set # CONFIG_NCP_FS is not set
# CONFIG_NCPFS_PACKET_SIGNING is not set # CONFIG_CODA_FS is not set
# CONFIG_NCPFS_IOCTL_LOCKING is not set # CONFIG_INTERMEZZO_FS is not set
# CONFIG_NCPFS_STRONG is not set # CONFIG_AFS_FS is not set
# CONFIG_NCPFS_NFS_NS is not set
# CONFIG_NCPFS_OS2_NS is not set
# CONFIG_NCPFS_SMALLDOS is not set
# CONFIG_NCPFS_NLS is not set
# CONFIG_NCPFS_EXTRAS is not set
# #
# Partition Types # Partition Types
# #
# CONFIG_PARTITION_ADVANCED is not set CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_OSF_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y CONFIG_MSDOS_PARTITION=y
# CONFIG_SMB_NLS is not set # CONFIG_BSD_DISKLABEL is not set
# CONFIG_MINIX_SUBPARTITION is not set
# CONFIG_SOLARIS_X86_PARTITION is not set
# CONFIG_UNIXWARE_DISKLABEL is not set
# CONFIG_LDM_PARTITION is not set
# CONFIG_NEC98_PARTITION is not set
# CONFIG_SGI_PARTITION is not set
# CONFIG_ULTRIX_PARTITION is not set
# CONFIG_SUN_PARTITION is not set
# CONFIG_EFI_PARTITION is not set
CONFIG_SMB_NLS=y
CONFIG_NLS=y CONFIG_NLS=y
# #
# Native Language Support # Native Language Support
# #
CONFIG_NLS_DEFAULT="iso8859-1" CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_437 is not set CONFIG_NLS_CODEPAGE_437=m
# CONFIG_NLS_CODEPAGE_737 is not set # CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set # CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set # CONFIG_NLS_CODEPAGE_850 is not set
...@@ -720,8 +760,9 @@ CONFIG_NLS_DEFAULT="iso8859-1" ...@@ -720,8 +760,9 @@ CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set # CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set # CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ISO8859_1 is not set CONFIG_NLS_ISO8859_1=m
# CONFIG_NLS_ISO8859_2 is not set # CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set # CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set # CONFIG_NLS_ISO8859_4 is not set
...@@ -737,15 +778,16 @@ CONFIG_NLS_DEFAULT="iso8859-1" ...@@ -737,15 +778,16 @@ CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_UTF8 is not set # CONFIG_NLS_UTF8 is not set
# #
# Console drivers # Graphics support
# #
CONFIG_PC_KEYMAP=y # CONFIG_FB is not set
# CONFIG_VGA_CONSOLE is not set
# #
# Frame-buffer support # Console display driver support
# #
# CONFIG_FB is not set # CONFIG_VGA_CONSOLE is not set
# CONFIG_MDA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
# #
# Sound # Sound
...@@ -753,121 +795,52 @@ CONFIG_PC_KEYMAP=y ...@@ -753,121 +795,52 @@ CONFIG_PC_KEYMAP=y
# CONFIG_SOUND is not set # CONFIG_SOUND is not set
# #
# USB support # Misc devices
#
# CONFIG_USB is not set
#
# USB Controllers
# #
# CONFIG_USB_UHCI is not set
# CONFIG_USB_UHCI_ALT is not set
# CONFIG_USB_OHCI is not set
# CONFIG_USB_OHCI_SA1111 is not set
# #
# USB Device Class drivers # Multimedia Capabilities Port drivers
# #
# CONFIG_USB_AUDIO is not set # CONFIG_MCP is not set
# CONFIG_USB_BLUETOOTH is not set
# CONFIG_USB_STORAGE is not set
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_HP8200e is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set
# #
# USB Human Interface Devices (HID) # Console Switches
# #
# CONFIG_SWITCHES is not set
# #
# Input core support is needed for USB HID # USB support
#
#
# USB Imaging devices
#
# CONFIG_USB_DC2XX is not set
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_SCANNER is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USB_HPUSBSCSI is not set
#
# USB Multimedia devices
#
#
# Video4Linux support is needed for USB Multimedia device support
#
# CONFIG_USB_DABUSB is not set
#
# USB Network adaptors
#
# CONFIG_USB_PLUSB is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_CATC is not set
# CONFIG_USB_CDCETHER is not set
# CONFIG_USB_USBNET is not set
#
# USB port drivers
# #
# CONFIG_USB_USS720 is not set # CONFIG_USB_GADGET is not set
# #
# USB Serial Converter support # Kernel hacking
# #
# CONFIG_USB_SERIAL is not set CONFIG_FRAME_POINTER=y
# CONFIG_USB_SERIAL_GENERIC is not set CONFIG_DEBUG_USER=y
# CONFIG_USB_SERIAL_BELKIN is not set # CONFIG_DEBUG_INFO is not set
# CONFIG_USB_SERIAL_WHITEHEAT is not set CONFIG_DEBUG_KERNEL=y
# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set # CONFIG_DEBUG_SLAB is not set
# CONFIG_USB_SERIAL_EMPEG is not set CONFIG_MAGIC_SYSRQ=y
# CONFIG_USB_SERIAL_FTDI_SIO is not set # CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_USB_SERIAL_VISOR is not set # CONFIG_DEBUG_WAITQ is not set
# CONFIG_USB_SERIAL_EDGEPORT is not set CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set CONFIG_DEBUG_ERRORS=y
# CONFIG_USB_SERIAL_KEYSPAN is not set CONFIG_DEBUG_LL=y
# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
# CONFIG_USB_SERIAL_MCT_U232 is not set
# CONFIG_USB_SERIAL_PL2303 is not set
# CONFIG_USB_SERIAL_CYBERJACK is not set
# CONFIG_USB_SERIAL_OMNINET is not set
# #
# Miscellaneous USB drivers # Security options
# #
# CONFIG_USB_RIO500 is not set # CONFIG_SECURITY is not set
# CONFIG_USB_ID75 is not set
# #
# Bluetooth support # Cryptographic options
# #
# CONFIG_BT is not set # CONFIG_CRYPTO is not set
# #
# Kernel hacking # Library routines
# #
CONFIG_FRAME_POINTER=y CONFIG_CRC32=y
CONFIG_DEBUG_ERRORS=y CONFIG_ZLIB_INFLATE=y
CONFIG_DEBUG_USER=y CONFIG_ZLIB_DEFLATE=y
# CONFIG_DEBUG_INFO is not set
CONFIG_MAGIC_SYSRQ=y
# CONFIG_NO_PGT_CACHE is not set
# CONFIG_DEBUG_LL is not set
# CONFIG_DEBUG_DC21285_PORT is not set
# CONFIG_DEBUG_CLPS711X_UART2 is not set
...@@ -45,7 +45,6 @@ ...@@ -45,7 +45,6 @@
int main(void) int main(void)
{ {
DEFINE(TSK_USED_MATH, offsetof(struct task_struct, used_math));
DEFINE(TSK_ACTIVE_MM, offsetof(struct task_struct, active_mm)); DEFINE(TSK_ACTIVE_MM, offsetof(struct task_struct, active_mm));
BLANK(); BLANK();
DEFINE(VMA_VM_MM, offsetof(struct vm_area_struct, vm_mm)); DEFINE(VMA_VM_MM, offsetof(struct vm_area_struct, vm_mm));
......
...@@ -673,48 +673,6 @@ __und_invalid: sub sp, sp, #S_FRAME_SIZE ...@@ -673,48 +673,6 @@ __und_invalid: sub sp, sp, #S_FRAME_SIZE
and r2, r6, #31 @ int mode and r2, r6, #31 @ int mode
b bad_mode b bad_mode
#if 1 /* defined CONFIG_FPE_NWFPE || defined CONFIG_FPE_FASTFPE */
/* The FPE is always present */
.equ fpe_not_present, fpundefinstr
#else
wfs_mask_data: .word 0x0e200110 @ WFS/RFS
.word 0x0fef0fff
.word 0x0d000100 @ LDF [sp]/STF [sp]
.word 0x0d000100 @ LDF [fp]/STF [fp]
.word 0x0f000f00
/* We get here if an undefined instruction happens and the floating
* point emulator is not present. If the offending instruction was
* a WFS, we just perform a normal return as if we had emulated the
* operation. This is a hack to allow some basic userland binaries
* to run so that the emulator module proper can be loaded. --philb
*/
fpe_not_present:
adr r10, wfs_mask_data
ldmia r10, {r4, r5, r6, r7, r8}
ldr r10, [sp, #S_PC] @ Load PC
sub r10, r10, #4
mask_pc r10, r10
ldrt r10, [r10] @ get instruction
and r5, r10, r5
teq r5, r4 @ Is it WFS?
moveq pc, r9
and r5, r10, r8
teq r5, r6 @ Is it LDF/STF on sp or fp?
teqne r5, r7
movne pc, lr
tst r10, #0x00200000 @ Does it have WB
moveq pc, r9
and r4, r10, #255 @ get offset
and r6, r10, #0x000f0000
tst r10, #0x00800000 @ +/-
ldr r5, [sp, r6, lsr #14] @ Load reg
rsbeq r4, r4, #0
add r5, r5, r4, lsl #2
str r5, [sp, r6, lsr #14] @ Save reg
mov pc, r9
#endif
/* /*
* SVC mode handlers * SVC mode handlers
*/ */
...@@ -963,23 +921,46 @@ __und_usr: sub sp, sp, #S_FRAME_SIZE @ Allocate frame size in one go ...@@ -963,23 +921,46 @@ __und_usr: sub sp, sp, #S_FRAME_SIZE @ Allocate frame size in one go
* co-processor instructions. However, we have to watch out * co-processor instructions. However, we have to watch out
* for the ARM6/ARM7 SWI bug. * for the ARM6/ARM7 SWI bug.
* *
* Emulators may wish to make use of the instruction value we * Emulators may wish to make use of the following registers:
* prepared for them in r0. * r0 - instruction opcode.
* r10 - this threads thread_info structure.
*/ */
call_fpe: enable_irq r10 @ Enable interrupts call_fpe: enable_irq r10 @ Enable interrupts
tst r0, #0x08000000 @ only CDP/CPRT/LDC/STC have bit 27 tst r0, #0x08000000 @ only CDP/CPRT/LDC/STC have bit 27
#if defined(CONFIG_CPU_ARM610) || defined(CONFIG_CPU_ARM710) #if defined(CONFIG_CPU_ARM610) || defined(CONFIG_CPU_ARM710)
and r10, r0, #0x0f000000 @ mask out op-code bits and r8, r0, #0x0f000000 @ mask out op-code bits
teqne r10, #0x0f000000 @ SWI (ARM6/7 bug)? teqne r8, #0x0f000000 @ SWI (ARM6/7 bug)?
#endif #endif
moveq pc, lr moveq pc, lr
do_fpe: get_thread_info r10 @ get current thread get_thread_info r10 @ get current thread
ldr r4, [r10, #TI_TASK] @ get current task and r8, r0, #0x00000f00 @ mask out CP number
mov r8, #1 mov r7, #1
strb r8, [r4, #TSK_USED_MATH] @ set current->used_math add r6, r10, #TI_USED_CP
ldr r4, .LCfp strb r7, [r6, r8, lsr #8] @ set appropriate used_cp[]
add pc, pc, r8, lsr #6
mov r0, r0
mov pc, lr @ CP#0
b do_fpe @ CP#1 (FPE)
b do_fpe @ CP#2 (FPE)
mov pc, lr @ CP#3
mov pc, lr @ CP#4
mov pc, lr @ CP#5
mov pc, lr @ CP#6
mov pc, lr @ CP#7
mov pc, lr @ CP#8
mov pc, lr @ CP#9
mov pc, lr @ CP#10 (VFP)
mov pc, lr @ CP#11 (VFP)
mov pc, lr @ CP#12
mov pc, lr @ CP#13
mov pc, lr @ CP#14 (Debug)
mov pc, lr @ CP#15 (Control)
do_fpe: ldr r4, .LCfp
add r10, r10, #TI_FPSTATE @ r10 = workspace add r10, r10, #TI_FPSTATE @ r10 = workspace
ldr pc, [r4] @ Call FP module USR entry point ldr pc, [r4] @ Call FP module USR entry point
/* /*
* The FP module is called with these registers set: * The FP module is called with these registers set:
* r0 = instruction * r0 = instruction
...@@ -989,6 +970,11 @@ do_fpe: get_thread_info r10 @ get current thread ...@@ -989,6 +970,11 @@ do_fpe: get_thread_info r10 @ get current thread
* lr = unrecognised FP instruction return address * lr = unrecognised FP instruction return address
*/ */
.data
ENTRY(fp_enter)
.word fpundefinstr
.text
fpundefinstr: mov r0, sp fpundefinstr: mov r0, sp
adrsvc al, lr, ret_from_exception adrsvc al, lr, ret_from_exception
b do_undefinstr b do_undefinstr
...@@ -1016,10 +1002,6 @@ ENTRY(ret_from_exception) ...@@ -1016,10 +1002,6 @@ ENTRY(ret_from_exception)
mov why, #0 mov why, #0
b ret_to_user b ret_to_user
.data
ENTRY(fp_enter)
.word fpe_not_present
.text
/* /*
* Register switch for ARMv3 and ARMv4 processors * Register switch for ARMv3 and ARMv4 processors
* r0 = previous thread_info, r1 = next thread_info * r0 = previous thread_info, r1 = next thread_info
......
...@@ -307,8 +307,7 @@ void flush_thread(void) ...@@ -307,8 +307,7 @@ void flush_thread(void)
struct thread_info *thread = current_thread_info(); struct thread_info *thread = current_thread_info();
struct task_struct *tsk = current; struct task_struct *tsk = current;
tsk->used_math = 0; memset(thread->used_cp, 0, sizeof(thread->used_cp));
memset(&tsk->thread.debug, 0, sizeof(struct debug_info)); memset(&tsk->thread.debug, 0, sizeof(struct debug_info));
fp_init(&thread->fpstate); fp_init(&thread->fpstate);
} }
...@@ -344,12 +343,12 @@ copy_thread(int nr, unsigned long clone_flags, unsigned long stack_start, ...@@ -344,12 +343,12 @@ copy_thread(int nr, unsigned long clone_flags, unsigned long stack_start,
int dump_fpu (struct pt_regs *regs, struct user_fp *fp) int dump_fpu (struct pt_regs *regs, struct user_fp *fp)
{ {
struct thread_info *thread = current_thread_info(); struct thread_info *thread = current_thread_info();
int used_math = current->used_math; int used_math = thread->used_cp[1] | thread->used_cp[2];
if (used_math) if (used_math)
memcpy(fp, &thread->fpstate.soft, sizeof (*fp)); memcpy(fp, &thread->fpstate.soft, sizeof (*fp));
return used_math; return used_math != 0;
} }
/* /*
......
...@@ -602,8 +602,9 @@ static int ptrace_getfpregs(struct task_struct *tsk, void *ufp) ...@@ -602,8 +602,9 @@ static int ptrace_getfpregs(struct task_struct *tsk, void *ufp)
*/ */
static int ptrace_setfpregs(struct task_struct *tsk, void *ufp) static int ptrace_setfpregs(struct task_struct *tsk, void *ufp)
{ {
tsk->used_math = 1; struct thread_info *thread = tsk->thread_info;
return copy_from_user(&tsk->thread_info->fpstate, ufp, thread->used_cp[1] = thread->used_cp[2] = 1;
return copy_from_user(&thread->fpstate, ufp,
sizeof(struct user_fp)) ? -EFAULT : 0; sizeof(struct user_fp)) ? -EFAULT : 0;
} }
......
...@@ -41,7 +41,7 @@ td3 .req lr ...@@ -41,7 +41,7 @@ td3 .req lr
tst buf, #1 @ odd address? tst buf, #1 @ odd address?
ldrneb td0, [buf], #1 ldrneb td0, [buf], #1
subne len, len, #1 subne len, len, #1
adcnes sum, sum, td0, lsl #byte(1) adcnes sum, sum, td0, put_byte_1
.less4: tst len, #6 .less4: tst len, #6
beq .less8_byte beq .less8_byte
...@@ -68,7 +68,7 @@ td3 .req lr ...@@ -68,7 +68,7 @@ td3 .req lr
.less8_byte: tst len, #1 @ odd number of bytes .less8_byte: tst len, #1 @ odd number of bytes
ldrneb td0, [buf], #1 @ include last byte ldrneb td0, [buf], #1 @ include last byte
adcnes sum, sum, td0, lsl #byte(0) @ update checksum adcnes sum, sum, td0, put_byte_0 @ update checksum
.done: adc r0, sum, #0 @ collect up the last carry .done: adc r0, sum, #0 @ collect up the last carry
ldr td0, [sp], #4 ldr td0, [sp], #4
...@@ -80,7 +80,7 @@ td3 .req lr ...@@ -80,7 +80,7 @@ td3 .req lr
.not_aligned: tst buf, #1 @ odd address .not_aligned: tst buf, #1 @ odd address
ldrneb td0, [buf], #1 @ make even ldrneb td0, [buf], #1 @ make even
subne len, len, #1 subne len, len, #1
adcnes sum, sum, td0, lsl #byte(1) @ update checksum adcnes sum, sum, td0, put_byte_1 @ update checksum
tst buf, #2 @ 32-bit aligned? tst buf, #2 @ 32-bit aligned?
#if __LINUX_ARM_ARCH__ >= 4 #if __LINUX_ARM_ARCH__ >= 4
......
...@@ -36,16 +36,16 @@ sum .req r3 ...@@ -36,16 +36,16 @@ sum .req r3
load1b ip load1b ip
sub len, len, #1 sub len, len, #1
adcs sum, sum, ip, lsl #byte(1) @ update checksum adcs sum, sum, ip, put_byte_1 @ update checksum
strb ip, [dst], #1 strb ip, [dst], #1
tst dst, #2 tst dst, #2
moveq pc, lr @ dst is now 32bit aligned moveq pc, lr @ dst is now 32bit aligned
.dst_16bit: load2b r8, ip .dst_16bit: load2b r8, ip
sub len, len, #2 sub len, len, #2
adcs sum, sum, r8, lsl #byte(0) adcs sum, sum, r8, put_byte_0
strb r8, [dst], #1 strb r8, [dst], #1
adcs sum, sum, ip, lsl #byte(1) adcs sum, sum, ip, put_byte_1
strb ip, [dst], #1 strb ip, [dst], #1
mov pc, lr @ dst is now 32bit aligned mov pc, lr @ dst is now 32bit aligned
...@@ -63,16 +63,16 @@ sum .req r3 ...@@ -63,16 +63,16 @@ sum .req r3
/* Align dst */ /* Align dst */
load1b ip load1b ip
sub len, len, #1 sub len, len, #1
adcs sum, sum, ip, lsl #byte(1) @ update checksum adcs sum, sum, ip, put_byte_1 @ update checksum
strb ip, [dst], #1 strb ip, [dst], #1
tst len, #6 tst len, #6
beq .less8_byteonly beq .less8_byteonly
1: load2b r8, ip 1: load2b r8, ip
sub len, len, #2 sub len, len, #2
adcs sum, sum, r8, lsl #byte(0) adcs sum, sum, r8, put_byte_0
strb r8, [dst], #1 strb r8, [dst], #1
adcs sum, sum, ip, lsl #byte(1) adcs sum, sum, ip, put_byte_1
strb ip, [dst], #1 strb ip, [dst], #1
.less8_aligned: tst len, #6 .less8_aligned: tst len, #6
bne 1b bne 1b
...@@ -80,7 +80,7 @@ sum .req r3 ...@@ -80,7 +80,7 @@ sum .req r3
tst len, #1 tst len, #1
beq .done beq .done
load1b r8 load1b r8
adcs sum, sum, r8, lsl #byte(0) @ update checksum adcs sum, sum, r8, put_byte_0 @ update checksum
strb r8, [dst], #1 strb r8, [dst], #1
b .done b .done
...@@ -139,17 +139,17 @@ FN_ENTRY ...@@ -139,17 +139,17 @@ FN_ENTRY
beq .done beq .done
load1l r4 load1l r4
tst len, #2 tst len, #2
mov r5, r4, lsr #byte(0) mov r5, r4, get_byte_0
beq .exit beq .exit
adcs sum, sum, r4, push #16 adcs sum, sum, r4, push #16
strb r5, [dst], #1 strb r5, [dst], #1
mov r5, r4, lsr #byte(1) mov r5, r4, get_byte_1
strb r5, [dst], #1 strb r5, [dst], #1
mov r5, r4, lsr #byte(2) mov r5, r4, get_byte_2
.exit: tst len, #1 .exit: tst len, #1
strneb r5, [dst], #1 strneb r5, [dst], #1
andne r5, r5, #255 andne r5, r5, #255
adcnes sum, sum, r5, lsl #byte(0) adcnes sum, sum, r5, put_byte_0
/* /*
* If the dst pointer was not 16-bit aligned, we * If the dst pointer was not 16-bit aligned, we
...@@ -213,14 +213,14 @@ FN_ENTRY ...@@ -213,14 +213,14 @@ FN_ENTRY
mov r4, r5, pull #8 mov r4, r5, pull #8
4: ands len, len, #3 4: ands len, len, #3
beq .done beq .done
mov r5, r4, lsr #byte(0) mov r5, r4, get_byte_0
tst len, #2 tst len, #2
beq .exit beq .exit
adcs sum, sum, r4, push #16 adcs sum, sum, r4, push #16
strb r5, [dst], #1 strb r5, [dst], #1
mov r5, r4, lsr #byte(1) mov r5, r4, get_byte_1
strb r5, [dst], #1 strb r5, [dst], #1
mov r5, r4, lsr #byte(2) mov r5, r4, get_byte_2
b .exit b .exit
.src2_aligned: mov r4, r5, pull #16 .src2_aligned: mov r4, r5, pull #16
...@@ -265,12 +265,12 @@ FN_ENTRY ...@@ -265,12 +265,12 @@ FN_ENTRY
mov r4, r5, pull #16 mov r4, r5, pull #16
4: ands len, len, #3 4: ands len, len, #3
beq .done beq .done
mov r5, r4, lsr #byte(0) mov r5, r4, get_byte_0
tst len, #2 tst len, #2
beq .exit beq .exit
adcs sum, sum, r4 adcs sum, sum, r4
strb r5, [dst], #1 strb r5, [dst], #1
mov r5, r4, lsr #byte(1) mov r5, r4, get_byte_1
strb r5, [dst], #1 strb r5, [dst], #1
tst len, #1 tst len, #1
beq .done beq .done
...@@ -319,14 +319,14 @@ FN_ENTRY ...@@ -319,14 +319,14 @@ FN_ENTRY
mov r4, r5, pull #24 mov r4, r5, pull #24
4: ands len, len, #3 4: ands len, len, #3
beq .done beq .done
mov r5, r4, lsr #byte(0) mov r5, r4, get_byte_0
tst len, #2 tst len, #2
beq .exit beq .exit
strb r5, [dst], #1 strb r5, [dst], #1
adcs sum, sum, r4 adcs sum, sum, r4
load1l r4 load1l r4
mov r5, r4, lsr #byte(0) mov r5, r4, get_byte_0
strb r5, [dst], #1 strb r5, [dst], #1
adcs sum, sum, r4, push #24 adcs sum, sum, r4, push #24
mov r5, r4, lsr #byte(1) mov r5, r4, get_byte_1
b .exit b .exit
...@@ -37,35 +37,35 @@ ENTRY(__raw_readsb) ...@@ -37,35 +37,35 @@ ENTRY(__raw_readsb)
.insb_16_lp: ldrb r3, [r0] .insb_16_lp: ldrb r3, [r0]
ldrb r4, [r0] ldrb r4, [r0]
ldrb r5, [r0] ldrb r5, [r0]
mov r3, r3, lsl #byte(0) mov r3, r3, put_byte_0
ldrb r6, [r0] ldrb r6, [r0]
orr r3, r3, r4, lsl #byte(1) orr r3, r3, r4, put_byte_1
ldrb r4, [r0] ldrb r4, [r0]
orr r3, r3, r5, lsl #byte(2) orr r3, r3, r5, put_byte_2
ldrb r5, [r0] ldrb r5, [r0]
orr r3, r3, r6, lsl #byte(3) orr r3, r3, r6, put_byte_3
ldrb r6, [r0] ldrb r6, [r0]
mov r4, r4, lsl #byte(0) mov r4, r4, put_byte_0
ldrb ip, [r0] ldrb ip, [r0]
orr r4, r4, r5, lsl #byte(1) orr r4, r4, r5, put_byte_1
ldrb r5, [r0] ldrb r5, [r0]
orr r4, r4, r6, lsl #byte(2) orr r4, r4, r6, put_byte_2
ldrb r6, [r0] ldrb r6, [r0]
orr r4, r4, ip, lsl #byte(3) orr r4, r4, ip, put_byte_3
ldrb ip, [r0] ldrb ip, [r0]
mov r5, r5, lsl #byte(0) mov r5, r5, put_byte_0
ldrb lr, [r0] ldrb lr, [r0]
orr r5, r5, r6, lsl #byte(1) orr r5, r5, r6, put_byte_1
ldrb r6, [r0] ldrb r6, [r0]
orr r5, r5, ip, lsl #byte(2) orr r5, r5, ip, put_byte_2
ldrb ip, [r0] ldrb ip, [r0]
orr r5, r5, lr, lsl #byte(3) orr r5, r5, lr, put_byte_3
ldrb lr, [r0] ldrb lr, [r0]
mov r6, r6, lsl #byte(0) mov r6, r6, put_byte_0
orr r6, r6, ip, lsl #byte(1) orr r6, r6, ip, put_byte_1
ldrb ip, [r0] ldrb ip, [r0]
orr r6, r6, lr, lsl #byte(2) orr r6, r6, lr, put_byte_2
orr r6, r6, ip, lsl #byte(3) orr r6, r6, ip, put_byte_3
stmia r1!, {r3 - r6} stmia r1!, {r3 - r6}
subs r2, r2, #16 subs r2, r2, #16
...@@ -80,19 +80,19 @@ ENTRY(__raw_readsb) ...@@ -80,19 +80,19 @@ ENTRY(__raw_readsb)
ldrb r3, [r0] ldrb r3, [r0]
ldrb r4, [r0] ldrb r4, [r0]
ldrb r5, [r0] ldrb r5, [r0]
mov r3, r3, lsl #byte(0) mov r3, r3, put_byte_0
ldrb r6, [r0] ldrb r6, [r0]
orr r3, r3, r4, lsl #byte(1) orr r3, r3, r4, put_byte_1
ldrb r4, [r0] ldrb r4, [r0]
orr r3, r3, r5, lsl #byte(2) orr r3, r3, r5, put_byte_2
ldrb r5, [r0] ldrb r5, [r0]
orr r3, r3, r6, lsl #byte(3) orr r3, r3, r6, put_byte_3
ldrb r6, [r0] ldrb r6, [r0]
mov r4, r4, lsl #byte(0) mov r4, r4, put_byte_0
ldrb ip, [r0] ldrb ip, [r0]
orr r4, r4, r5, lsl #byte(1) orr r4, r4, r5, put_byte_1
orr r4, r4, r6, lsl #byte(2) orr r4, r4, r6, put_byte_2
orr r4, r4, ip, lsl #byte(3) orr r4, r4, ip, put_byte_3
stmia r1!, {r3, r4} stmia r1!, {r3, r4}
.insb_no_8: tst r2, #4 .insb_no_8: tst r2, #4
...@@ -102,10 +102,10 @@ ENTRY(__raw_readsb) ...@@ -102,10 +102,10 @@ ENTRY(__raw_readsb)
ldrb r4, [r0] ldrb r4, [r0]
ldrb r5, [r0] ldrb r5, [r0]
ldrb r6, [r0] ldrb r6, [r0]
mov r3, r3, lsl #byte(0) mov r3, r3, put_byte_0
orr r3, r3, r4, lsl #byte(1) orr r3, r3, r4, put_byte_1
orr r3, r3, r5, lsl #byte(2) orr r3, r3, r5, put_byte_2
orr r3, r3, r6, lsl #byte(3) orr r3, r3, r6, put_byte_3
str r3, [r1], #4 str r3, [r1], #4
.insb_no_4: ands r2, r2, #3 .insb_no_4: ands r2, r2, #3
......
...@@ -183,14 +183,14 @@ USER( strt r3, [r0], #4) @ May fault ...@@ -183,14 +183,14 @@ USER( strt r3, [r0], #4) @ May fault
strnet r3, [r0], #4 @ Shouldnt fault strnet r3, [r0], #4 @ Shouldnt fault
ands ip, ip, #3 ands ip, ip, #3
beq .c2u_1fupi beq .c2u_1fupi
.c2u_1nowords: mov r3, r7, lsr #byte(1) .c2u_1nowords: mov r3, r7, get_byte_1
teq ip, #0 teq ip, #0
beq .c2u_finished beq .c2u_finished
cmp ip, #2 cmp ip, #2
USER( strbt r3, [r0], #1) @ May fault USER( strbt r3, [r0], #1) @ May fault
movge r3, r7, lsr #byte(2) movge r3, r7, get_byte_2
USER( strgebt r3, [r0], #1) @ May fault USER( strgebt r3, [r0], #1) @ May fault
movgt r3, r7, lsr #byte(3) movgt r3, r7, get_byte_3
USER( strgtbt r3, [r0], #1) @ May fault USER( strgtbt r3, [r0], #1) @ May fault
b .c2u_finished b .c2u_finished
...@@ -250,12 +250,12 @@ USER( strt r3, [r0], #4) @ May fault ...@@ -250,12 +250,12 @@ USER( strt r3, [r0], #4) @ May fault
strnet r3, [r0], #4 @ Shouldnt fault strnet r3, [r0], #4 @ Shouldnt fault
ands ip, ip, #3 ands ip, ip, #3
beq .c2u_2fupi beq .c2u_2fupi
.c2u_2nowords: mov r3, r7, lsr #byte(2) .c2u_2nowords: mov r3, r7, get_byte_2
teq ip, #0 teq ip, #0
beq .c2u_finished beq .c2u_finished
cmp ip, #2 cmp ip, #2
USER( strbt r3, [r0], #1) @ May fault USER( strbt r3, [r0], #1) @ May fault
movge r3, r7, lsr #byte(3) movge r3, r7, get_byte_3
USER( strgebt r3, [r0], #1) @ May fault USER( strgebt r3, [r0], #1) @ May fault
ldrgtb r3, [r1], #0 ldrgtb r3, [r1], #0
USER( strgtbt r3, [r0], #1) @ May fault USER( strgtbt r3, [r0], #1) @ May fault
...@@ -317,7 +317,7 @@ USER( strt r3, [r0], #4) @ May fault ...@@ -317,7 +317,7 @@ USER( strt r3, [r0], #4) @ May fault
strnet r3, [r0], #4 @ Shouldnt fault strnet r3, [r0], #4 @ Shouldnt fault
ands ip, ip, #3 ands ip, ip, #3
beq .c2u_3fupi beq .c2u_3fupi
.c2u_3nowords: mov r3, r7, lsr #byte(3) .c2u_3nowords: mov r3, r7, get_byte_3
teq ip, #0 teq ip, #0
beq .c2u_finished beq .c2u_finished
cmp ip, #2 cmp ip, #2
...@@ -496,14 +496,14 @@ USER( ldrnet r7, [r1], #4) @ May fault ...@@ -496,14 +496,14 @@ USER( ldrnet r7, [r1], #4) @ May fault
strne r3, [r0], #4 strne r3, [r0], #4
ands ip, ip, #3 ands ip, ip, #3
beq .cfu_1fupi beq .cfu_1fupi
.cfu_1nowords: mov r3, r7, lsr #byte(1) .cfu_1nowords: mov r3, r7, get_byte_1
teq ip, #0 teq ip, #0
beq .cfu_finished beq .cfu_finished
cmp ip, #2 cmp ip, #2
strb r3, [r0], #1 strb r3, [r0], #1
movge r3, r7, lsr #byte(2) movge r3, r7, get_byte_2
strgeb r3, [r0], #1 strgeb r3, [r0], #1
movgt r3, r7, lsr #byte(3) movgt r3, r7, get_byte_3
strgtb r3, [r0], #1 strgtb r3, [r0], #1
b .cfu_finished b .cfu_finished
...@@ -563,12 +563,12 @@ USER( ldrnet r7, [r1], #4) @ May fault ...@@ -563,12 +563,12 @@ USER( ldrnet r7, [r1], #4) @ May fault
strne r3, [r0], #4 strne r3, [r0], #4
ands ip, ip, #3 ands ip, ip, #3
beq .cfu_2fupi beq .cfu_2fupi
.cfu_2nowords: mov r3, r7, lsr #byte(2) .cfu_2nowords: mov r3, r7, get_byte_2
teq ip, #0 teq ip, #0
beq .cfu_finished beq .cfu_finished
cmp ip, #2 cmp ip, #2
strb r3, [r0], #1 strb r3, [r0], #1
movge r3, r7, lsr #byte(3) movge r3, r7, get_byte_3
strgeb r3, [r0], #1 strgeb r3, [r0], #1
USER( ldrgtbt r3, [r1], #0) @ May fault USER( ldrgtbt r3, [r1], #0) @ May fault
strgtb r3, [r0], #1 strgtb r3, [r0], #1
...@@ -630,7 +630,7 @@ USER( ldrnet r7, [r1], #4) @ May fault ...@@ -630,7 +630,7 @@ USER( ldrnet r7, [r1], #4) @ May fault
strne r3, [r0], #4 strne r3, [r0], #4
ands ip, ip, #3 ands ip, ip, #3
beq .cfu_3fupi beq .cfu_3fupi
.cfu_3nowords: mov r3, r7, lsr #byte(3) .cfu_3nowords: mov r3, r7, get_byte_3
teq ip, #0 teq ip, #0
beq .cfu_finished beq .cfu_finished
cmp ip, #2 cmp ip, #2
......
/* /*
* linux/arch/arm/mach-sa1100/cerf.c * linux/arch/arm/mach-sa1100/cerf.c
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* Apr-2003 : Removed some old PDA crud [FB]
* Oct-2003 : Added uart2 resource [FB]
* Jan-2004 : Removed io map for flash [FB]
*/ */
#include <linux/config.h> #include <linux/config.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/tty.h> #include <linux/tty.h>
#include <linux/device.h>
#include <asm/irq.h> #include <asm/irq.h>
#include <asm/hardware.h> #include <asm/hardware.h>
#include <asm/setup.h> #include <asm/setup.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h> #include <asm/mach/arch.h>
#include <asm/mach/map.h> #include <asm/mach/map.h>
#include <asm/mach/serial_sa1100.h> #include <asm/mach/serial_sa1100.h>
#include <asm/arch/cerf.h>
#include "generic.h" #include "generic.h"
static struct resource cerfuart2_resources[] = {
[0] = {
.start = 0x80030000,
.end = 0x8003ffff,
.flags = IORESOURCE_MEM,
},
};
static struct platform_device cerfuart2_device = {
.name = "sa11x0-uart",
.id = 2,
.num_resources = ARRAY_SIZE(cerfuart2_resources),
.resource = cerfuart2_resources,
};
static struct platform_device *cerf_devices[] __initdata = {
&cerfuart2_device,
};
static void __init cerf_init_irq(void) static void __init cerf_init_irq(void)
{ {
sa1100_init_irq(); sa1100_init_irq();
set_irq_type(CERF_ETH_IRQ, IRQT_RISING);
/* Need to register these as rising edge interrupts
* For standard 16550 serial driver support
* Basically - I copied it from pfs168.c :)
*/
#ifdef CONFIG_SA1100_CERF_CPLD
/* PDA Full serial port */
set_irq_type(IRQ_GPIO3, IRQT_RISING);
/* PDA Bluetooth */
set_irq_type(IRQ_GPIO2, IRQT_RISING);
#endif /* CONFIG_SA1100_CERF_CPLD */
set_irq_type(IRQ_GPIO_UCB1200_IRQ, IRQT_RISING);
} }
static struct map_desc cerf_io_desc[] __initdata = { static struct map_desc cerf_io_desc[] __initdata = {
/* virtual physical length type */ /* virtual physical length type */
{ 0xf0000000, 0x08000000, 0x00100000, MT_DEVICE } /* Crystal Ethernet Chip */ { 0xf0000000, 0x08000000, 0x00100000, MT_DEVICE } /* Crystal Ethernet Chip */
#ifdef CONFIG_SA1100_CERF_CPLD
,{ 0xf1000000, 0x40000000, 0x00100000, MT_DEVICE }, /* CPLD Chip */
{ 0xf2000000, 0x10000000, 0x00100000, MT_DEVICE }, /* CerfPDA Bluetooth */
{ 0xf3000000, 0x18000000, 0x00100000, MT_DEVICE } /* CerfPDA Serial */
#endif
}; };
static void __init cerf_map_io(void) static void __init cerf_map_io(void)
...@@ -51,21 +64,30 @@ static void __init cerf_map_io(void) ...@@ -51,21 +64,30 @@ static void __init cerf_map_io(void)
iotable_init(cerf_io_desc, ARRAY_SIZE(cerf_io_desc)); iotable_init(cerf_io_desc, ARRAY_SIZE(cerf_io_desc));
sa1100_register_uart(0, 3); sa1100_register_uart(0, 3);
#ifdef CONFIG_SA1100_CERF_IRDA_ENABLED sa1100_register_uart(1, 2); /* disable this and the uart2 device for sa1100_fir */
sa1100_register_uart(1, 1);
#else
sa1100_register_uart(1, 2);
sa1100_register_uart(2, 1); sa1100_register_uart(2, 1);
#endif
/* set some GPDR bits here while it's safe */ /* set some GPDR bits here while it's safe */
GPDR |= GPIO_CF_RESET; GPDR |= CERF_GPIO_CF_RESET;
#ifdef CONFIG_SA1100_CERF_CPLD
GPDR |= GPIO_PWR_SHUTDOWN;
#endif
} }
MACHINE_START(CERF, "Intrinsyc's Cerf Family of Products") static int __init cerf_init(void)
{
int ret;
if (!machine_is_cerf())
return -ENODEV;
ret = platform_add_devices(cerf_devices, ARRAY_SIZE(cerf_devices));
if (ret < 0)
return ret;
return 0;
}
arch_initcall(cerf_init);
MACHINE_START(CERF, "Intrinsyc CerfBoard/CerfCube")
MAINTAINER("support@intrinsyc.com") MAINTAINER("support@intrinsyc.com")
BOOT_MEM(0xc0000000, 0x80000000, 0xf8000000) BOOT_MEM(0xc0000000, 0x80000000, 0xf8000000)
MAPIO(cerf_map_io) MAPIO(cerf_map_io)
......
...@@ -99,6 +99,7 @@ unsigned int sa11x0_getspeed(void) ...@@ -99,6 +99,7 @@ unsigned int sa11x0_getspeed(void)
{ {
return cclk_frequency_100khz[PPCR & 0xf] * 100; return cclk_frequency_100khz[PPCR & 0xf] * 100;
} }
EXPORT_SYMBOL(sa11x0_getspeed);
#else #else
/* /*
* We still need to provide this so building without cpufreq works. * We still need to provide this so building without cpufreq works.
......
...@@ -154,50 +154,34 @@ static struct mtd_partition badge4_partitions[] = { ...@@ -154,50 +154,34 @@ static struct mtd_partition badge4_partitions[] = {
#ifdef CONFIG_SA1100_CERF #ifdef CONFIG_SA1100_CERF
#ifdef CONFIG_SA1100_CERF_FLASH_32MB #ifdef CONFIG_SA1100_CERF_FLASH_32MB
static struct mtd_partition cerf_partitions[] = { # define CERF_FLASH_SIZE 0x02000000
{
.name = "firmware",
.size = 0x00040000,
.offset = 0,
}, {
.name = "params",
.size = 0x00040000,
.offset = 0x00040000,
}, {
.name = "kernel",
.size = 0x00100000,
.offset = 0x00080000,
}, {
.name = "rootdisk",
.size = 0x01E80000,
.offset = 0x00180000,
}
};
#elif defined CONFIG_SA1100_CERF_FLASH_16MB #elif defined CONFIG_SA1100_CERF_FLASH_16MB
# define CERF_FLASH_SIZE 0x01000000
#elif defined CONFIG_SA1100_CERF_FLASH_8MB
# define CERF_FLASH_SIZE 0x00800000
#else
# error "Undefined flash size for CERF in sa1100-flash.c"
#endif
static struct mtd_partition cerf_partitions[] = { static struct mtd_partition cerf_partitions[] = {
{ {
.name = "firmware", .name = "Bootloader",
.size = 0x00020000, .size = 0x00020000,
.offset = 0, .offset = 0x00000000,
}, { }, {
.name = "params", .name = "Params",
.size = 0x00020000, .size = 0x00040000,
.offset = 0x00020000, .offset = 0x00020000,
}, { }, {
.name = "kernel", .name = "Kernel",
.size = 0x00100000, .size = 0x00100000,
.offset = 0x00040000, .offset = 0x00060000,
}, { }, {
.name = "rootdisk", .name = "Filesystem",
.size = 0x00EC0000, .size = CERF_FLASH_SIZE-0x00160000,
.offset = 0x00140000, .offset = 0x00160000,
} }
}; };
#elif defined CONFIG_SA1100_CERF_FLASH_8MB
# error "Unwritten type definition"
#else
# error "Undefined memory orientation for CERF in sa1100-flash.c"
#endif
#endif #endif
#ifdef CONFIG_SA1100_CONSUS #ifdef CONFIG_SA1100_CONSUS
......
...@@ -11,27 +11,25 @@ ...@@ -11,27 +11,25 @@
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/device.h> #include <linux/device.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/delay.h>
#include <asm/hardware.h> #include <asm/hardware.h>
#include <asm/mach-types.h> #include <asm/mach-types.h>
#include <asm/irq.h> #include <asm/irq.h>
#include <asm/arch/cerf.h>
#include "sa1100_generic.h" #include "sa1100_generic.h"
#ifdef CONFIG_SA1100_CERF_CPLD
#define CERF_SOCKET 0
#else
#define CERF_SOCKET 1 #define CERF_SOCKET 1
#endif
static struct pcmcia_irqs irqs[] = { static struct pcmcia_irqs irqs[] = {
{ CERF_SOCKET, IRQ_GPIO_CF_CD, "CF_CD" }, { CERF_SOCKET, CERF_IRQ_GPIO_CF_CD, "CF_CD" },
{ CERF_SOCKET, IRQ_GPIO_CF_BVD2, "CF_BVD2" }, { CERF_SOCKET, CERF_IRQ_GPIO_CF_BVD2, "CF_BVD2" },
{ CERF_SOCKET, IRQ_GPIO_CF_BVD1, "CF_BVD1" } { CERF_SOCKET, CERF_IRQ_GPIO_CF_BVD1, "CF_BVD1" }
}; };
static int cerf_pcmcia_hw_init(struct sa1100_pcmcia_socket *skt) static int cerf_pcmcia_hw_init(struct sa1100_pcmcia_socket *skt)
{ {
skt->irq = IRQ_GPIO_CF_IRQ; skt->irq = CERF_IRQ_GPIO_CF_IRQ;
return sa11xx_request_irqs(skt, irqs, ARRAY_SIZE(irqs)); return sa11xx_request_irqs(skt, irqs, ARRAY_SIZE(irqs));
} }
...@@ -46,13 +44,13 @@ cerf_pcmcia_socket_state(struct sa1100_pcmcia_socket *skt, struct pcmcia_state * ...@@ -46,13 +44,13 @@ cerf_pcmcia_socket_state(struct sa1100_pcmcia_socket *skt, struct pcmcia_state *
{ {
unsigned long levels = GPLR; unsigned long levels = GPLR;
state->detect=((levels & GPIO_CF_CD)==0)?1:0; state->detect = (levels & CERF_GPIO_CF_CD) ?0:1;
state->ready=(levels & GPIO_CF_IRQ)?1:0; state->ready = (levels & CERF_GPIO_CF_IRQ) ?1:0;
state->bvd1=(levels & GPIO_CF_BVD1)?1:0; state->bvd1 = (levels & CERF_GPIO_CF_BVD1)?1:0;
state->bvd2=(levels & GPIO_CF_BVD2)?1:0; state->bvd2 = (levels & CERF_GPIO_CF_BVD2)?1:0;
state->wrprot=0; state->wrprot = 0;
state->vs_3v=1; state->vs_3v = 1;
state->vs_Xv=0; state->vs_Xv = 0;
} }
static int static int
...@@ -61,13 +59,8 @@ cerf_pcmcia_configure_socket(struct sa1100_pcmcia_socket *skt, ...@@ -61,13 +59,8 @@ cerf_pcmcia_configure_socket(struct sa1100_pcmcia_socket *skt,
{ {
switch (state->Vcc) { switch (state->Vcc) {
case 0: case 0:
break;
case 50: case 50:
case 33: case 33:
#ifdef CONFIG_SA1100_CERF_CPLD
GPCR = GPIO_PWR_SHUTDOWN;
#endif
break; break;
default: default:
...@@ -77,13 +70,9 @@ cerf_pcmcia_configure_socket(struct sa1100_pcmcia_socket *skt, ...@@ -77,13 +70,9 @@ cerf_pcmcia_configure_socket(struct sa1100_pcmcia_socket *skt,
} }
if (state->flags & SS_RESET) { if (state->flags & SS_RESET) {
#ifdef CONFIG_SA1100_CERF_CPLD GPSR = CERF_GPIO_CF_RESET;
GPSR = GPIO_CF_RESET;
#endif
} else { } else {
#ifdef CONFIG_SA1100_CERF_CPLD GPCR = CERF_GPIO_CF_RESET;
GPCR = GPIO_CF_RESET;
#endif
} }
return 0; return 0;
...@@ -101,8 +90,8 @@ static void cerf_pcmcia_socket_suspend(struct sa1100_pcmcia_socket *skt) ...@@ -101,8 +90,8 @@ static void cerf_pcmcia_socket_suspend(struct sa1100_pcmcia_socket *skt)
static struct pcmcia_low_level cerf_pcmcia_ops = { static struct pcmcia_low_level cerf_pcmcia_ops = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.init = cerf_pcmcia_hw_init, .hw_init = cerf_pcmcia_hw_init,
.shutdown = cerf_pcmcia_hw_shutdown, .hw_shutdown = cerf_pcmcia_hw_shutdown,
.socket_state = cerf_pcmcia_socket_state, .socket_state = cerf_pcmcia_socket_state,
.configure_socket = cerf_pcmcia_configure_socket, .configure_socket = cerf_pcmcia_configure_socket,
......
/*
* include/asm-arm/arch-sa1100/cerf.h
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* Apr-2003 : Removed some old PDA crud [FB]
*/
#ifndef _INCLUDE_CERF_H_ #ifndef _INCLUDE_CERF_H_
#define _INCLUDE_CERF_H_ #define _INCLUDE_CERF_H_
#include <linux/config.h> #include <linux/config.h>
#ifdef CONFIG_SA1100_CERF_CPLD #define CERF_ETH_IO 0xf0000000
#define CERF_ETH_IRQ IRQ_GPIO26
#define CERF_GPIO_CF_BVD2 GPIO_GPIO (19)
#define CERF_GPIO_CF_BVD1 GPIO_GPIO (20)
#define CERF_GPIO_CF_RESET GPIO_GPIO (21)
#define CERF_GPIO_CF_IRQ GPIO_GPIO (22)
#define CERF_GPIO_CF_CD GPIO_GPIO (23)
// Map sa1100fb.c to sa1100_frontlight.c - Not pretty, but necessary. #define CERF_IRQ_GPIO_CF_BVD2 IRQ_GPIO19
#define CERF_BACKLIGHT_ENABLE sa1100_fl_enable #define CERF_IRQ_GPIO_CF_BVD1 IRQ_GPIO20
#define CERF_BACKLIGHT_DISABLE sa1100_fl_disable #define CERF_IRQ_GPIO_CF_IRQ IRQ_GPIO22
#define CERF_IRQ_GPIO_CF_CD IRQ_GPIO23
//
// IO Pins for devices
//
#define CERF_PDA_CPLD 0xf1000000
#define CERF_PDA_CPLD_WRCLRINT (0x0)
#define CERF_PDA_CPLD_BACKLIGHT (0x2)
#define CERF_PDA_CPLD_SOUND_FREQ (0x4)
#define CERF_PDA_CPLD_KEYPAD_A (0x6)
#define CERF_PDA_CPLD_BATTFAULT (0x8)
#define CERF_PDA_CPLD_KEYPAD_B (0xa)
#define CERF_PDA_CPLD_SOUND_ENA (0xc)
#define CERF_PDA_CPLD_SOUND_RESET (0xe)
#define GPIO_CF_BVD2 GPIO_GPIO (5)
#define GPIO_CF_BVD1 GPIO_GPIO (6)
#define GPIO_CF_RESET GPIO_GPIO (7)
#define GPIO_CF_IRQ GPIO_GPIO (8)
#define GPIO_CF_CD GPIO_GPIO (9)
#define GPIO_PWR_SHUTDOWN GPIO_GPIO (25)
#define UCB1200_GPIO_CONT_CS 0x0001
#define UCB1200_GPIO_CONT_DOWN 0x0002
#define UCB1200_GPIO_CONT_INC 0x0004
#define UCB1200_GPIO_CONT_ENA 0x0008
#define UCB1200_GPIO_LCD_RESET 0x0010
#define UCB1200_GPIO_IRDA_ENABLE 0x0020
#define UCB1200_GPIO_BT_ENABLE 0x0040
#define UCB1200_GPIO_L3_DATA 0x0080
#define UCB1200_GPIO_L3_CLOCK 0x0100
#define UCB1200_GPIO_L3_MODE 0x0200
//
// IRQ for devices
//
#define IRQ_UCB1200_CONT_CS IRQ_UCB1200_IO0
#define IRQ_UCB1200_CONT_DOWN IRQ_UCB1200_IO1
#define IRQ_UCB1200_CONT_INC IRQ_UCB1200_IO2
#define IRQ_UCB1200_CONT_ENA IRQ_UCB1200_IO3
#define IRQ_UCB1200_LCD_RESET IRQ_UCB1200_IO4
#define IRQ_UCB1200_IRDA_ENABLE IRQ_UCB1200_IO5
#define IRQ_UCB1200_BT_ENABLE IRQ_UCB1200_IO6
#define IRQ_UCB1200_L3_DATA IRQ_UCB1200_IO7
#define IRQ_UCB1200_L3_CLOCK IRQ_UCB1200_IO8
#define IRQ_UCB1200_L3_MODE IRQ_UCB1200_IO9
#define IRQ_GPIO_CF_BVD2 IRQ_GPIO5
#define IRQ_GPIO_CF_BVD1 IRQ_GPIO6
#define IRQ_GPIO_CF_IRQ IRQ_GPIO8
#define IRQ_GPIO_CF_CD IRQ_GPIO9
//
// Device parameters
//
#define CERF_PDA_CPLD_SOUND_FREQ_8000 (0x01)
#define CERF_PDA_CPLD_SOUND_FREQ_11025 (0x05)
#define CERF_PDA_CPLD_SOUND_FREQ_16000 (0x02)
#define CERF_PDA_CPLD_SOUND_FREQ_22050 (0x06)
#define CERF_PDA_CPLD_SOUND_FREQ_32000 (0x03)
#define CERF_PDA_CPLD_SOUND_FREQ_44100 (0x07)
#define CERF_PDA_CPLD_SOUND_FREQ_48000 (0x0b)
//
// General Functions
//
#define CERF_PDA_CPLD_Get(x, y) (*((char*)(CERF_PDA_CPLD + (x))) & (y))
#define CERF_PDA_CPLD_Set(x, y, z) (*((char*)(CERF_PDA_CPLD + (x))) = (*((char*)(CERF_PDA_CPLD + (x))) & ~(z)) | (y))
#define CERF_PDA_CPLD_UnSet(x, y, z) (*((char*)(CERF_PDA_CPLD + (x))) = (*((char*)(CERF_PDA_CPLD + (x))) & ~(z)) & ~(y))
#else // CONFIG_SA1100_CERF_CPLD
#define GPIO_CF_BVD2 GPIO_GPIO (19)
#define GPIO_CF_BVD1 GPIO_GPIO (20)
#define GPIO_CF_RESET 0
#define GPIO_CF_IRQ GPIO_GPIO (22)
#define GPIO_CF_CD GPIO_GPIO (23)
#define GPIO_LCD_RESET GPIO_GPIO (15)
#define IRQ_GPIO_CF_BVD2 IRQ_GPIO19
#define IRQ_GPIO_CF_BVD1 IRQ_GPIO20
#define IRQ_GPIO_CF_IRQ IRQ_GPIO22
#define IRQ_GPIO_CF_CD IRQ_GPIO23
#endif // CONFIG_SA1100_CERF_CPLD
#define GPIO_UCB1200_IRQ GPIO_GPIO (18)
#define IRQ_GPIO_UCB1200_IRQ IRQ_GPIO18
#endif // _INCLUDE_CERF_H_ #endif // _INCLUDE_CERF_H_
...@@ -25,11 +25,25 @@ ...@@ -25,11 +25,25 @@
#ifndef __ARMEB__ #ifndef __ARMEB__
#define pull lsr #define pull lsr
#define push lsl #define push lsl
#define byte(x) (x*8) #define get_byte_0 lsl #0
#define get_byte_1 lsr #8
#define get_byte_2 lsr #16
#define get_byte_3 lsr #24
#define put_byte_0 lsl #0
#define put_byte_1 lsl #8
#define put_byte_2 lsl #16
#define put_byte_3 lsl #24
#else #else
#define pull lsl #define pull lsl
#define push lsr #define push lsr
#define byte(x) ((3-x)*8) #define get_byte_0 lsr #24
#define get_byte_1 lsr #16
#define get_byte_2 lsr #8
#define get_byte_3 lsl #0
#define put_byte_0 lsl #24
#define put_byte_1 lsl #16
#define put_byte_2 lsl #8
#define put_byte_3 lsl #0
#endif #endif
/* /*
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
* *
* First, the atomic bitops. These use native endian. * First, the atomic bitops. These use native endian.
*/ */
static inline void ____atomic_set_bit(unsigned int bit, unsigned long *p) static inline void ____atomic_set_bit(unsigned int bit, volatile unsigned long *p)
{ {
unsigned long flags; unsigned long flags;
unsigned long mask = 1UL << (bit & 31); unsigned long mask = 1UL << (bit & 31);
...@@ -41,7 +41,7 @@ static inline void ____atomic_set_bit(unsigned int bit, unsigned long *p) ...@@ -41,7 +41,7 @@ static inline void ____atomic_set_bit(unsigned int bit, unsigned long *p)
local_irq_restore(flags); local_irq_restore(flags);
} }
static inline void ____atomic_clear_bit(unsigned int bit, unsigned long *p) static inline void ____atomic_clear_bit(unsigned int bit, volatile unsigned long *p)
{ {
unsigned long flags; unsigned long flags;
unsigned long mask = 1UL << (bit & 31); unsigned long mask = 1UL << (bit & 31);
...@@ -53,7 +53,7 @@ static inline void ____atomic_clear_bit(unsigned int bit, unsigned long *p) ...@@ -53,7 +53,7 @@ static inline void ____atomic_clear_bit(unsigned int bit, unsigned long *p)
local_irq_restore(flags); local_irq_restore(flags);
} }
static inline void ____atomic_change_bit(unsigned int bit, unsigned long *p) static inline void ____atomic_change_bit(unsigned int bit, volatile unsigned long *p)
{ {
unsigned long flags; unsigned long flags;
unsigned long mask = 1UL << (bit & 31); unsigned long mask = 1UL << (bit & 31);
...@@ -66,7 +66,7 @@ static inline void ____atomic_change_bit(unsigned int bit, unsigned long *p) ...@@ -66,7 +66,7 @@ static inline void ____atomic_change_bit(unsigned int bit, unsigned long *p)
} }
static inline int static inline int
____atomic_test_and_set_bit(unsigned int bit, unsigned long *p) ____atomic_test_and_set_bit(unsigned int bit, volatile unsigned long *p)
{ {
unsigned long flags; unsigned long flags;
unsigned int res; unsigned int res;
...@@ -83,7 +83,7 @@ ____atomic_test_and_set_bit(unsigned int bit, unsigned long *p) ...@@ -83,7 +83,7 @@ ____atomic_test_and_set_bit(unsigned int bit, unsigned long *p)
} }
static inline int static inline int
____atomic_test_and_clear_bit(unsigned int bit, unsigned long *p) ____atomic_test_and_clear_bit(unsigned int bit, volatile unsigned long *p)
{ {
unsigned long flags; unsigned long flags;
unsigned int res; unsigned int res;
...@@ -100,7 +100,7 @@ ____atomic_test_and_clear_bit(unsigned int bit, unsigned long *p) ...@@ -100,7 +100,7 @@ ____atomic_test_and_clear_bit(unsigned int bit, unsigned long *p)
} }
static inline int static inline int
____atomic_test_and_change_bit(unsigned int bit, unsigned long *p) ____atomic_test_and_change_bit(unsigned int bit, volatile unsigned long *p)
{ {
unsigned long flags; unsigned long flags;
unsigned int res; unsigned int res;
...@@ -171,7 +171,7 @@ static inline int __test_and_change_bit(int nr, volatile unsigned long *p) ...@@ -171,7 +171,7 @@ static inline int __test_and_change_bit(int nr, volatile unsigned long *p)
/* /*
* This routine doesn't need to be atomic. * This routine doesn't need to be atomic.
*/ */
static inline int __test_bit(int nr, const unsigned long * p) static inline int __test_bit(int nr, const volatile unsigned long * p)
{ {
return (p[nr >> 5] >> (nr & 31)) & 1UL; return (p[nr >> 5] >> (nr & 31)) & 1UL;
} }
...@@ -204,24 +204,24 @@ static inline int __test_bit(int nr, const unsigned long * p) ...@@ -204,24 +204,24 @@ static inline int __test_bit(int nr, const unsigned long * p)
/* /*
* Little endian assembly bitops. nr = 0 -> byte 0 bit 0. * Little endian assembly bitops. nr = 0 -> byte 0 bit 0.
*/ */
extern void _set_bit_le(int nr, unsigned long * p); extern void _set_bit_le(int nr, volatile unsigned long * p);
extern void _clear_bit_le(int nr, unsigned long * p); extern void _clear_bit_le(int nr, volatile unsigned long * p);
extern void _change_bit_le(int nr, unsigned long * p); extern void _change_bit_le(int nr, volatile unsigned long * p);
extern int _test_and_set_bit_le(int nr, unsigned long * p); extern int _test_and_set_bit_le(int nr, volatile unsigned long * p);
extern int _test_and_clear_bit_le(int nr, unsigned long * p); extern int _test_and_clear_bit_le(int nr, volatile unsigned long * p);
extern int _test_and_change_bit_le(int nr, unsigned long * p); extern int _test_and_change_bit_le(int nr, volatile unsigned long * p);
extern int _find_first_zero_bit_le(void * p, unsigned size); extern int _find_first_zero_bit_le(void * p, unsigned size);
extern int _find_next_zero_bit_le(void * p, int size, int offset); extern int _find_next_zero_bit_le(void * p, int size, int offset);
/* /*
* Big endian assembly bitops. nr = 0 -> byte 3 bit 0. * Big endian assembly bitops. nr = 0 -> byte 3 bit 0.
*/ */
extern void _set_bit_be(int nr, unsigned long * p); extern void _set_bit_be(int nr, volatile unsigned long * p);
extern void _clear_bit_be(int nr, unsigned long * p); extern void _clear_bit_be(int nr, volatile unsigned long * p);
extern void _change_bit_be(int nr, unsigned long * p); extern void _change_bit_be(int nr, volatile unsigned long * p);
extern int _test_and_set_bit_be(int nr, unsigned long * p); extern int _test_and_set_bit_be(int nr, volatile unsigned long * p);
extern int _test_and_clear_bit_be(int nr, unsigned long * p); extern int _test_and_clear_bit_be(int nr, volatile unsigned long * p);
extern int _test_and_change_bit_be(int nr, unsigned long * p); extern int _test_and_change_bit_be(int nr, volatile unsigned long * p);
extern int _find_first_zero_bit_be(void * p, unsigned size); extern int _find_first_zero_bit_be(void * p, unsigned size);
extern int _find_next_zero_bit_be(void * p, int size, int offset); extern int _find_next_zero_bit_be(void * p, int size, int offset);
......
...@@ -209,8 +209,21 @@ extern void dmac_flush_range(unsigned long, unsigned long); ...@@ -209,8 +209,21 @@ extern void dmac_flush_range(unsigned long, unsigned long);
#endif #endif
/*
* flush_cache_vmap() is used when creating mappings (eg, via vmap,
* vmalloc, ioremap etc) in kernel space for pages. Since the
* direct-mappings of these pages may contain cached data, we need
* to do a full cache flush to ensure that writebacks don't corrupt
* data placed into these pages via the new mappings.
*/
#define flush_cache_vmap(start, end) flush_cache_all() #define flush_cache_vmap(start, end) flush_cache_all()
#define flush_cache_vunmap(start, end) flush_cache_all() #define flush_cache_vunmap(start, end) flush_cache_all()
/*
* Copy user data from/to a page which is mapped into a different
* processes address space. Really, we want to allow our "user
* space" model to handle this.
*/
#define copy_to_user_page(vma, page, vaddr, dst, src, len) \ #define copy_to_user_page(vma, page, vaddr, dst, src, len) \
do { memcpy(dst, src, len); \ do { memcpy(dst, src, len); \
flush_icache_user_range(vma, page, vaddr, len); \ flush_icache_user_range(vma, page, vaddr, len); \
......
...@@ -51,8 +51,9 @@ struct thread_info { ...@@ -51,8 +51,9 @@ struct thread_info {
__u32 cpu; /* cpu */ __u32 cpu; /* cpu */
__u32 cpu_domain; /* cpu domain */ __u32 cpu_domain; /* cpu domain */
struct cpu_context_save cpu_context; /* cpu context */ struct cpu_context_save cpu_context; /* cpu context */
struct restart_block restart_block; __u8 used_cp[16]; /* thread used copro */
union fp_state fpstate; union fp_state fpstate;
struct restart_block restart_block;
}; };
#define INIT_THREAD_INFO(tsk) \ #define INIT_THREAD_INFO(tsk) \
...@@ -107,7 +108,8 @@ extern void free_thread_info(struct thread_info *); ...@@ -107,7 +108,8 @@ extern void free_thread_info(struct thread_info *);
#define TI_CPU 20 #define TI_CPU 20
#define TI_CPU_DOMAIN 24 #define TI_CPU_DOMAIN 24
#define TI_CPU_SAVE 28 #define TI_CPU_SAVE 28
#define TI_FPSTATE 76 #define TI_USED_MATH 76
#define TI_FPSTATE (TI_USED_MATH+16)
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment