linux-mips
[Top] [All Lists]

[PATCH][MIPS] remove LASAT Networks platforms support

To: Ralf Baechle <ralf@linux-mips.org>
Subject: [PATCH][MIPS] remove LASAT Networks platforms support
From: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Date: Mon, 9 Jul 2007 13:10:55 +0900
Cc: yoichi_yuasa@tripeaks.co.jp, linux-mips <linux-mips@linux-mips.org>
Organization: TriPeaks Corporation
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
Hi Ralf,

This patch has removed LASAT Networks platforms support.
This patch is made for linux-queue tree.

Yoichi

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>

---

remove LASAT Networks platforms support

diff -pruN -X mips/Documentation/dontdiff mips-orig/arch/mips/Kconfig 
mips/arch/mips/Kconfig
--- mips-orig/arch/mips/Kconfig 2007-07-09 10:07:57.817053250 +0900
+++ mips/arch/mips/Kconfig      2007-07-09 10:07:58.657105750 +0900
@@ -131,20 +131,6 @@ config MACH_JAZZ
         Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
         Olivetti M700-10 workstations.
 
-config LASAT
-       bool "LASAT Networks platforms"
-       select DMA_NONCOHERENT
-       select SYS_HAS_EARLY_PRINTK
-       select HW_HAS_PCI
-       select PCI_GT64XXX_PCI0
-       select MIPS_NILE4
-       select R5000_CPU_SCACHE
-       select SYS_HAS_CPU_R5000
-       select SYS_SUPPORTS_32BIT_KERNEL
-       select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
-       select SYS_SUPPORTS_LITTLE_ENDIAN
-       select GENERIC_HARDIRQS_NO__DO_IRQ
-
 config MIPS_ATLAS
        bool "MIPS Atlas board"
        select BOOT_ELF32
@@ -670,7 +656,6 @@ endchoice
 source "arch/mips/au1000/Kconfig"
 source "arch/mips/ddb5xxx/Kconfig"
 source "arch/mips/jazz/Kconfig"
-source "arch/mips/lasat/Kconfig"
 source "arch/mips/pmc-sierra/Kconfig"
 source "arch/mips/sgi-ip27/Kconfig"
 source "arch/mips/sibyte/Kconfig"
@@ -779,9 +764,6 @@ config MIPS_BONITO64
 config MIPS_MSC
        bool
 
-config MIPS_NILE4
-       bool
-
 config MIPS_DISABLE_OBSOLETE_IDE
        bool
 
diff -pruN -X mips/Documentation/dontdiff mips-orig/arch/mips/Makefile 
mips/arch/mips/Makefile
--- mips-orig/arch/mips/Makefile        2007-07-09 10:07:57.817053250 +0900
+++ mips/arch/mips/Makefile     2007-07-09 10:07:58.713109250 +0900
@@ -389,10 +389,6 @@ core-$(CONFIG_DDB5XXX_COMMON)      += arch/mi
 core-$(CONFIG_DDB5477)         += arch/mips/ddb5xxx/ddb5477/
 load-$(CONFIG_DDB5477)         += 0xffffffff80100000
 
-core-$(CONFIG_LASAT)           += arch/mips/lasat/
-cflags-$(CONFIG_LASAT)         += -Iinclude/asm-mips/mach-lasat
-load-$(CONFIG_LASAT)           += 0xffffffff80000000
-
 #
 # Common VR41xx
 #
@@ -641,11 +637,6 @@ core-y                     += arch/mips/kernel/ arch/mips/
 
 drivers-$(CONFIG_OPROFILE)     += arch/mips/oprofile/
 
-ifdef CONFIG_LASAT
-rom.bin rom.sw: vmlinux
-       $(Q)$(MAKE) $(build)=arch/mips/lasat/image $@
-endif
-
 #
 # Some machines like the Indy need 32-bit ELF binaries for booting purposes.
 # Other need ECOFF, so we build a 32-bit ELF binary for them which we then
@@ -715,7 +706,6 @@ endif
 
 archclean:
        @$(MAKE) $(clean)=arch/mips/boot
-       @$(MAKE) $(clean)=arch/mips/lasat
 
 CLEAN_FILES += vmlinux.32 \
               vmlinux.64 \
diff -pruN -X mips/Documentation/dontdiff 
mips-orig/arch/mips/configs/lasat200_defconfig 
mips/arch/mips/configs/lasat200_defconfig
--- mips-orig/arch/mips/configs/lasat200_defconfig      2007-07-09 
10:07:58.421091000 +0900
+++ mips/arch/mips/configs/lasat200_defconfig   1970-01-01 09:00:00.000000000 
+0900
@@ -1,1116 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.20
-# Tue Feb 20 21:47:34 2007
-#
-CONFIG_MIPS=y
-
-#
-# Machine selection
-#
-CONFIG_ZONE_DMA=y
-# CONFIG_MIPS_MTX1 is not set
-# CONFIG_MIPS_BOSPORUS is not set
-# CONFIG_MIPS_PB1000 is not set
-# CONFIG_MIPS_PB1100 is not set
-# CONFIG_MIPS_PB1500 is not set
-# CONFIG_MIPS_PB1550 is not set
-# CONFIG_MIPS_PB1200 is not set
-# CONFIG_MIPS_DB1000 is not set
-# CONFIG_MIPS_DB1100 is not set
-# CONFIG_MIPS_DB1500 is not set
-# CONFIG_MIPS_DB1550 is not set
-# CONFIG_MIPS_DB1200 is not set
-# CONFIG_MIPS_MIRAGE is not set
-# CONFIG_BASLER_EXCITE is not set
-# CONFIG_MIPS_COBALT is not set
-# CONFIG_MACH_DECSTATION is not set
-# CONFIG_MACH_JAZZ is not set
-CONFIG_LASAT=y
-# CONFIG_MIPS_ATLAS is not set
-# CONFIG_MIPS_MALTA is not set
-# CONFIG_MIPS_SEAD is not set
-# CONFIG_WR_PPMC is not set
-# CONFIG_MIPS_SIM is not set
-# CONFIG_MOMENCO_JAGUAR_ATX is not set
-# CONFIG_MOMENCO_OCELOT is not set
-# CONFIG_MOMENCO_OCELOT_3 is not set
-# CONFIG_MOMENCO_OCELOT_G is not set
-# CONFIG_MIPS_XXS1500 is not set
-# CONFIG_PNX8550_JBS is not set
-# CONFIG_PNX8550_STB810 is not set
-# CONFIG_DDB5477 is not set
-# CONFIG_MACH_VR41XX is not set
-# CONFIG_PMC_YOSEMITE is not set
-# CONFIG_QEMU is not set
-# CONFIG_MARKEINS is not set
-# CONFIG_SGI_IP22 is not set
-# CONFIG_SGI_IP27 is not set
-# CONFIG_SGI_IP32 is not set
-# CONFIG_SIBYTE_BIGSUR is not set
-# CONFIG_SIBYTE_SWARM is not set
-# CONFIG_SIBYTE_SENTOSA is not set
-# CONFIG_SIBYTE_RHONE is not set
-# CONFIG_SIBYTE_CARMEL is not set
-# CONFIG_SIBYTE_PTSWARM is not set
-# CONFIG_SIBYTE_LITTLESUR is not set
-# CONFIG_SIBYTE_CRHINE is not set
-# CONFIG_SIBYTE_CRHONE is not set
-# CONFIG_SNI_RM is not set
-# CONFIG_TOSHIBA_JMR3927 is not set
-# CONFIG_TOSHIBA_RBTX4927 is not set
-# CONFIG_TOSHIBA_RBTX4938 is not set
-CONFIG_PICVUE=y
-CONFIG_PICVUE_PROC=y
-CONFIG_DS1603=y
-CONFIG_LASAT_SYSCTL=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-CONFIG_GENERIC_FIND_NEXT_BIT=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_GENERIC_TIME=y
-CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
-CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-CONFIG_DMA_NONCOHERENT=y
-CONFIG_DMA_NEED_PCI_MAP_STATE=y
-CONFIG_MIPS_NILE4=y
-# CONFIG_CPU_BIG_ENDIAN is not set
-CONFIG_CPU_LITTLE_ENDIAN=y
-CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
-CONFIG_MIPS_GT64120=y
-CONFIG_MIPS_L1_CACHE_SHIFT=5
-
-#
-# CPU selection
-#
-# CONFIG_CPU_MIPS32_R1 is not set
-# CONFIG_CPU_MIPS32_R2 is not set
-# CONFIG_CPU_MIPS64_R1 is not set
-# CONFIG_CPU_MIPS64_R2 is not set
-# CONFIG_CPU_R3000 is not set
-# CONFIG_CPU_TX39XX is not set
-# CONFIG_CPU_VR41XX is not set
-# CONFIG_CPU_R4300 is not set
-# CONFIG_CPU_R4X00 is not set
-# CONFIG_CPU_TX49XX is not set
-CONFIG_CPU_R5000=y
-# CONFIG_CPU_R5432 is not set
-# CONFIG_CPU_R6000 is not set
-# CONFIG_CPU_NEVADA is not set
-# CONFIG_CPU_R8000 is not set
-# CONFIG_CPU_R10000 is not set
-# CONFIG_CPU_RM7000 is not set
-# CONFIG_CPU_RM9000 is not set
-# CONFIG_CPU_SB1 is not set
-CONFIG_SYS_HAS_CPU_R5000=y
-CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
-CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y
-CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
-CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
-
-#
-# Kernel type
-#
-CONFIG_32BIT=y
-# CONFIG_64BIT is not set
-CONFIG_PAGE_SIZE_4KB=y
-# CONFIG_PAGE_SIZE_8KB is not set
-# CONFIG_PAGE_SIZE_16KB is not set
-# CONFIG_PAGE_SIZE_64KB is not set
-CONFIG_BOARD_SCACHE=y
-CONFIG_R5000_CPU_SCACHE=y
-CONFIG_MIPS_MT_DISABLED=y
-# CONFIG_MIPS_MT_SMP is not set
-# CONFIG_MIPS_MT_SMTC is not set
-# CONFIG_MIPS_VPE_LOADER is not set
-# CONFIG_64BIT_PHYS_ADDR is not set
-CONFIG_CPU_HAS_LLSC=y
-CONFIG_CPU_HAS_SYNC=y
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_ARCH_FLATMEM_ENABLE=y
-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
-CONFIG_SPLIT_PTLOCK_CPUS=4
-# CONFIG_RESOURCES_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=1
-# CONFIG_HZ_48 is not set
-# CONFIG_HZ_100 is not set
-# CONFIG_HZ_128 is not set
-# CONFIG_HZ_250 is not set
-# CONFIG_HZ_256 is not set
-CONFIG_HZ_1000=y
-# CONFIG_HZ_1024 is not set
-CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
-CONFIG_HZ=1000
-CONFIG_PREEMPT_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-# CONFIG_KEXEC is not set
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION=""
-CONFIG_LOCALVERSION_AUTO=y
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-# CONFIG_IPC_NS is not set
-CONFIG_SYSVIPC_SYSCTL=y
-# CONFIG_POSIX_MQUEUE is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-# CONFIG_TASKSTATS is not set
-# CONFIG_UTS_NS is not set
-# CONFIG_AUDIT is not set
-# CONFIG_IKCONFIG is not set
-CONFIG_SYSFS_DEPRECATED=y
-CONFIG_RELAY=y
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SYSCTL=y
-CONFIG_EMBEDDED=y
-CONFIG_SYSCTL_SYSCALL=y
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_EXTRA_PASS is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SHMEM=y
-CONFIG_SLAB=y
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_RT_MUTEXES=y
-# CONFIG_TINY_SHMEM is not set
-CONFIG_BASE_SMALL=0
-# CONFIG_SLOB is not set
-
-#
-# Loadable module support
-#
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODULE_FORCE_UNLOAD is not set
-CONFIG_MODVERSIONS=y
-CONFIG_MODULE_SRCVERSION_ALL=y
-CONFIG_KMOD=y
-
-#
-# Block layer
-#
-CONFIG_BLOCK=y
-# CONFIG_LBD is not set
-# CONFIG_BLK_DEV_IO_TRACE is not set
-# CONFIG_LSF is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-CONFIG_DEFAULT_AS=y
-# CONFIG_DEFAULT_DEADLINE is not set
-# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="anticipatory"
-
-#
-# Bus options (PCI, PCMCIA, EISA, ISA, TC)
-#
-CONFIG_HW_HAS_PCI=y
-CONFIG_PCI=y
-CONFIG_MMU=y
-
-#
-# PCCARD (PCMCIA/CardBus) support
-#
-# CONFIG_PCCARD is not set
-
-#
-# PCI Hotplug Support
-#
-# CONFIG_HOTPLUG_PCI is not set
-
-#
-# Executable file formats
-#
-CONFIG_BINFMT_ELF=y
-# CONFIG_BINFMT_MISC is not set
-CONFIG_TRAD_SIGNALS=y
-
-#
-# Power management options
-#
-CONFIG_PM=y
-# CONFIG_PM_LEGACY is not set
-# CONFIG_PM_DEBUG is not set
-# CONFIG_PM_SYSFS_DEPRECATED is not set
-
-#
-# Networking
-#
-CONFIG_NET=y
-
-#
-# Networking options
-#
-# CONFIG_NETDEBUG is not set
-# CONFIG_PACKET is not set
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-CONFIG_XFRM_USER=m
-# CONFIG_XFRM_SUB_POLICY is not set
-CONFIG_XFRM_MIGRATE=y
-CONFIG_NET_KEY=y
-CONFIG_NET_KEY_MIGRATE=y
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-CONFIG_IP_FIB_HASH=y
-# CONFIG_IP_PNP 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
-# CONFIG_INET_IPCOMP is not set
-# CONFIG_INET_XFRM_TUNNEL is not set
-# CONFIG_INET_TUNNEL is not set
-CONFIG_INET_XFRM_MODE_TRANSPORT=m
-CONFIG_INET_XFRM_MODE_TUNNEL=m
-CONFIG_INET_XFRM_MODE_BEET=m
-CONFIG_INET_DIAG=y
-CONFIG_INET_TCP_DIAG=y
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_DEFAULT_TCP_CONG="cubic"
-CONFIG_TCP_MD5SIG=y
-# CONFIG_IPV6 is not set
-# CONFIG_INET6_XFRM_TUNNEL is not set
-# CONFIG_INET6_TUNNEL is not set
-CONFIG_NETWORK_SECMARK=y
-# CONFIG_NETFILTER is not set
-
-#
-# DCCP Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_DCCP is not set
-
-#
-# SCTP Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_SCTP is not set
-
-#
-# TIPC Configuration (EXPERIMENTAL)
-#
-# CONFIG_TIPC 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_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-
-#
-# QoS and/or fair queueing
-#
-# CONFIG_NET_SCHED is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_HAMRADIO is not set
-# CONFIG_IRDA is not set
-# CONFIG_BT is not set
-CONFIG_IEEE80211=m
-# CONFIG_IEEE80211_DEBUG is not set
-CONFIG_IEEE80211_CRYPT_WEP=m
-CONFIG_IEEE80211_CRYPT_CCMP=m
-CONFIG_IEEE80211_SOFTMAC=m
-# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
-CONFIG_WIRELESS_EXT=y
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=m
-# CONFIG_SYS_HYPERVISOR is not set
-
-#
-# Connector - unified userspace <-> kernelspace linker
-#
-CONFIG_CONNECTOR=m
-
-#
-# Memory Technology Devices (MTD)
-#
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_CONCAT is not set
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
-# CONFIG_MTD_CMDLINE_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLKDEVS=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-# CONFIG_INFTL is not set
-# CONFIG_RFD_FTL is not set
-# CONFIG_SSFDC is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=y
-# CONFIG_MTD_JEDECPROBE 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=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_CFI_INTELEXT is not set
-CONFIG_MTD_CFI_AMDSTD=y
-# CONFIG_MTD_CFI_STAA is not set
-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
-
-#
-# Mapping drivers for chip access
-#
-# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-# CONFIG_MTD_PHYSMAP is not set
-CONFIG_MTD_LASAT=y
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_PMC551 is not set
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLOCK2MTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOC2001PLUS is not set
-
-#
-# NAND Flash Device Drivers
-#
-# CONFIG_MTD_NAND is not set
-
-#
-# OneNAND Flash Device Drivers
-#
-# CONFIG_MTD_ONENAND is not set
-
-#
-# Parallel port support
-#
-# CONFIG_PARPORT is not set
-
-#
-# Plug and Play support
-#
-# CONFIG_PNPACPI is not set
-
-#
-# Block devices
-#
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_UMEM is not set
-# CONFIG_BLK_DEV_COW_COMMON is not set
-# CONFIG_BLK_DEV_LOOP is not set
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_SX8 is not set
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_BLK_DEV_INITRD is not set
-CONFIG_CDROM_PKTCDVD=m
-CONFIG_CDROM_PKTCDVD_BUFFERS=8
-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
-CONFIG_ATA_OVER_ETH=m
-
-#
-# Misc devices
-#
-CONFIG_SGI_IOC4=m
-# CONFIG_TIFM_CORE is not set
-
-#
-# ATA/ATAPI/MFM/RLL support
-#
-CONFIG_IDE=y
-CONFIG_IDE_MAX_HWIFS=4
-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_IDEDISK=y
-CONFIG_IDEDISK_MULTI_MODE=y
-# 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=y
-CONFIG_BLK_DEV_IDEPCI=y
-# CONFIG_IDEPCI_SHARE_IRQ is not set
-# CONFIG_BLK_DEV_OFFBOARD is not set
-CONFIG_BLK_DEV_GENERIC=y
-# CONFIG_BLK_DEV_OPTI621 is not set
-CONFIG_BLK_DEV_IDEDMA_PCI=y
-# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
-CONFIG_IDEDMA_PCI_AUTO=y
-# CONFIG_IDEDMA_ONLYDISK is not set
-# CONFIG_BLK_DEV_AEC62XX is not set
-# CONFIG_BLK_DEV_ALI15X3 is not set
-# CONFIG_BLK_DEV_AMD74XX is not set
-CONFIG_BLK_DEV_CMD64X=y
-# CONFIG_BLK_DEV_TRIFLEX is not set
-# CONFIG_BLK_DEV_CY82C693 is not set
-# CONFIG_BLK_DEV_CS5520 is not set
-# CONFIG_BLK_DEV_CS5530 is not set
-# CONFIG_BLK_DEV_HPT34X is not set
-# CONFIG_BLK_DEV_HPT366 is not set
-# CONFIG_BLK_DEV_JMICRON is not set
-# CONFIG_BLK_DEV_SC1200 is not set
-# CONFIG_BLK_DEV_PIIX is not set
-CONFIG_BLK_DEV_IT8213=m
-# CONFIG_BLK_DEV_IT821X is not set
-# CONFIG_BLK_DEV_NS87415 is not set
-# CONFIG_BLK_DEV_PDC202XX_OLD is not set
-# CONFIG_BLK_DEV_PDC202XX_NEW is not set
-# CONFIG_BLK_DEV_SVWKS is not set
-# CONFIG_BLK_DEV_SIIMAGE is not set
-# CONFIG_BLK_DEV_SLC90E66 is not set
-# CONFIG_BLK_DEV_TRM290 is not set
-# CONFIG_BLK_DEV_VIA82CXXX is not set
-CONFIG_BLK_DEV_TC86C001=m
-# CONFIG_IDE_ARM is not set
-CONFIG_BLK_DEV_IDEDMA=y
-# CONFIG_IDEDMA_IVB is not set
-CONFIG_IDEDMA_AUTO=y
-# CONFIG_BLK_DEV_HD is not set
-
-#
-# SCSI device support
-#
-CONFIG_RAID_ATTRS=m
-# CONFIG_SCSI is not set
-# CONFIG_SCSI_NETLINK is not set
-
-#
-# Serial ATA (prod) and Parallel ATA (experimental) drivers
-#
-# CONFIG_ATA is not set
-
-#
-# Multi-device support (RAID and LVM)
-#
-# CONFIG_MD is not set
-
-#
-# Fusion MPT device support
-#
-# CONFIG_FUSION is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-# CONFIG_IEEE1394 is not set
-
-#
-# I2O device support
-#
-# CONFIG_I2O is not set
-
-#
-# Network device support
-#
-CONFIG_NETDEVICES=y
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
-
-#
-# ARCnet devices
-#
-# CONFIG_ARCNET is not set
-
-#
-# PHY device support
-#
-CONFIG_PHYLIB=m
-
-#
-# MII PHY device drivers
-#
-CONFIG_MARVELL_PHY=m
-CONFIG_DAVICOM_PHY=m
-CONFIG_QSEMI_PHY=m
-CONFIG_LXT_PHY=m
-CONFIG_CICADA_PHY=m
-CONFIG_VITESSE_PHY=m
-CONFIG_SMSC_PHY=m
-# CONFIG_BROADCOM_PHY is not set
-# CONFIG_FIXED_PHY is not set
-
-#
-# Ethernet (10 or 100Mbit)
-#
-CONFIG_NET_ETHERNET=y
-# CONFIG_MII is not set
-# CONFIG_HAPPYMEAL is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_CASSINI is not set
-# CONFIG_NET_VENDOR_3COM is not set
-# CONFIG_DM9000 is not set
-
-#
-# Tulip family network device support
-#
-# CONFIG_NET_TULIP is not set
-# CONFIG_HP100 is not set
-# CONFIG_NET_PCI is not set
-
-#
-# Ethernet (1000 Mbit)
-#
-# CONFIG_ACENIC is not set
-# CONFIG_DL2K is not set
-# CONFIG_E1000 is not set
-# CONFIG_NS83820 is not set
-# CONFIG_HAMACHI is not set
-# CONFIG_YELLOWFIN is not set
-# CONFIG_R8169 is not set
-# CONFIG_SIS190 is not set
-# CONFIG_SKGE is not set
-# CONFIG_SKY2 is not set
-# CONFIG_SK98LIN is not set
-# CONFIG_TIGON3 is not set
-# CONFIG_BNX2 is not set
-CONFIG_QLA3XXX=m
-# CONFIG_ATL1 is not set
-
-#
-# Ethernet (10000 Mbit)
-#
-# CONFIG_CHELSIO_T1 is not set
-CONFIG_CHELSIO_T3=m
-# CONFIG_IXGB is not set
-# CONFIG_S2IO is not set
-# CONFIG_MYRI10GE is not set
-CONFIG_NETXEN_NIC=m
-
-#
-# Token Ring devices
-#
-# CONFIG_TR is not set
-
-#
-# Wireless LAN (non-hamradio)
-#
-# CONFIG_NET_RADIO is not set
-
-#
-# Wan interfaces
-#
-# CONFIG_WAN is not set
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI 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
-
-#
-# ISDN subsystem
-#
-# CONFIG_ISDN is not set
-
-#
-# Telephony Support
-#
-# CONFIG_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-# CONFIG_INPUT_FF_MEMLESS 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_TSDEV is not set
-# CONFIG_INPUT_EVDEV is not set
-# CONFIG_INPUT_EVBUG 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
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-CONFIG_SERIO_I8042=y
-CONFIG_SERIO_SERPORT=y
-# CONFIG_SERIO_PCIPS2 is not set
-# CONFIG_SERIO_LIBPS2 is not set
-CONFIG_SERIO_RAW=m
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-CONFIG_VT_HW_CONSOLE_BINDING=y
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_PCI=y
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-# CONFIG_SERIAL_8250_EXTENDED is not set
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_JSM is not set
-CONFIG_UNIX98_PTYS=y
-CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=256
-
-#
-# IPMI
-#
-# CONFIG_IPMI_HANDLER is not set
-
-#
-# Watchdog Cards
-#
-# CONFIG_WATCHDOG is not set
-# CONFIG_HW_RANDOM is not set
-# CONFIG_RTC is not set
-# CONFIG_GEN_RTC is not set
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-# CONFIG_DRM is not set
-# CONFIG_RAW_DRIVER is not set
-
-#
-# TPM devices
-#
-# CONFIG_TCG_TPM is not set
-
-#
-# I2C support
-#
-# CONFIG_I2C is not set
-
-#
-# SPI support
-#
-# CONFIG_SPI is not set
-# CONFIG_SPI_MASTER is not set
-
-#
-# Dallas's 1-wire bus
-#
-# CONFIG_W1 is not set
-
-#
-# Hardware Monitoring support
-#
-# CONFIG_HWMON is not set
-# CONFIG_HWMON_VID is not set
-
-#
-# Multimedia devices
-#
-# CONFIG_VIDEO_DEV is not set
-
-#
-# Digital Video Broadcasting Devices
-#
-# CONFIG_DVB is not set
-
-#
-# Graphics support
-#
-# CONFIG_FIRMWARE_EDID is not set
-# CONFIG_FB is not set
-
-#
-# Console display driver support
-#
-# CONFIG_VGA_CONSOLE is not set
-CONFIG_DUMMY_CONSOLE=y
-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-
-#
-# Sound
-#
-# CONFIG_SOUND is not set
-
-#
-# HID Devices
-#
-# CONFIG_HID is not set
-
-#
-# USB support
-#
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB_ARCH_HAS_EHCI=y
-# CONFIG_USB is not set
-
-#
-# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-#
-
-#
-# USB Gadget Support
-#
-# CONFIG_USB_GADGET is not set
-
-#
-# MMC/SD Card support
-#
-# CONFIG_MMC is not set
-
-#
-# LED devices
-#
-# CONFIG_NEW_LEDS is not set
-
-#
-# LED drivers
-#
-
-#
-# LED Triggers
-#
-
-#
-# InfiniBand support
-#
-# CONFIG_INFINIBAND is not set
-
-#
-# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
-#
-
-#
-# Real Time Clock
-#
-# CONFIG_RTC_CLASS is not set
-
-#
-# DMA Engine support
-#
-# CONFIG_DMA_ENGINE is not set
-
-#
-# DMA Clients
-#
-
-#
-# DMA Devices
-#
-
-#
-# Auxiliary Display support
-#
-
-#
-# Virtualization
-#
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=y
-# CONFIG_EXT2_FS_XATTR 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=y
-# CONFIG_EXT4DEV_FS is not set
-CONFIG_JBD=y
-# CONFIG_JBD_DEBUG is not set
-CONFIG_FS_MBCACHE=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-CONFIG_FS_POSIX_ACL=y
-# CONFIG_XFS_FS is not set
-# CONFIG_GFS2_FS is not set
-# CONFIG_OCFS2_FS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_ROMFS_FS is not set
-CONFIG_INOTIFY=y
-CONFIG_INOTIFY_USER=y
-# CONFIG_QUOTA is not set
-CONFIG_DNOTIFY=y
-# CONFIG_AUTOFS_FS is not set
-# CONFIG_AUTOFS4_FS is not set
-CONFIG_FUSE_FS=m
-CONFIG_GENERIC_ACL=y
-
-#
-# CD-ROM/DVD Filesystems
-#
-# CONFIG_ISO9660_FS is not set
-# CONFIG_UDF_FS is not set
-
-#
-# DOS/FAT/NT Filesystems
-#
-# CONFIG_MSDOS_FS is not set
-# CONFIG_VFAT_FS is not set
-# CONFIG_NTFS_FS is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_KCORE=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_RAMFS=y
-CONFIG_CONFIGFS_FS=m
-
-#
-# Miscellaneous filesystems
-#
-# CONFIG_ADFS_FS is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_ECRYPT_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_JFFS2_FS is not set
-# CONFIG_CRAMFS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_SYSV_FS is not set
-# CONFIG_UFS_FS is not set
-
-#
-# Network File Systems
-#
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-# CONFIG_NFS_V3_ACL is not set
-# CONFIG_NFS_V4 is not set
-# CONFIG_NFS_DIRECTIO is not set
-# CONFIG_NFSD is not set
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=y
-# CONFIG_RPCSEC_GSS_KRB5 is not set
-# CONFIG_RPCSEC_GSS_SPKM3 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
-#
-# CONFIG_PARTITION_ADVANCED is not set
-CONFIG_MSDOS_PARTITION=y
-
-#
-# Native Language Support
-#
-# CONFIG_NLS is not set
-
-#
-# Distributed Lock Manager
-#
-CONFIG_DLM=m
-CONFIG_DLM_TCP=y
-# CONFIG_DLM_SCTP is not set
-# CONFIG_DLM_DEBUG is not set
-
-#
-# Profiling support
-#
-# CONFIG_PROFILING is not set
-
-#
-# Kernel hacking
-#
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-# CONFIG_PRINTK_TIME is not set
-CONFIG_ENABLE_MUST_CHECK=y
-# CONFIG_MAGIC_SYSRQ is not set
-# CONFIG_UNUSED_SYMBOLS is not set
-# CONFIG_DEBUG_FS is not set
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_KERNEL is not set
-CONFIG_LOG_BUF_SHIFT=14
-CONFIG_CROSSCOMPILE=y
-CONFIG_CMDLINE=""
-
-#
-# Security options
-#
-CONFIG_KEYS=y
-CONFIG_KEYS_DEBUG_PROC_KEYS=y
-# CONFIG_SECURITY is not set
-
-#
-# Cryptographic options
-#
-CONFIG_CRYPTO=y
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_BLKCIPHER=m
-CONFIG_CRYPTO_HASH=y
-CONFIG_CRYPTO_MANAGER=y
-CONFIG_CRYPTO_HMAC=y
-CONFIG_CRYPTO_XCBC=m
-CONFIG_CRYPTO_NULL=m
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_SHA1=m
-CONFIG_CRYPTO_SHA256=m
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_WP512=m
-CONFIG_CRYPTO_TGR192=m
-CONFIG_CRYPTO_GF128MUL=m
-CONFIG_CRYPTO_ECB=m
-CONFIG_CRYPTO_CBC=m
-CONFIG_CRYPTO_PCBC=m
-CONFIG_CRYPTO_LRW=m
-CONFIG_CRYPTO_DES=m
-CONFIG_CRYPTO_FCRYPT=m
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_TWOFISH_COMMON=m
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_AES=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_DEFLATE=m
-CONFIG_CRYPTO_MICHAEL_MIC=m
-CONFIG_CRYPTO_CRC32C=m
-CONFIG_CRYPTO_CAMELLIA=m
-# CONFIG_CRYPTO_TEST is not set
-
-#
-# Hardware crypto devices
-#
-
-#
-# Library routines
-#
-CONFIG_BITREVERSE=y
-# CONFIG_CRC_CCITT is not set
-CONFIG_CRC16=m
-CONFIG_CRC32=y
-CONFIG_LIBCRC32C=m
-CONFIG_ZLIB_INFLATE=m
-CONFIG_ZLIB_DEFLATE=m
-CONFIG_PLIST=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
diff -pruN -X mips/Documentation/dontdiff mips-orig/arch/mips/lasat/Kconfig 
mips/arch/mips/lasat/Kconfig
--- mips-orig/arch/mips/lasat/Kconfig   2007-07-09 10:07:59.281144750 +0900
+++ mips/arch/mips/lasat/Kconfig        1970-01-01 09:00:00.000000000 +0900
@@ -1,15 +0,0 @@
-config PICVUE
-       tristate "PICVUE LCD display driver"
-       depends on LASAT
-
-config PICVUE_PROC
-       tristate "PICVUE LCD display driver /proc interface"
-       depends on PICVUE
-
-config DS1603
-       bool "DS1603 RTC driver"
-       depends on LASAT
-
-config LASAT_SYSCTL
-       bool "LASAT sysctl interface"
-       depends on LASAT
diff -pruN -X mips/Documentation/dontdiff mips-orig/arch/mips/lasat/Makefile 
mips/arch/mips/lasat/Makefile
--- mips-orig/arch/mips/lasat/Makefile  2007-07-09 10:07:59.281144750 +0900
+++ mips/arch/mips/lasat/Makefile       1970-01-01 09:00:00.000000000 +0900
@@ -1,14 +0,0 @@
-#
-# Makefile for the LASAT specific kernel interface routines under Linux.
-#
-
-obj-y                          += reset.o setup.o prom.o lasat_board.o \
-                                  at93c.o interrupt.o
-
-obj-$(CONFIG_LASAT_SYSCTL)     += sysctl.o
-obj-$(CONFIG_DS1603)           += ds1603.o
-obj-$(CONFIG_PICVUE)           += picvue.o
-obj-$(CONFIG_PICVUE_PROC)      += picvue_proc.o
-
-clean:
-       make -C image clean
diff -pruN -X mips/Documentation/dontdiff mips-orig/arch/mips/lasat/at93c.c 
mips/arch/mips/lasat/at93c.c
--- mips-orig/arch/mips/lasat/at93c.c   2007-07-09 10:07:59.281144750 +0900
+++ mips/arch/mips/lasat/at93c.c        1970-01-01 09:00:00.000000000 +0900
@@ -1,148 +0,0 @@
-/*
- * Atmel AT93C46 serial eeprom driver
- *
- * Brian Murphy <brian.murphy@eicon.com>
- *
- */
-#include <linux/kernel.h>
-#include <linux/delay.h>
-#include <asm/lasat/lasat.h>
-#include <linux/module.h>
-#include <linux/init.h>
-
-#include "at93c.h"
-
-#define AT93C_ADDR_SHIFT       7
-#define AT93C_ADDR_MAX         ((1 << AT93C_ADDR_SHIFT) - 1)
-#define AT93C_RCMD             (0x6 << AT93C_ADDR_SHIFT)
-#define AT93C_WCMD             (0x5 << AT93C_ADDR_SHIFT)
-#define AT93C_WENCMD           0x260
-#define AT93C_WDSCMD           0x200
-
-struct at93c_defs *at93c;
-
-static void at93c_reg_write(u32 val)
-{
-       *at93c->reg = val;
-}
-
-static u32 at93c_reg_read(void)
-{
-       u32 tmp = *at93c->reg;
-       return tmp;
-}
-
-static u32 at93c_datareg_read(void)
-{
-       u32 tmp = *at93c->rdata_reg;
-       return tmp;
-}
-
-static void at93c_cycle_clk(u32 data)
-{
-       at93c_reg_write(data | at93c->clk);
-       lasat_ndelay(250);
-       at93c_reg_write(data & ~at93c->clk);
-       lasat_ndelay(250);
-}
-
-static void at93c_write_databit(u8 bit)
-{
-       u32 data = at93c_reg_read();
-       if (bit)
-               data |= 1 << at93c->wdata_shift;
-       else
-               data &= ~(1 << at93c->wdata_shift);
-
-       at93c_reg_write(data);
-       lasat_ndelay(100);
-       at93c_cycle_clk(data);
-}
-
-static unsigned int at93c_read_databit(void)
-{
-       u32 data;
-
-       at93c_cycle_clk(at93c_reg_read());
-       data = (at93c_datareg_read() >> at93c->rdata_shift) & 1;
-       return data;
-}
-
-static u8 at93c_read_byte(void)
-{
-       int i;
-       u8 data = 0;
-
-       for (i = 0; i<=7; i++) {
-               data <<= 1;
-               data |= at93c_read_databit();
-       }
-       return data;
-}
-
-static void at93c_write_bits(u32 data, int size)
-{
-       int i;
-       int shift = size - 1;
-       u32 mask = (1 << shift);
-
-       for (i = 0; i < size; i++) {
-               at93c_write_databit((data & mask) >> shift);
-               data <<= 1;
-       }
-}
-
-static void at93c_init_op(void)
-{
-       at93c_reg_write((at93c_reg_read() | at93c->cs) & ~at93c->clk & ~(1 << 
at93c->rdata_shift));
-       lasat_ndelay(50);
-}
-
-static void at93c_end_op(void)
-{
-       at93c_reg_write(at93c_reg_read() & ~at93c->cs);
-       lasat_ndelay(250);
-}
-
-static void at93c_wait(void)
-{
-       at93c_init_op();
-       while (!at93c_read_databit())
-               ;
-       at93c_end_op();
-};
-
-static void at93c_disable_wp(void)
-{
-       at93c_init_op();
-       at93c_write_bits(AT93C_WENCMD, 10);
-       at93c_end_op();
-}
-
-static void at93c_enable_wp(void)
-{
-       at93c_init_op();
-       at93c_write_bits(AT93C_WDSCMD, 10);
-       at93c_end_op();
-}
-
-u8 at93c_read(u8 addr)
-{
-       u8 byte;
-       at93c_init_op();
-       at93c_write_bits((addr & AT93C_ADDR_MAX)|AT93C_RCMD, 10);
-       byte = at93c_read_byte();
-       at93c_end_op();
-       return byte;
-}
-
-void at93c_write(u8 addr, u8 data)
-{
-       at93c_disable_wp();
-       at93c_init_op();
-       at93c_write_bits((addr & AT93C_ADDR_MAX)|AT93C_WCMD, 10);
-       at93c_write_bits(data, 8);
-       at93c_end_op();
-       at93c_wait();
-       at93c_enable_wp();
-}
diff -pruN -X mips/Documentation/dontdiff mips-orig/arch/mips/lasat/at93c.h 
mips/arch/mips/lasat/at93c.h
--- mips-orig/arch/mips/lasat/at93c.h   2007-07-09 10:07:59.281144750 +0900
+++ mips/arch/mips/lasat/at93c.h        1970-01-01 09:00:00.000000000 +0900
@@ -1,18 +0,0 @@
-/*
- * Atmel AT93C46 serial eeprom driver
- *
- * Brian Murphy <brian.murphy@eicon.com>
- *
- */
-
-extern struct at93c_defs {
-       volatile u32 *reg;
-       volatile u32 *rdata_reg;
-       int rdata_shift;
-       int wdata_shift;
-       u32 cs;
-       u32 clk;
-} *at93c;
-
-u8 at93c_read(u8 addr);
-void at93c_write(u8 addr, u8 data);
diff -pruN -X mips/Documentation/dontdiff mips-orig/arch/mips/lasat/ds1603.c 
mips/arch/mips/lasat/ds1603.c
--- mips-orig/arch/mips/lasat/ds1603.c  2007-07-09 10:07:59.281144750 +0900
+++ mips/arch/mips/lasat/ds1603.c       1970-01-01 09:00:00.000000000 +0900
@@ -1,183 +0,0 @@
-/*
- * Dallas Semiconductors 1603 RTC driver
- *
- * Brian Murphy <brian@murphy.dk>
- *
- */
-#include <linux/kernel.h>
-#include <asm/lasat/lasat.h>
-#include <linux/delay.h>
-#include <asm/lasat/ds1603.h>
-#include <asm/time.h>
-
-#include "ds1603.h"
-
-#define READ_TIME_CMD 0x81
-#define SET_TIME_CMD 0x80
-#define TRIMMER_SET_CMD 0xC0
-#define TRIMMER_VALUE_MASK 0x38
-#define TRIMMER_SHIFT 3
-
-struct ds_defs *ds1603 = NULL;
-
-/* HW specific register functions */
-static void rtc_reg_write(unsigned long val)
-{
-       *ds1603->reg = val;
-}
-
-static unsigned long rtc_reg_read(void)
-{
-       unsigned long tmp = *ds1603->reg;
-       return tmp;
-}
-
-static unsigned long rtc_datareg_read(void)
-{
-       unsigned long tmp = *ds1603->data_reg;
-       return tmp;
-}
-
-static void rtc_nrst_high(void)
-{
-       rtc_reg_write(rtc_reg_read() | ds1603->rst);
-}
-
-static void rtc_nrst_low(void)
-{
-       rtc_reg_write(rtc_reg_read() & ~ds1603->rst);
-}
-
-static void rtc_cycle_clock(unsigned long data)
-{
-       data |= ds1603->clk;
-       rtc_reg_write(data);
-       lasat_ndelay(250);
-       if (ds1603->data_reversed)
-               data &= ~ds1603->data;
-       else
-               data |= ds1603->data;
-       data &= ~ds1603->clk;
-       rtc_reg_write(data);
-       lasat_ndelay(250 + ds1603->huge_delay);
-}
-
-static void rtc_write_databit(unsigned int bit)
-{
-       unsigned long data = rtc_reg_read();
-       if (ds1603->data_reversed)
-               bit = !bit;
-       if (bit)
-               data |= ds1603->data;
-       else
-               data &= ~ds1603->data;
-
-       rtc_reg_write(data);
-       lasat_ndelay(50 + ds1603->huge_delay);
-       rtc_cycle_clock(data);
-}
-
-static unsigned int rtc_read_databit(void)
-{
-       unsigned int data;
-
-       data = (rtc_datareg_read() & (1 << ds1603->data_read_shift))
-               >> ds1603->data_read_shift;
-       rtc_cycle_clock(rtc_reg_read());
-       return data;
-}
-
-static void rtc_write_byte(unsigned int byte)
-{
-       int i;
-
-       for (i = 0; i<=7; i++) {
-               rtc_write_databit(byte & 1L);
-               byte >>= 1;
-       }
-}
-
-static void rtc_write_word(unsigned long word)
-{
-       int i;
-
-       for (i = 0; i<=31; i++) {
-               rtc_write_databit(word & 1L);
-               word >>= 1;
-       }
-}
-
-static unsigned long rtc_read_word(void)
-{
-       int i;
-       unsigned long word = 0;
-       unsigned long shift = 0;
-
-       for (i = 0; i<=31; i++) {
-               word |= rtc_read_databit() << shift;
-               shift++;
-       }
-       return word;
-}
-
-static void rtc_init_op(void)
-{
-       rtc_nrst_high();
-
-       rtc_reg_write(rtc_reg_read() & ~ds1603->clk);
-
-       lasat_ndelay(50);
-}
-
-static void rtc_end_op(void)
-{
-       rtc_nrst_low();
-       lasat_ndelay(1000);
-}
-
-/* interface */
-unsigned long ds1603_read(void)
-{
-       unsigned long word;
-       unsigned long flags;
-
-       spin_lock_irqsave(&rtc_lock, flags);
-       rtc_init_op();
-       rtc_write_byte(READ_TIME_CMD);
-       word = rtc_read_word();
-       rtc_end_op();
-       spin_unlock_irqrestore(&rtc_lock, flags);
-       return word;
-}
-
-int ds1603_set(unsigned long time)
-{
-       unsigned long flags;
-
-       spin_lock_irqsave(&rtc_lock, flags);
-       rtc_init_op();
-       rtc_write_byte(SET_TIME_CMD);
-       rtc_write_word(time);
-       rtc_end_op();
-       spin_unlock_irqrestore(&rtc_lock, flags);
-
-       return 0;
-}
-
-void ds1603_set_trimmer(unsigned int trimval)
-{
-       rtc_init_op();
-       rtc_write_byte(((trimval << TRIMMER_SHIFT) & TRIMMER_VALUE_MASK)
-                       | (TRIMMER_SET_CMD));
-       rtc_end_op();
-}
-
-void ds1603_disable(void)
-{
-       ds1603_set_trimmer(TRIMMER_DISABLE_RTC);
-}
-
-void ds1603_enable(void)
-{
-       ds1603_set_trimmer(TRIMMER_DEFAULT);
-}
diff -pruN -X mips/Documentation/dontdiff mips-orig/arch/mips/lasat/ds1603.h 
mips/arch/mips/lasat/ds1603.h
--- mips-orig/arch/mips/lasat/ds1603.h  2007-07-09 10:07:59.281144750 +0900
+++ mips/arch/mips/lasat/ds1603.h       1970-01-01 09:00:00.000000000 +0900
@@ -1,33 +0,0 @@
-/*
- * Dallas Semiconductors 1603 RTC driver
- *
- * Brian Murphy <brian@murphy.dk>
- *
- */
-#ifndef __DS1603_H
-#define __DS1603_H
-
-struct ds_defs {
-       volatile u32 *reg;
-       volatile u32 *data_reg;
-       u32 rst;
-       u32 clk;
-       u32 data;
-       u32 data_read_shift;
-       char data_reversed;
-       u32 huge_delay;
-};
-
-extern struct ds_defs *ds1603;
-
-unsigned long ds1603_read(void);
-int ds1603_set(unsigned long);
-void ds1603_set_trimmer(unsigned int);
-void ds1603_enable(void);
-void ds1603_disable(void);
-void ds1603_init(struct ds_defs *);
-
-#define TRIMMER_DEFAULT        3
-#define TRIMMER_DISABLE_RTC 0
-
-#endif
diff -pruN -X mips/Documentation/dontdiff 
mips-orig/arch/mips/lasat/image/Makefile mips/arch/mips/lasat/image/Makefile
--- mips-orig/arch/mips/lasat/image/Makefile    2007-07-09 10:07:59.285145000 
+0900
+++ mips/arch/mips/lasat/image/Makefile 1970-01-01 09:00:00.000000000 +0900
@@ -1,53 +0,0 @@
-#
-# MAKEFILE FOR THE MIPS LINUX BOOTLOADER AND ROM DEBUGGER
-#
-# i-data Networks
-#
-# Author: Thomas Horsten <thh@i-data.com>
-#
-
-ifndef Version
- Version = "$(USER)-test"
-endif
-
-MKLASATIMG = mklasatimg
-MKLASATIMG_ARCH = mq2,mqpro,sp100,sp200
-KERNEL_IMAGE = $(TOPDIR)/vmlinux
-KERNEL_START = $(shell $(NM) $(KERNEL_IMAGE) | grep " _text" | cut -f1 -d\ )
-KERNEL_ENTRY = $(shell $(NM) $(KERNEL_IMAGE) | grep kernel_entry | cut -f1 -d\ 
)
-
-LDSCRIPT= -L$(obj) -Tromscript.normal
-
-HEAD_DEFINES := -D_kernel_start=0x$(KERNEL_START) \
-               -D_kernel_entry=0x$(KERNEL_ENTRY) \
-               -D VERSION="\"$(Version)\"" \
-               -D TIMESTAMP=$(shell date +%s)
-
-$(obj)/head.o: $(obj)/head.S $(KERNEL_IMAGE)
-       $(CC) -fno-pic $(HEAD_DEFINES) -I$(TOPDIR)/include -c -o $@ $<
-
-OBJECTS = head.o kImage.o
-
-rom.sw:        $(obj)/rom.sw
-
-$(obj)/rom.sw: $(obj)/rom.bin
-       $(MKLASATIMG) -o $@ -k $^ -m $(MKLASATIMG_ARCH)
-
-$(obj)/rom.bin: $(obj)/rom
-       $(OBJCOPY) -O binary -S $^ $@
-
-# Rule to make the bootloader
-$(obj)/rom: $(addprefix $(obj)/,$(OBJECTS))
-       $(LD) $(LDFLAGS) $(LDSCRIPT) -o $@ $^
-
-$(obj)/%.o: $(obj)/%.gz
-       $(LD) -r -o $@ -b binary $<
-
-$(obj)/%.gz: $(obj)/%.bin
-       gzip -cf -9 $< > $@
-
-$(obj)/kImage.bin: $(KERNEL_IMAGE)
-       $(OBJCOPY) -O binary -S $^ $@
-
-clean:
-       rm -f rom rom.bin rom.sw kImage.bin kImage.o
diff -pruN -X mips/Documentation/dontdiff 
mips-orig/arch/mips/lasat/image/head.S mips/arch/mips/lasat/image/head.S
--- mips-orig/arch/mips/lasat/image/head.S      2007-07-09 10:07:59.285145000 
+0900
+++ mips/arch/mips/lasat/image/head.S   1970-01-01 09:00:00.000000000 +0900
@@ -1,31 +0,0 @@
-#include <asm/lasat/head.h>
-
-       .text
-       .section .text.start, "ax"
-       .set noreorder
-       .set mips3
-
-       /* Magic words identifying a software image */
-       .word   LASAT_K_MAGIC0_VAL
-       .word   LASAT_K_MAGIC1_VAL
-
-       /* Image header version */
-       .word   0x00000002
-
-       /* image start and size */
-       .word   _image_start
-       .word   _image_size
-
-       /* start of kernel and entrypoint in uncompressed image */
-       .word   _kernel_start
-       .word   _kernel_entry
-
-       /* Here we have room for future flags */
-
-       .org    0x40
-reldate:
-       .word   TIMESTAMP
-
-       .org    0x50
-release:
-       .string VERSION
diff -pruN -X mips/Documentation/dontdiff 
mips-orig/arch/mips/lasat/image/romscript.normal 
mips/arch/mips/lasat/image/romscript.normal
--- mips-orig/arch/mips/lasat/image/romscript.normal    2007-07-09 
10:07:59.285145000 +0900
+++ mips/arch/mips/lasat/image/romscript.normal 1970-01-01 09:00:00.000000000 
+0900
@@ -1,23 +0,0 @@
-OUTPUT_ARCH(mips)
-
-SECTIONS
-{
-  .text :
-  {
-    *(.text.start)
-  }
-
-  /* Data in ROM */
-
-  .data ALIGN(0x10) :
-  {
-    *(.data)
-  }
-  _image_start = ADDR(.data);
-  _image_size = SIZEOF(.data);
-
-  .other :
-  {
-    *(.*)
-  }
-}
diff -pruN -X mips/Documentation/dontdiff mips-orig/arch/mips/lasat/interrupt.c 
mips/arch/mips/lasat/interrupt.c
--- mips-orig/arch/mips/lasat/interrupt.c       2007-07-09 10:07:59.285145000 
+0900
+++ mips/arch/mips/lasat/interrupt.c    1970-01-01 09:00:00.000000000 +0900
@@ -1,130 +0,0 @@
-/*
- * Carsten Langgaard, carstenl@mips.com
- * Copyright (C) 1999,2000 MIPS Technologies, Inc.  All rights reserved.
- *
- *  This program is free software; you can distribute it and/or modify it
- *  under the terms of the GNU General Public License (Version 2) as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope 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.
- *
- * Routines for generic manipulation of the interrupts found on the
- * Lasat boards.
- */
-#include <linux/init.h>
-#include <linux/sched.h>
-#include <linux/slab.h>
-#include <linux/interrupt.h>
-#include <linux/kernel_stat.h>
-
-#include <asm/bootinfo.h>
-#include <asm/irq.h>
-#include <asm/lasat/lasatint.h>
-#include <asm/time.h>
-#include <asm/gdb-stub.h>
-
-static volatile int *lasat_int_status = NULL;
-static volatile int *lasat_int_mask = NULL;
-static volatile int lasat_int_mask_shift;
-
-void disable_lasat_irq(unsigned int irq_nr)
-{
-       *lasat_int_mask &= ~(1 << irq_nr) << lasat_int_mask_shift;
-}
-
-void enable_lasat_irq(unsigned int irq_nr)
-{
-       *lasat_int_mask |= (1 << irq_nr) << lasat_int_mask_shift;
-}
-
-static struct irq_chip lasat_irq_type = {
-       .name = "Lasat",
-       .ack = disable_lasat_irq,
-       .mask = disable_lasat_irq,
-       .mask_ack = disable_lasat_irq,
-       .unmask = enable_lasat_irq,
-};
-
-static inline int ls1bit32(unsigned int x)
-{
-       int b = 31, s;
-
-       s = 16; if (x << 16 == 0) s = 0; b -= s; x <<= s;
-       s =  8; if (x <<  8 == 0) s = 0; b -= s; x <<= s;
-       s =  4; if (x <<  4 == 0) s = 0; b -= s; x <<= s;
-       s =  2; if (x <<  2 == 0) s = 0; b -= s; x <<= s;
-       s =  1; if (x <<  1 == 0) s = 0; b -= s;
-
-       return b;
-}
-
-static unsigned long (* get_int_status)(void);
-
-static unsigned long get_int_status_100(void)
-{
-       return *lasat_int_status & *lasat_int_mask;
-}
-
-static unsigned long get_int_status_200(void)
-{
-       unsigned long int_status;
-
-       int_status = *lasat_int_status;
-       int_status &= (int_status >> LASATINT_MASK_SHIFT_200) & 0xffff;
-       return int_status;
-}
-
-asmlinkage void plat_irq_dispatch(void)
-{
-       unsigned long int_status;
-       unsigned int cause = read_c0_cause();
-       int irq;
-
-       if (cause & CAUSEF_IP7) {       /* R4000 count / compare IRQ */
-               ll_timer_interrupt(7);
-               return;
-       }
-
-       int_status = get_int_status();
-
-       /* if int_status == 0, then the interrupt has already been cleared */
-       if (int_status) {
-               irq = ls1bit32(int_status);
-
-               do_IRQ(irq);
-       }
-}
-
-void __init arch_init_irq(void)
-{
-       int i;
-
-       switch (mips_machtype) {
-       case MACH_LASAT_100:
-               lasat_int_status = (void *)LASAT_INT_STATUS_REG_100;
-               lasat_int_mask = (void *)LASAT_INT_MASK_REG_100;
-               lasat_int_mask_shift = LASATINT_MASK_SHIFT_100;
-               get_int_status = get_int_status_100;
-               *lasat_int_mask = 0;
-               break;
-       case MACH_LASAT_200:
-               lasat_int_status = (void *)LASAT_INT_STATUS_REG_200;
-               lasat_int_mask = (void *)LASAT_INT_MASK_REG_200;
-               lasat_int_mask_shift = LASATINT_MASK_SHIFT_200;
-               get_int_status = get_int_status_200;
-               *lasat_int_mask &= 0xffff;
-               break;
-       default:
-               panic("arch_init_irq: mips_machtype incorrect");
-       }
-
-       for (i = 0; i <= LASATINT_END; i++)
-               set_irq_chip_and_handler(i, &lasat_irq_type, handle_level_irq);
-}
diff -pruN -X mips/Documentation/dontdiff 
mips-orig/arch/mips/lasat/lasat_board.c mips/arch/mips/lasat/lasat_board.c
--- mips-orig/arch/mips/lasat/lasat_board.c     2007-07-09 10:07:59.285145000 
+0900
+++ mips/arch/mips/lasat/lasat_board.c  1970-01-01 09:00:00.000000000 +0900
@@ -1,279 +0,0 @@
-/*
- * Thomas Horsten <thh@lasat.com>
- * Copyright (C) 2000 LASAT Networks A/S.
- *
- *  This program is free software; you can distribute it and/or modify it
- *  under the terms of the GNU General Public License (Version 2) as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope 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.
- *
- * Routines specific to the LASAT boards
- */
-#include <linux/types.h>
-#include <linux/crc32.h>
-#include <asm/lasat/lasat.h>
-#include <linux/kernel.h>
-#include <linux/string.h>
-#include <linux/ctype.h>
-#include <asm/bootinfo.h>
-#include <asm/addrspace.h>
-#include "at93c.h"
-/* New model description table */
-#include "lasat_models.h"
-
-#define EEPROM_CRC(data, len) (~0 ^ crc32(~0, data, len))
-
-struct lasat_info lasat_board_info;
-
-void update_bcastaddr(void);
-
-int EEPROMRead(unsigned int pos, unsigned char *data, int len)
-{
-       int i;
-
-       for (i=0; i<len; i++)
-               *data++ = at93c_read(pos++);
-
-       return 0;
-}
-int EEPROMWrite(unsigned int pos, unsigned char *data, int len)
-{
-       int i;
-
-       for (i=0; i<len; i++)
-               at93c_write(pos++, *data++);
-
-       return 0;
-}
-
-static void init_flash_sizes(void)
-{
-       int i;
-       unsigned long *lb = lasat_board_info.li_flashpart_base;
-       unsigned long *ls = lasat_board_info.li_flashpart_size;
-
-       ls[LASAT_MTD_BOOTLOADER] = 0x40000;
-       ls[LASAT_MTD_SERVICE] = 0xC0000;
-       ls[LASAT_MTD_NORMAL] = 0x100000;
-
-       if (mips_machtype == MACH_LASAT_100) {
-               lasat_board_info.li_flash_base = 0x1e000000;
-
-               lb[LASAT_MTD_BOOTLOADER] = 0x1e400000;
-
-               if (lasat_board_info.li_flash_size > 0x200000) {
-                       ls[LASAT_MTD_CONFIG] = 0x100000;
-                       ls[LASAT_MTD_FS] = 0x500000;
-               }
-       } else {
-               lasat_board_info.li_flash_base = 0x10000000;
-
-               if (lasat_board_info.li_flash_size < 0x1000000) {
-                       lb[LASAT_MTD_BOOTLOADER] = 0x10000000;
-                       ls[LASAT_MTD_CONFIG] = 0x100000;
-                       if (lasat_board_info.li_flash_size >= 0x400000) {
-                               ls[LASAT_MTD_FS] = 
lasat_board_info.li_flash_size - 0x300000;
-                       }
-               }
-       }
-
-       for (i = 1; i < LASAT_MTD_LAST; i++)
-               lb[i] = lb[i-1] + ls[i-1];
-}
-
-int lasat_init_board_info(void)
-{
-       int c;
-       unsigned long crc;
-       unsigned long cfg0, cfg1;
-       const product_info_t   *ppi;
-       int i_n_base_models = N_BASE_MODELS;
-       const char * const * i_txt_base_models = txt_base_models;
-       int i_n_prids = N_PRIDS;
-
-       memset(&lasat_board_info, 0, sizeof(lasat_board_info));
-
-       /* First read the EEPROM info */
-       EEPROMRead(0, (unsigned char *)&lasat_board_info.li_eeprom_info,
-                  sizeof(struct lasat_eeprom_struct));
-
-       /* Check the CRC */
-       crc = EEPROM_CRC((unsigned char *)(&lasat_board_info.li_eeprom_info),
-                   sizeof(struct lasat_eeprom_struct) - 4);
-
-       if (crc != lasat_board_info.li_eeprom_info.crc32) {
-               printk(KERN_WARNING "WARNING...\nWARNING...\nEEPROM CRC does "
-                      "not match calculated, attempting to soldier on...\n");
-       }
-
-       if (lasat_board_info.li_eeprom_info.version != LASAT_EEPROM_VERSION) {
-               printk(KERN_WARNING "WARNING...\nWARNING...\nEEPROM version "
-                      "%d, wanted version %d, attempting to soldier on...\n",
-                      (unsigned int)lasat_board_info.li_eeprom_info.version,
-                      LASAT_EEPROM_VERSION);
-       }
-
-       cfg0 = lasat_board_info.li_eeprom_info.cfg[0];
-       cfg1 = lasat_board_info.li_eeprom_info.cfg[1];
-
-       if ( LASAT_W0_DSCTYPE(cfg0) != 1) {
-               printk(KERN_WARNING "WARNING...\nWARNING...\n"
-                      "Invalid configuration read from EEPROM, attempting to "
-                      "soldier on...");
-       }
-       /* We have a valid configuration */
-
-       switch (LASAT_W0_SDRAMBANKSZ(cfg0)) {
-       case 0:
-               lasat_board_info.li_memsize = 0x0800000;
-               break;
-       case 1:
-               lasat_board_info.li_memsize = 0x1000000;
-               break;
-       case 2:
-               lasat_board_info.li_memsize = 0x2000000;
-               break;
-       case 3:
-               lasat_board_info.li_memsize = 0x4000000;
-               break;
-       case 4:
-               lasat_board_info.li_memsize = 0x8000000;
-               break;
-       default:
-               lasat_board_info.li_memsize = 0;
-       }
-
-       switch (LASAT_W0_SDRAMBANKS(cfg0)) {
-       case 0:
-               break;
-       case 1:
-               lasat_board_info.li_memsize *= 2;
-               break;
-       default:
-               break;
-       }
-
-       switch (LASAT_W0_BUSSPEED(cfg0)) {
-       case 0x0:
-               lasat_board_info.li_bus_hz = 60000000;
-               break;
-       case 0x1:
-               lasat_board_info.li_bus_hz = 66000000;
-               break;
-       case 0x2:
-               lasat_board_info.li_bus_hz = 66666667;
-               break;
-       case 0x3:
-               lasat_board_info.li_bus_hz = 80000000;
-               break;
-       case 0x4:
-               lasat_board_info.li_bus_hz = 83333333;
-               break;
-       case 0x5:
-               lasat_board_info.li_bus_hz = 100000000;
-               break;
-       }
-
-       switch (LASAT_W0_CPUCLK(cfg0)) {
-       case 0x0:
-               lasat_board_info.li_cpu_hz =
-                       lasat_board_info.li_bus_hz;
-               break;
-       case 0x1:
-               lasat_board_info.li_cpu_hz =
-                       lasat_board_info.li_bus_hz +
-                       (lasat_board_info.li_bus_hz >> 1);
-               break;
-       case 0x2:
-               lasat_board_info.li_cpu_hz =
-                       lasat_board_info.li_bus_hz +
-                       lasat_board_info.li_bus_hz;
-               break;
-       case 0x3:
-               lasat_board_info.li_cpu_hz =
-                       lasat_board_info.li_bus_hz +
-                       lasat_board_info.li_bus_hz +
-                       (lasat_board_info.li_bus_hz >> 1);
-               break;
-       case 0x4:
-               lasat_board_info.li_cpu_hz =
-                       lasat_board_info.li_bus_hz +
-                       lasat_board_info.li_bus_hz +
-                       lasat_board_info.li_bus_hz;
-               break;
-       }
-
-       /* Flash size */
-       switch (LASAT_W1_FLASHSIZE(cfg1)) {
-       case 0:
-               lasat_board_info.li_flash_size = 0x200000;
-               break;
-       case 1:
-               lasat_board_info.li_flash_size = 0x400000;
-               break;
-       case 2:
-               lasat_board_info.li_flash_size = 0x800000;
-               break;
-       case 3:
-               lasat_board_info.li_flash_size = 0x1000000;
-               break;
-       case 4:
-               lasat_board_info.li_flash_size = 0x2000000;
-               break;
-       }
-
-       init_flash_sizes();
-
-       lasat_board_info.li_bmid = LASAT_W0_BMID(cfg0);
-       lasat_board_info.li_prid = lasat_board_info.li_eeprom_info.prid;
-       if (lasat_board_info.li_prid == 0xffff || lasat_board_info.li_prid == 0)
-               lasat_board_info.li_prid = lasat_board_info.li_bmid;
-
-       /* Base model stuff */
-       if (lasat_board_info.li_bmid > i_n_base_models)
-               lasat_board_info.li_bmid = i_n_base_models;
-       strcpy(lasat_board_info.li_bmstr, 
i_txt_base_models[lasat_board_info.li_bmid]);
-
-       /* Product ID dependent values */
-       c = lasat_board_info.li_prid;
-       if (c >= i_n_prids) {
-               strcpy(lasat_board_info.li_namestr, "Unknown Model");
-               strcpy(lasat_board_info.li_typestr, "Unknown Type");
-       } else {
-               ppi = &vendor_info_table[0].vi_product_info[c];
-               strcpy(lasat_board_info.li_namestr, ppi->pi_name);
-               if (ppi->pi_type)
-                       strcpy(lasat_board_info.li_typestr, ppi->pi_type);
-               else
-                       sprintf(lasat_board_info.li_typestr, "%d",10*c);
-       }
-
-#if defined(CONFIG_INET) && defined(CONFIG_SYSCTL)
-       update_bcastaddr();
-#endif
-
-       return 0;
-}
-
-void lasat_write_eeprom_info(void)
-{
-       unsigned long crc;
-
-       /* Generate the CRC */
-       crc = EEPROM_CRC((unsigned char *)(&lasat_board_info.li_eeprom_info),
-                   sizeof(struct lasat_eeprom_struct) - 4);
-       lasat_board_info.li_eeprom_info.crc32 = crc;
-
-       /* Write the EEPROM info */
-       EEPROMWrite(0, (unsigned char *)&lasat_board_info.li_eeprom_info,
-                   sizeof(struct lasat_eeprom_struct));
-}
-
diff -pruN -X mips/Documentation/dontdiff 
mips-orig/arch/mips/lasat/lasat_models.h mips/arch/mips/lasat/lasat_models.h
--- mips-orig/arch/mips/lasat/lasat_models.h    2007-07-09 10:07:59.305146250 
+0900
+++ mips/arch/mips/lasat/lasat_models.h 1970-01-01 09:00:00.000000000 +0900
@@ -1,63 +0,0 @@
-/*
- * Model description tables
- */
-
-typedef struct product_info_t {
-       const char     *pi_name;
-       const char     *pi_type;
-} product_info_t;
-
-typedef struct vendor_info_t {
-       const char     *vi_name;
-       const product_info_t *vi_product_info;
-} vendor_info_t;
-
-/*
- * Base models
- */
-static const char * const txt_base_models[] = {
-  "MQ 2", "MQ Pro", "SP 25", "SP 50", "SP 100", "SP 5000", "SP 7000", "SP 
1000", "Unknown"
-};
-#define N_BASE_MODELS (sizeof(txt_base_models)/sizeof(char*)-1)
-
-/*
- * Eicon Networks
- */
-static const char txt_en_mq[] = "Masquerade";
-static const char txt_en_sp[] = "Safepipe";
-
-static const product_info_t product_info_eicon[] = {
-  { txt_en_mq, "II"   }, /*  0 */
-  { txt_en_mq, "Pro"  }, /*  1 */
-  { txt_en_sp, "25"   }, /*  2 */
-  { txt_en_sp, "50"   }, /*  3 */
-  { txt_en_sp, "100"  }, /*  4 */
-  { txt_en_sp, "5000" }, /*  5 */
-  { txt_en_sp, "7000" }, /*  6 */
-  { txt_en_sp, "30"   }, /*  7 */
-  { txt_en_sp, "5100" }, /*  8 */
-  { txt_en_sp, "7100" }, /*  9 */
-  { txt_en_sp, "1110" }, /* 10 */
-  { txt_en_sp, "3020" }, /* 11 */
-  { txt_en_sp, "3030" }, /* 12 */
-  { txt_en_sp, "5020" }, /* 13 */
-  { txt_en_sp, "5030" }, /* 14 */
-  { txt_en_sp, "1120" }, /* 15 */
-  { txt_en_sp, "1130" }, /* 16 */
-  { txt_en_sp, "6010" }, /* 17 */
-  { txt_en_sp, "6110" }, /* 18 */
-  { txt_en_sp, "6210" }, /* 19 */
-  { txt_en_sp, "1020" }, /* 20 */
-  { txt_en_sp, "1040" }, /* 21 */
-  { txt_en_sp, "1050" }, /* 22 */
-  { txt_en_sp, "1060" }, /* 23 */
-};
-#define N_PRIDS (sizeof(product_info_eicon)/sizeof(product_info_t))
-
-/*
- * The vendor table
- */
-static vendor_info_t const vendor_info_table[] = {
-  { "Eicon Networks",  product_info_eicon   },
-};
-#define N_VENDORS (sizeof(vendor_info_table)/sizeof(vendor_info_t))
diff -pruN -X mips/Documentation/dontdiff mips-orig/arch/mips/lasat/picvue.c 
mips/arch/mips/lasat/picvue.c
--- mips-orig/arch/mips/lasat/picvue.c  2007-07-09 10:07:59.305146250 +0900
+++ mips/arch/mips/lasat/picvue.c       1970-01-01 09:00:00.000000000 +0900
@@ -1,240 +0,0 @@
-/*
- * Picvue PVC160206 display driver
- *
- * Brian Murphy <brian@murphy.dk>
- *
- */
-#include <linux/kernel.h>
-#include <linux/delay.h>
-#include <asm/bootinfo.h>
-#include <asm/lasat/lasat.h>
-#include <linux/module.h>
-#include <linux/init.h>
-#include <linux/errno.h>
-#include <linux/string.h>
-
-#include "picvue.h"
-
-#define PVC_BUSY               0x80
-#define PVC_NLINES             2
-#define PVC_DISPMEM            80
-#define PVC_LINELEN            PVC_DISPMEM / PVC_NLINES
-
-struct pvc_defs *picvue = NULL;
-
-DECLARE_MUTEX(pvc_sem);
-
-static void pvc_reg_write(u32 val)
-{
-       *picvue->reg = val;
-}
-
-static u32 pvc_reg_read(void)
-{
-       u32 tmp = *picvue->reg;
-       return tmp;
-}
-
-static void pvc_write_byte(u32 data, u8 byte)
-{
-       data |= picvue->e;
-       pvc_reg_write(data);
-       data &= ~picvue->data_mask;
-       data |= byte << picvue->data_shift;
-       pvc_reg_write(data);
-       ndelay(220);
-       pvc_reg_write(data & ~picvue->e);
-       ndelay(220);
-}
-
-static u8 pvc_read_byte(u32 data)
-{
-       u8 byte;
-
-       data |= picvue->e;
-       pvc_reg_write(data);
-       ndelay(220);
-       byte = (pvc_reg_read() & picvue->data_mask) >> picvue->data_shift;
-       data &= ~picvue->e;
-       pvc_reg_write(data);
-       ndelay(220);
-       return byte;
-}
-
-static u8 pvc_read_data(void)
-{
-       u32 data = pvc_reg_read();
-       u8 byte;
-       data |= picvue->rw;
-       data &= ~picvue->rs;
-       pvc_reg_write(data);
-       ndelay(40);
-       byte = pvc_read_byte(data);
-       data |= picvue->rs;
-       pvc_reg_write(data);
-       return byte;
-}
-
-#define TIMEOUT 1000
-static int pvc_wait(void)
-{
-       int i = TIMEOUT;
-       int err = 0;
-
-       while ((pvc_read_data() & PVC_BUSY) && i)
-               i--;
-       if (i == 0)
-               err = -ETIME;
-
-       return err;
-}
-
-#define MODE_INST 0
-#define MODE_DATA 1
-static void pvc_write(u8 byte, int mode)
-{
-       u32 data = pvc_reg_read();
-       data &= ~picvue->rw;
-       if (mode == MODE_DATA)
-               data |= picvue->rs;
-       else
-               data &= ~picvue->rs;
-       pvc_reg_write(data);
-       ndelay(40);
-       pvc_write_byte(data, byte);
-       if (mode == MODE_DATA)
-               data &= ~picvue->rs;
-       else
-               data |= picvue->rs;
-       pvc_reg_write(data);
-       pvc_wait();
-}
-
-void pvc_write_string(const unsigned char *str, u8 addr, int line)
-{
-       int i = 0;
-
-       if (line > 0 && (PVC_NLINES > 1))
-               addr += 0x40 * line;
-       pvc_write(0x80 | addr, MODE_INST);
-
-       while (*str != 0 && i < PVC_LINELEN) {
-               pvc_write(*str++, MODE_DATA);
-               i++;
-       }
-}
-
-void pvc_write_string_centered(const unsigned char *str, int line)
-{
-       int len = strlen(str);
-       u8 addr;
-
-       if (len > PVC_VISIBLE_CHARS)
-               addr = 0;
-       else
-               addr = (PVC_VISIBLE_CHARS - strlen(str))/2;
-
-       pvc_write_string(str, addr, line);
-}
-
-void pvc_dump_string(const unsigned char *str)
-{
-       int len = strlen(str);
-
-       pvc_write_string(str, 0, 0);
-       if (len > PVC_VISIBLE_CHARS)
-               pvc_write_string(&str[PVC_VISIBLE_CHARS], 0, 1);
-}
-
-#define BM_SIZE                        8
-#define MAX_PROGRAMMABLE_CHARS 8
-int pvc_program_cg(int charnum, u8 bitmap[BM_SIZE])
-{
-       int i;
-       int addr;
-
-       if (charnum > MAX_PROGRAMMABLE_CHARS)
-               return -ENOENT;
-
-       addr = charnum * 8;
-       pvc_write(0x40 | addr, MODE_INST);
-
-       for (i=0; i<BM_SIZE; i++)
-               pvc_write(bitmap[i], MODE_DATA);
-       return 0;
-}
-
-#define FUNC_SET_CMD   0x20
-#define  EIGHT_BYTE    (1 << 4)
-#define  FOUR_BYTE     0
-#define  TWO_LINES     (1 << 3)
-#define  ONE_LINE      0
-#define  LARGE_FONT    (1 << 2)
-#define  SMALL_FONT    0
-static void pvc_funcset(u8 cmd)
-{
-       pvc_write(FUNC_SET_CMD | (cmd & (EIGHT_BYTE|TWO_LINES|LARGE_FONT)), 
MODE_INST);
-}
-
-#define ENTRYMODE_CMD          0x4
-#define  AUTO_INC              (1 << 1)
-#define  AUTO_DEC              0
-#define  CURSOR_FOLLOWS_DISP   (1 << 0)
-static void pvc_entrymode(u8 cmd)
-{
-       pvc_write(ENTRYMODE_CMD | (cmd & (AUTO_INC|CURSOR_FOLLOWS_DISP)), 
MODE_INST);
-}
-
-#define DISP_CNT_CMD   0x08
-#define  DISP_OFF      0
-#define  DISP_ON       (1 << 2)
-#define  CUR_ON                (1 << 1)
-#define  CUR_BLINK     (1 << 0)
-void pvc_dispcnt(u8 cmd)
-{
-       pvc_write(DISP_CNT_CMD | (cmd & (DISP_ON|CUR_ON|CUR_BLINK)), MODE_INST);
-}
-
-#define MOVE_CMD       0x10
-#define  DISPLAY       (1 << 3)
-#define  CURSOR                0
-#define  RIGHT         (1 << 2)
-#define  LEFT          0
-void pvc_move(u8 cmd)
-{
-       pvc_write(MOVE_CMD | (cmd & (DISPLAY|RIGHT)), MODE_INST);
-}
-
-#define CLEAR_CMD      0x1
-void pvc_clear(void)
-{
-       pvc_write(CLEAR_CMD, MODE_INST);
-}
-
-#define HOME_CMD       0x2
-void pvc_home(void)
-{
-       pvc_write(HOME_CMD, MODE_INST);
-}
-
-int pvc_init(void)
-{
-       u8 cmd = EIGHT_BYTE;
-
-       if (PVC_NLINES == 2)
-               cmd |= (SMALL_FONT|TWO_LINES);
-       else
-               cmd |= (LARGE_FONT|ONE_LINE);
-       pvc_funcset(cmd);
-       pvc_dispcnt(DISP_ON);
-       pvc_entrymode(AUTO_INC);
-
-       pvc_clear();
-       pvc_write_string_centered("Display", 0);
-       pvc_write_string_centered("Initialized", 1);
-
-       return 0;
-}
-
-module_init(pvc_init);
-MODULE_LICENSE("GPL");
diff -pruN -X mips/Documentation/dontdiff mips-orig/arch/mips/lasat/picvue.h 
mips/arch/mips/lasat/picvue.h
--- mips-orig/arch/mips/lasat/picvue.h  2007-07-09 10:07:59.305146250 +0900
+++ mips/arch/mips/lasat/picvue.h       1970-01-01 09:00:00.000000000 +0900
@@ -1,48 +0,0 @@
-/*
- * Picvue PVC160206 display driver
- *
- * Brian Murphy <brian.murphy@eicon.com>
- *
- */
-#include <asm/semaphore.h>
-
-struct pvc_defs {
-       volatile u32 *reg;
-       u32 data_shift;
-       u32 data_mask;
-       u32 e;
-       u32 rw;
-       u32 rs;
-};
-
-extern struct pvc_defs *picvue;
-
-#define PVC_NLINES             2
-#define PVC_DISPMEM            80
-#define PVC_LINELEN            PVC_DISPMEM / PVC_NLINES
-#define PVC_VISIBLE_CHARS      16
-
-void pvc_write_string(const unsigned char *str, u8 addr, int line);
-void pvc_write_string_centered(const unsigned char *str, int line);
-void pvc_dump_string(const unsigned char *str);
-
-#define BM_SIZE                        8
-#define MAX_PROGRAMMABLE_CHARS 8
-int pvc_program_cg(int charnum, u8 bitmap[BM_SIZE]);
-
-void pvc_dispcnt(u8 cmd);
-#define  DISP_OFF      0
-#define  DISP_ON       (1 << 2)
-#define  CUR_ON                (1 << 1)
-#define  CUR_BLINK     (1 << 0)
-
-void pvc_move(u8 cmd);
-#define  DISPLAY       (1 << 3)
-#define  CURSOR                0
-#define  RIGHT         (1 << 2)
-#define  LEFT          0
-
-void pvc_clear(void);
-void pvc_home(void);
-
-extern struct semaphore pvc_sem;
diff -pruN -X mips/Documentation/dontdiff 
mips-orig/arch/mips/lasat/picvue_proc.c mips/arch/mips/lasat/picvue_proc.c
--- mips-orig/arch/mips/lasat/picvue_proc.c     2007-07-09 10:07:59.309146500 
+0900
+++ mips/arch/mips/lasat/picvue_proc.c  1970-01-01 09:00:00.000000000 +0900
@@ -1,186 +0,0 @@
-/*
- * Picvue PVC160206 display driver
- *
- * Brian Murphy <brian.murphy@eicon.com>
- *
- */
-#include <linux/kernel.h>
-#include <linux/module.h>
-#include <linux/init.h>
-#include <linux/errno.h>
-
-#include <linux/proc_fs.h>
-#include <linux/interrupt.h>
-
-#include <linux/timer.h>
-
-#include "picvue.h"
-
-static char pvc_lines[PVC_NLINES][PVC_LINELEN+1];
-static int pvc_linedata[PVC_NLINES];
-static struct proc_dir_entry *pvc_display_dir;
-static char *pvc_linename[PVC_NLINES] = {"line1", "line2"};
-#define DISPLAY_DIR_NAME "display"
-static int scroll_dir = 0, scroll_interval = 0;
-
-static struct timer_list timer;
-
-static void pvc_display(unsigned long data) {
-       int i;
-
-       pvc_clear();
-       for (i=0; i<PVC_NLINES; i++)
-               pvc_write_string(pvc_lines[i], 0, i);
-}
-
-static DECLARE_TASKLET(pvc_display_tasklet, &pvc_display, 0);
-
-static int pvc_proc_read_line(char *page, char **start,
-                             off_t off, int count,
-                             int *eof, void *data)
-{
-        char *origpage = page;
-       int lineno = *(int *)data;
-
-       if (lineno < 0 || lineno > PVC_NLINES) {
-               printk("proc_read_line: invalid lineno %d\n", lineno);
-               return 0;
-       }
-
-       down(&pvc_sem);
-        page += sprintf(page, "%s\n", pvc_lines[lineno]);
-       up(&pvc_sem);
-
-        return page - origpage;
-}
-
-static int pvc_proc_write_line(struct file *file, const char *buffer,
-                           unsigned long count, void *data)
-{
-        int origcount = count;
-       int lineno = *(int *)data;
-
-       if (lineno < 0 || lineno > PVC_NLINES) {
-               printk("proc_write_line: invalid lineno %d\n", lineno);
-               return origcount;
-       }
-
-       if (count > PVC_LINELEN)
-               count = PVC_LINELEN;
-
-       if (buffer[count-1] == '\n')
-               count--;
-
-       down(&pvc_sem);
-       strncpy(pvc_lines[lineno], buffer, count);
-       pvc_lines[lineno][count] = '\0';
-       up(&pvc_sem);
-
-       tasklet_schedule(&pvc_display_tasklet);
-
-        return origcount;
-}
-
-static int pvc_proc_write_scroll(struct file *file, const char *buffer,
-                           unsigned long count, void *data)
-{
-        int origcount = count;
-       int cmd = simple_strtol(buffer, NULL, 10);
-
-       down(&pvc_sem);
-       if (scroll_interval != 0)
-               del_timer(&timer);
-
-       if (cmd == 0) {
-               scroll_dir = 0;
-               scroll_interval = 0;
-       } else {
-               if (cmd < 0) {
-                       scroll_dir = -1;
-                       scroll_interval = -cmd;
-               } else {
-                       scroll_dir = 1;
-                       scroll_interval = cmd;
-               }
-               add_timer(&timer);
-       }
-       up(&pvc_sem);
-
-        return origcount;
-}
-
-static int pvc_proc_read_scroll(char *page, char **start,
-                             off_t off, int count,
-                             int *eof, void *data)
-{
-        char *origpage = page;
-
-       down(&pvc_sem);
-        page += sprintf(page, "%d\n", scroll_dir * scroll_interval);
-       up(&pvc_sem);
-
-        return page - origpage;
-}
-
-
-void pvc_proc_timerfunc(unsigned long data)
-{
-       if (scroll_dir < 0)
-               pvc_move(DISPLAY|RIGHT);
-       else if (scroll_dir > 0)
-               pvc_move(DISPLAY|LEFT);
-
-       timer.expires = jiffies + scroll_interval;
-       add_timer(&timer);
-}
-
-static void pvc_proc_cleanup(void)
-{
-       int i;
-       for (i=0; i<PVC_NLINES; i++)
-               remove_proc_entry(pvc_linename[i], pvc_display_dir);
-       remove_proc_entry("scroll", pvc_display_dir);
-       remove_proc_entry(DISPLAY_DIR_NAME, NULL);
-
-       del_timer(&timer);
-}
-
-static int __init pvc_proc_init(void)
-{
-       struct proc_dir_entry *proc_entry;
-       int i;
-
-       pvc_display_dir = proc_mkdir(DISPLAY_DIR_NAME, NULL);
-       if (pvc_display_dir == NULL)
-               goto error;
-
-       for (i=0; i<PVC_NLINES; i++) {
-               strcpy(pvc_lines[i], "");
-               pvc_linedata[i] = i;
-       }
-       for (i=0; i<PVC_NLINES; i++) {
-               proc_entry = create_proc_entry(pvc_linename[i], 0644, 
pvc_display_dir);
-               if (proc_entry == NULL)
-                       goto error;
-               proc_entry->read_proc = pvc_proc_read_line;
-               proc_entry->write_proc = pvc_proc_write_line;
-               proc_entry->data = &pvc_linedata[i];
-       }
-       proc_entry = create_proc_entry("scroll", 0644, pvc_display_dir);
-       if (proc_entry == NULL)
-               goto error;
-       proc_entry->write_proc = pvc_proc_write_scroll;
-       proc_entry->read_proc = pvc_proc_read_scroll;
-
-       init_timer(&timer);
-       timer.function = pvc_proc_timerfunc;
-
-       return 0;
-error:
-       pvc_proc_cleanup();
-       return -ENOMEM;
-}
-
-module_init(pvc_proc_init);
-module_exit(pvc_proc_cleanup);
-MODULE_LICENSE("GPL");
diff -pruN -X mips/Documentation/dontdiff mips-orig/arch/mips/lasat/prom.c 
mips/arch/mips/lasat/prom.c
--- mips-orig/arch/mips/lasat/prom.c    2007-07-09 10:07:59.309146500 +0900
+++ mips/arch/mips/lasat/prom.c 1970-01-01 09:00:00.000000000 +0900
@@ -1,117 +0,0 @@
-/*
- * PROM interface routines.
- */
-#include <linux/types.h>
-#include <linux/init.h>
-#include <linux/string.h>
-#include <linux/ctype.h>
-#include <linux/kernel.h>
-#include <linux/mm.h>
-#include <linux/bootmem.h>
-#include <linux/ioport.h>
-#include <asm/bootinfo.h>
-#include <asm/lasat/lasat.h>
-#include <asm/cpu.h>
-
-#include "at93c.h"
-#include <asm/lasat/eeprom.h>
-#include "prom.h"
-
-#define RESET_VECTOR   0xbfc00000
-#define PROM_JUMP_TABLE_ENTRY(n) (*((u32 *)(RESET_VECTOR + 0x20) + n))
-#define PROM_DISPLAY_ADDR      PROM_JUMP_TABLE_ENTRY(0)
-#define PROM_PUTC_ADDR         PROM_JUMP_TABLE_ENTRY(1)
-#define PROM_MONITOR_ADDR      PROM_JUMP_TABLE_ENTRY(2)
-
-static void null_prom_display(const char *string, int pos, int clear)
-{
-}
-
-static void null_prom_monitor(void)
-{
-}
-
-static void null_prom_putc(char c)
-{
-}
-
-/* these are functions provided by the bootloader */
-static void (* __prom_putc)(char c) = null_prom_putc;
-
-void prom_putchar(char c)
-{
-       __prom_putc(c);
-}
-
-void (* prom_display)(const char *string, int pos, int clear) =
-               null_prom_display;
-void (* prom_monitor)(void) = null_prom_monitor;
-
-unsigned int lasat_ndelay_divider;
-
-static void setup_prom_vectors(void)
-{
-       u32 version = *(u32 *)(RESET_VECTOR + 0x90);
-
-       if (version >= 307) {
-               prom_display = (void *)PROM_DISPLAY_ADDR;
-               __prom_putc = (void *)PROM_PUTC_ADDR;
-               prom_monitor = (void *)PROM_MONITOR_ADDR;
-       }
-       printk("prom vectors set up\n");
-}
-
-static struct at93c_defs at93c_defs[N_MACHTYPES] = {
-       {(void *)AT93C_REG_100, (void *)AT93C_RDATA_REG_100, 
AT93C_RDATA_SHIFT_100,
-       AT93C_WDATA_SHIFT_100, AT93C_CS_M_100, AT93C_CLK_M_100},
-       {(void *)AT93C_REG_200, (void *)AT93C_RDATA_REG_200, 
AT93C_RDATA_SHIFT_200,
-       AT93C_WDATA_SHIFT_200, AT93C_CS_M_200, AT93C_CLK_M_200},
-};
-
-void __init prom_init(void)
-{
-       int argc = fw_arg0;
-       char **argv = (char **) fw_arg1;
-
-       setup_prom_vectors();
-
-       if (current_cpu_data.cputype == CPU_R5000) {
-               printk("LASAT 200 board\n");
-               mips_machtype = MACH_LASAT_200;
-                lasat_ndelay_divider = LASAT_200_DIVIDER;
-        } else {
-               printk("LASAT 100 board\n");
-               mips_machtype = MACH_LASAT_100;
-                lasat_ndelay_divider = LASAT_100_DIVIDER;
-        }
-
-       at93c = &at93c_defs[mips_machtype];
-
-       lasat_init_board_info();                /* Read info from EEPROM */
-
-       mips_machgroup = MACH_GROUP_LASAT;
-
-       /* Get the command line */
-       if (argc > 0) {
-               strncpy(arcs_cmdline, argv[0], CL_SIZE-1);
-               arcs_cmdline[CL_SIZE-1] = '\0';
-       }
-
-       /* Set the I/O base address */
-       set_io_port_base(KSEG1);
-
-       /* Set memory regions */
-       ioport_resource.start = 0;
-       ioport_resource.end = 0xffffffff;       /* Wrong, fixme.  */
-
-       add_memory_region(0, lasat_board_info.li_memsize, BOOT_MEM_RAM);
-}
-
-void __init prom_free_prom_memory(void)
-{
-}
-
-const char *get_system_type(void)
-{
-       return lasat_board_info.li_bmstr;
-}
diff -pruN -X mips/Documentation/dontdiff mips-orig/arch/mips/lasat/prom.h 
mips/arch/mips/lasat/prom.h
--- mips-orig/arch/mips/lasat/prom.h    2007-07-09 10:07:59.309146500 +0900
+++ mips/arch/mips/lasat/prom.h 1970-01-01 09:00:00.000000000 +0900
@@ -1,5 +0,0 @@
-#ifndef PROM_H
-#define PROM_H
-extern void (* prom_display)(const char *string, int pos, int clear);
-extern void (* prom_monitor)(void);
-#endif
diff -pruN -X mips/Documentation/dontdiff mips-orig/arch/mips/lasat/reset.c 
mips/arch/mips/lasat/reset.c
--- mips-orig/arch/mips/lasat/reset.c   2007-07-09 10:07:59.309146500 +0900
+++ mips/arch/mips/lasat/reset.c        1970-01-01 09:00:00.000000000 +0900
@@ -1,69 +0,0 @@
-/*
- * Thomas Horsten <thh@lasat.com>
- * Copyright (C) 2000 LASAT Networks A/S.
- *
- *  This program is free software; you can distribute it and/or modify it
- *  under the terms of the GNU General Public License (Version 2) as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope 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.
- *
- * Reset the LASAT board.
- */
-#include <linux/kernel.h>
-#include <linux/pm.h>
-
-#include <asm/reboot.h>
-#include <asm/system.h>
-#include <asm/lasat/lasat.h>
-
-#include "picvue.h"
-#include "prom.h"
-
-static void lasat_machine_restart(char *command);
-static void lasat_machine_halt(void);
-
-/* Used to set machine to boot in service mode via /proc interface */
-int lasat_boot_to_service = 0;
-
-static void lasat_machine_restart(char *command)
-{
-       local_irq_disable();
-
-       if (lasat_boot_to_service) {
-               printk("machine_restart: Rebooting to service mode\n");
-               *(volatile unsigned int *)0xa0000024 = 0xdeadbeef;
-               *(volatile unsigned int *)0xa00000fc = 0xfedeabba;
-       }
-       *lasat_misc->reset_reg = 0xbedead;
-       for (;;) ;
-}
-
-#define MESSAGE "System halted"
-static void lasat_machine_halt(void)
-{
-       local_irq_disable();
-
-       /* Disable interrupts and loop forever */
-       printk(KERN_NOTICE MESSAGE "\n");
-#ifdef CONFIG_PICVUE
-       pvc_clear();
-       pvc_write_string(MESSAGE, 0, 0);
-#endif
-       prom_monitor();
-       for (;;) ;
-}
-
-void lasat_reboot_setup(void)
-{
-       _machine_restart = lasat_machine_restart;
-       _machine_halt = lasat_machine_halt;
-       pm_power_off = lasat_machine_halt;
-}
diff -pruN -X mips/Documentation/dontdiff mips-orig/arch/mips/lasat/setup.c 
mips/arch/mips/lasat/setup.c
--- mips-orig/arch/mips/lasat/setup.c   2007-07-09 10:07:59.309146500 +0900
+++ mips/arch/mips/lasat/setup.c        1970-01-01 09:00:00.000000000 +0900
@@ -1,182 +0,0 @@
-/*
- * Carsten Langgaard, carstenl@mips.com
- * Copyright (C) 1999 MIPS Technologies, Inc.  All rights reserved.
- *
- * Thomas Horsten <thh@lasat.com>
- * Copyright (C) 2000 LASAT Networks A/S.
- *
- * Brian Murphy <brian@murphy.dk>
- *
- *  This program is free software; you can distribute it and/or modify it
- *  under the terms of the GNU General Public License (Version 2) as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope 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.
- *
- * Lasat specific setup.
- */
-#include <linux/init.h>
-#include <linux/sched.h>
-#include <linux/pci.h>
-#include <linux/interrupt.h>
-#include <linux/tty.h>
-#include <linux/serial.h>
-#include <linux/serial_core.h>
-
-#include <asm/time.h>
-#include <asm/cpu.h>
-#include <asm/bootinfo.h>
-#include <asm/irq.h>
-#include <asm/lasat/lasat.h>
-#include <asm/lasat/serial.h>
-
-#ifdef CONFIG_PICVUE
-#include <linux/notifier.h>
-#endif
-
-#include "ds1603.h"
-#include <asm/lasat/ds1603.h>
-#include <asm/lasat/picvue.h>
-#include <asm/lasat/eeprom.h>
-
-#include "prom.h"
-
-int lasat_command_line = 0;
-void lasatint_init(void);
-
-extern void lasat_reboot_setup(void);
-extern void pcisetup(void);
-extern void edhac_init(void *, void *, void *);
-extern void addrflt_init(void);
-
-struct lasat_misc lasat_misc_info[N_MACHTYPES] = {
-       {(void *)KSEG1ADDR(0x1c840000), (void *)KSEG1ADDR(0x1c800000), 2},
-       {(void *)KSEG1ADDR(0x11080000), (void *)KSEG1ADDR(0x11000000), 6}
-};
-
-struct lasat_misc *lasat_misc = NULL;
-
-#ifdef CONFIG_DS1603
-static struct ds_defs ds_defs[N_MACHTYPES] = {
-       { (void *)DS1603_REG_100, (void *)DS1603_REG_100,
-               DS1603_RST_100, DS1603_CLK_100, DS1603_DATA_100,
-               DS1603_DATA_SHIFT_100, 0, 0 },
-       { (void *)DS1603_REG_200, (void *)DS1603_DATA_REG_200,
-               DS1603_RST_200, DS1603_CLK_200, DS1603_DATA_200,
-               DS1603_DATA_READ_SHIFT_200, 1, 2000 }
-};
-#endif
-
-#ifdef CONFIG_PICVUE
-#include "picvue.h"
-static struct pvc_defs pvc_defs[N_MACHTYPES] = {
-       { (void *)PVC_REG_100, PVC_DATA_SHIFT_100, PVC_DATA_M_100,
-               PVC_E_100, PVC_RW_100, PVC_RS_100 },
-       { (void *)PVC_REG_200, PVC_DATA_SHIFT_200, PVC_DATA_M_200,
-               PVC_E_200, PVC_RW_200, PVC_RS_200 }
-};
-#endif
-
-static int lasat_panic_display(struct notifier_block *this,
-                            unsigned long event, void *ptr)
-{
-#ifdef CONFIG_PICVUE
-       unsigned char *string = ptr;
-       if (string == NULL)
-               string = "Kernel Panic";
-       pvc_dump_string(string);
-#endif
-       return NOTIFY_DONE;
-}
-
-static int lasat_panic_prom_monitor(struct notifier_block *this,
-                            unsigned long event, void *ptr)
-{
-       prom_monitor();
-       return NOTIFY_DONE;
-}
-
-static struct notifier_block lasat_panic_block[] =
-{
-       { lasat_panic_display, NULL, INT_MAX },
-       { lasat_panic_prom_monitor, NULL, INT_MIN }
-};
-
-static void lasat_time_init(void)
-{
-       mips_hpt_frequency = lasat_board_info.li_cpu_hz / 2;
-}
-
-void __init plat_timer_setup(struct irqaction *irq)
-{
-       change_c0_status(ST0_IM, IE_IRQ0 | IE_IRQ5);
-}
-
-#define DYNAMIC_SERIAL_INIT
-#ifdef DYNAMIC_SERIAL_INIT
-void __init serial_init(void)
-{
-#ifdef CONFIG_SERIAL_8250
-       struct uart_port s;
-
-       memset(&s, 0, sizeof(s));
-
-       s.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
-       s.iotype = UPIO_MEM;
-
-       if (mips_machtype == MACH_LASAT_100) {
-               s.uartclk = LASAT_BASE_BAUD_100 * 16;
-               s.irq = LASATINT_UART_100;
-               s.regshift = LASAT_UART_REGS_SHIFT_100;
-               s.membase = (char *)KSEG1ADDR(LASAT_UART_REGS_BASE_100);
-       } else {
-               s.uartclk = LASAT_BASE_BAUD_200 * 16;
-               s.irq = LASATINT_UART_200;
-               s.regshift = LASAT_UART_REGS_SHIFT_200;
-               s.membase = (char *)KSEG1ADDR(LASAT_UART_REGS_BASE_200);
-       }
-
-       if (early_serial_setup(&s) != 0)
-               printk(KERN_ERR "Serial setup failed!\n");
-#endif
-}
-#endif
-
-void __init plat_mem_setup(void)
-{
-       int i;
-       lasat_misc  = &lasat_misc_info[mips_machtype];
-#ifdef CONFIG_PICVUE
-       picvue = &pvc_defs[mips_machtype];
-#endif
-
-       /* Set up panic notifier */
-       for (i = 0; i < sizeof(lasat_panic_block) / sizeof(struct 
notifier_block); i++)
-               atomic_notifier_chain_register(&panic_notifier_list,
-                               &lasat_panic_block[i]);
-
-       lasat_reboot_setup();
-
-       board_time_init = lasat_time_init;
-
-#ifdef CONFIG_DS1603
-       ds1603 = &ds_defs[mips_machtype];
-       rtc_mips_get_time = ds1603_read;
-       rtc_mips_set_time = ds1603_set;
-#endif
-
-#ifdef DYNAMIC_SERIAL_INIT
-       serial_init();
-#endif
-       /* Switch from prom exception handler to normal mode */
-       change_c0_status(ST0_BEV,0);
-
-       pr_info("Lasat specific initialization complete\n");
-}
diff -pruN -X mips/Documentation/dontdiff mips-orig/arch/mips/lasat/sysctl.c 
mips/arch/mips/lasat/sysctl.c
--- mips-orig/arch/mips/lasat/sysctl.c  2007-07-09 10:07:59.309146500 +0900
+++ mips/arch/mips/lasat/sysctl.c       1970-01-01 09:00:00.000000000 +0900
@@ -1,441 +0,0 @@
-/*
- * Thomas Horsten <thh@lasat.com>
- * Copyright (C) 2000 LASAT Networks A/S.
- *
- *  This program is free software; you can distribute it and/or modify it
- *  under the terms of the GNU General Public License (Version 2) as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope 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.
- *
- * Routines specific to the LASAT boards
- */
-#include <linux/types.h>
-#include <asm/lasat/lasat.h>
-
-#include <linux/module.h>
-#include <linux/sysctl.h>
-#include <linux/stddef.h>
-#include <linux/init.h>
-#include <linux/fs.h>
-#include <linux/ctype.h>
-#include <linux/string.h>
-#include <linux/net.h>
-#include <linux/inet.h>
-#include <linux/mutex.h>
-#include <asm/uaccess.h>
-
-#include "sysctl.h"
-#include "ds1603.h"
-
-static DEFINE_MUTEX(lasat_info_mutex);
-
-/* Strategy function to write EEPROM after changing string entry */
-int sysctl_lasatstring(ctl_table *table, int *name, int nlen,
-               void *oldval, size_t *oldlenp,
-               void *newval, size_t newlen)
-{
-       int r;
-       mutex_lock(&lasat_info_mutex);
-       r = sysctl_string(table, name,
-                         nlen, oldval, oldlenp, newval, newlen);
-       if (r < 0) {
-               mutex_unlock(&lasat_info_mutex);
-               return r;
-       }
-       if (newval && newlen) {
-               lasat_write_eeprom_info();
-       }
-       mutex_unlock(&lasat_info_mutex);
-       return 1;
-}
-
-
-/* And the same for proc */
-int proc_dolasatstring(ctl_table *table, int write, struct file *filp,
-                      void *buffer, size_t *lenp, loff_t *ppos)
-{
-       int r;
-       mutex_lock(&lasat_info_mutex);
-       r = proc_dostring(table, write, filp, buffer, lenp, ppos);
-       if ( (!write) || r) {
-               mutex_unlock(&lasat_info_mutex);
-               return r;
-       }
-       lasat_write_eeprom_info();
-       mutex_unlock(&lasat_info_mutex);
-       return 0;
-}
-
-/* proc function to write EEPROM after changing int entry */
-int proc_dolasatint(ctl_table *table, int write, struct file *filp,
-                      void *buffer, size_t *lenp, loff_t *ppos)
-{
-       int r;
-       mutex_lock(&lasat_info_mutex);
-       r = proc_dointvec(table, write, filp, buffer, lenp, ppos);
-       if ( (!write) || r) {
-               mutex_unlock(&lasat_info_mutex);
-               return r;
-       }
-       lasat_write_eeprom_info();
-       mutex_unlock(&lasat_info_mutex);
-       return 0;
-}
-
-static int rtctmp;
-
-#ifdef CONFIG_DS1603
-/* proc function to read/write RealTime Clock */
-int proc_dolasatrtc(ctl_table *table, int write, struct file *filp,
-                      void *buffer, size_t *lenp, loff_t *ppos)
-{
-       int r;
-       mutex_lock(&lasat_info_mutex);
-       if (!write) {
-               rtctmp = ds1603_read();
-               /* check for time < 0 and set to 0 */
-               if (rtctmp < 0)
-                       rtctmp = 0;
-       }
-       r = proc_dointvec(table, write, filp, buffer, lenp, ppos);
-       if ( (!write) || r) {
-               mutex_unlock(&lasat_info_mutex);
-               return r;
-       }
-       ds1603_set(rtctmp);
-       mutex_unlock(&lasat_info_mutex);
-       return 0;
-}
-#endif
-
-/* Sysctl for setting the IP addresses */
-int sysctl_lasat_intvec(ctl_table *table, int *name, int nlen,
-                   void *oldval, size_t *oldlenp,
-                   void *newval, size_t newlen)
-{
-       int r;
-       mutex_lock(&lasat_info_mutex);
-       r = sysctl_intvec(table, name, nlen, oldval, oldlenp, newval, newlen);
-       if (r < 0) {
-               mutex_unlock(&lasat_info_mutex);
-               return r;
-       }
-       if (newval && newlen) {
-               lasat_write_eeprom_info();
-       }
-       mutex_unlock(&lasat_info_mutex);
-       return 1;
-}
-
-#ifdef CONFIG_DS1603
-/* Same for RTC */
-int sysctl_lasat_rtc(ctl_table *table, int *name, int nlen,
-                   void *oldval, size_t *oldlenp,
-                   void *newval, size_t newlen)
-{
-       int r;
-       mutex_lock(&lasat_info_mutex);
-       rtctmp = ds1603_read();
-       if (rtctmp < 0)
-               rtctmp = 0;
-       r = sysctl_intvec(table, name, nlen, oldval, oldlenp, newval, newlen);
-       if (r < 0) {
-               mutex_unlock(&lasat_info_mutex);
-               return r;
-       }
-       if (newval && newlen) {
-               ds1603_set(rtctmp);
-       }
-       mutex_unlock(&lasat_info_mutex);
-       return 1;
-}
-#endif
-
-#ifdef CONFIG_INET
-static char lasat_bcastaddr[16];
-
-void update_bcastaddr(void)
-{
-       unsigned int ip;
-
-       ip = (lasat_board_info.li_eeprom_info.ipaddr &
-               lasat_board_info.li_eeprom_info.netmask) |
-               ~lasat_board_info.li_eeprom_info.netmask;
-
-       sprintf(lasat_bcastaddr, "%d.%d.%d.%d",
-                       (ip      ) & 0xff,
-                       (ip >>  8) & 0xff,
-                       (ip >> 16) & 0xff,
-                       (ip >> 24) & 0xff);
-}
-
-static char proc_lasat_ipbuf[32];
-/* Parsing of IP address */
-int proc_lasat_ip(ctl_table *table, int write, struct file *filp,
-                      void *buffer, size_t *lenp, loff_t *ppos)
-{
-       int len;
-        unsigned int ip;
-       char *p, c;
-
-       if (!table->data || !table->maxlen || !*lenp ||
-           (*ppos && !write)) {
-               *lenp = 0;
-               return 0;
-       }
-
-       mutex_lock(&lasat_info_mutex);
-       if (write) {
-               len = 0;
-               p = buffer;
-               while (len < *lenp) {
-                       if(get_user(c, p++)) {
-                               mutex_unlock(&lasat_info_mutex);
-                               return -EFAULT;
-                       }
-                       if (c == 0 || c == '\n')
-                               break;
-                       len++;
-               }
-               if (len >= sizeof(proc_lasat_ipbuf)-1)
-                       len = sizeof(proc_lasat_ipbuf) - 1;
-               if (copy_from_user(proc_lasat_ipbuf, buffer, len))
-               {
-                       mutex_unlock(&lasat_info_mutex);
-                       return -EFAULT;
-               }
-               proc_lasat_ipbuf[len] = 0;
-               *ppos += *lenp;
-               /* Now see if we can convert it to a valid IP */
-               ip = in_aton(proc_lasat_ipbuf);
-               *(unsigned int *)(table->data) = ip;
-               lasat_write_eeprom_info();
-       } else {
-               ip = *(unsigned int *)(table->data);
-               sprintf(proc_lasat_ipbuf, "%d.%d.%d.%d",
-                       (ip      ) & 0xff,
-                       (ip >>  8) & 0xff,
-                       (ip >> 16) & 0xff,
-                       (ip >> 24) & 0xff);
-               len = strlen(proc_lasat_ipbuf);
-               if (len > *lenp)
-                       len = *lenp;
-               if (len)
-                       if(copy_to_user(buffer, proc_lasat_ipbuf, len)) {
-                               mutex_unlock(&lasat_info_mutex);
-                               return -EFAULT;
-                       }
-               if (len < *lenp) {
-                       if(put_user('\n', ((char *) buffer) + len)) {
-                               mutex_unlock(&lasat_info_mutex);
-                               return -EFAULT;
-                       }
-                       len++;
-               }
-               *lenp = len;
-               *ppos += len;
-       }
-       update_bcastaddr();
-       mutex_unlock(&lasat_info_mutex);
-       return 0;
-}
-#endif /* defined(CONFIG_INET) */
-
-static int sysctl_lasat_eeprom_value(ctl_table *table, int *name, int nlen,
-                                    void *oldval, size_t *oldlenp,
-                                    void *newval, size_t newlen)
-{
-       int r;
-
-       mutex_lock(&lasat_info_mutex);
-       r = sysctl_intvec(table, name, nlen, oldval, oldlenp, newval, newlen);
-       if (r < 0) {
-               mutex_unlock(&lasat_info_mutex);
-               return r;
-       }
-
-       if (newval && newlen)
-       {
-               if (name && *name == LASAT_PRID)
-                       lasat_board_info.li_eeprom_info.prid = *(int*)newval;
-
-               lasat_write_eeprom_info();
-               lasat_init_board_info();
-       }
-       mutex_unlock(&lasat_info_mutex);
-
-       return 0;
-}
-
-int proc_lasat_eeprom_value(ctl_table *table, int write, struct file *filp,
-                      void *buffer, size_t *lenp, loff_t *ppos)
-{
-       int r;
-       mutex_lock(&lasat_info_mutex);
-       r = proc_dointvec(table, write, filp, buffer, lenp, ppos);
-       if ( (!write) || r) {
-               mutex_unlock(&lasat_info_mutex);
-               return r;
-       }
-       if (filp && filp->f_path.dentry)
-       {
-               if (!strcmp(filp->f_path.dentry->d_name.name, "prid"))
-                       lasat_board_info.li_eeprom_info.prid = 
lasat_board_info.li_prid;
-               if (!strcmp(filp->f_path.dentry->d_name.name, "debugaccess"))
-                       lasat_board_info.li_eeprom_info.debugaccess = 
lasat_board_info.li_debugaccess;
-       }
-       lasat_write_eeprom_info();
-       mutex_unlock(&lasat_info_mutex);
-       return 0;
-}
-
-extern int lasat_boot_to_service;
-
-#ifdef CONFIG_SYSCTL
-
-static ctl_table lasat_table[] = {
-       {
-               .ctl_name       = CTL_UNNUMBERED,
-               .procname       = "cpu-hz",
-               .data           = &lasat_board_info.li_cpu_hz,
-               .maxlen         = sizeof(int),
-               .mode           = 0444,
-               .proc_handler   = &proc_dointvec,
-               .strategy       = &sysctl_intvec
-       },
-       {
-               .ctl_name       = CTL_UNNUMBERED,
-               .procname       = "bus-hz",
-               .data           = &lasat_board_info.li_bus_hz,
-               .maxlen         = sizeof(int),
-               .mode           = 0444,
-               .proc_handler   = &proc_dointvec,
-               .strategy       = &sysctl_intvec
-       },
-       {
-               .ctl_name       = CTL_UNNUMBERED,
-               .procname       = "bmid",
-               .data           = &lasat_board_info.li_bmid,
-               .maxlen         = sizeof(int),
-               .mode           = 0444,
-               .proc_handler   = &proc_dointvec,
-               .strategy       = &sysctl_intvec
-       },
-       {
-               .ctl_name       = CTL_UNNUMBERED,
-               .procname       = "prid",
-               .data           = &lasat_board_info.li_prid,
-               .maxlen         = sizeof(int),
-               .mode           = 0644,
-               .proc_handler   = &proc_lasat_eeprom_value,
-               .strategy       = &sysctl_lasat_eeprom_value
-       },
-#ifdef CONFIG_INET
-       {
-               .ctl_name       = CTL_UNNUMBERED,
-               .procname       = "ipaddr",
-               .data           = &lasat_board_info.li_eeprom_info.ipaddr,
-               .maxlen         = sizeof(int),
-               .mode           = 0644,
-               .proc_handler   = &proc_lasat_ip,
-               .strategy       = &sysctl_lasat_intvec
-       },
-       {
-               .ctl_name       = LASAT_NETMASK,
-               .procname       = "netmask",
-               .data           = &lasat_board_info.li_eeprom_info.netmask,
-               .maxlen         = sizeof(int),
-               .mode           = 0644,
-               .proc_handler   = &proc_lasat_ip,
-               .strategy       = &sysctl_lasat_intvec
-       },
-       {
-               .ctl_name       = CTL_UNNUMBERED,
-               .procname       = "bcastaddr",
-               .data           = &lasat_bcastaddr,
-               .maxlen         = sizeof(lasat_bcastaddr),
-               .mode           = 0600,
-               .proc_handler   = &proc_dostring,
-               .strategy       = &sysctl_string
-       },
-#endif
-       {
-               .ctl_name       = CTL_UNNUMBERED,
-               .procname       = "passwd_hash",
-               .data           = &lasat_board_info.li_eeprom_info.passwd_hash,
-               .maxlen         = 
sizeof(lasat_board_info.li_eeprom_info.passwd_hash),
-               .mode           = 0600,
-               .proc_handler   = &proc_dolasatstring,
-               .strategy       = &sysctl_lasatstring
-       },
-       {
-               .ctl_name       = CTL_UNNUMBERED,
-               .procname       = "boot-service",
-               .data           = &lasat_boot_to_service,
-               .maxlen         = sizeof(int),
-               .mode           = 0644,
-               .proc_handler   = &proc_dointvec,
-               .strategy       = &sysctl_intvec
-       },
-#ifdef CONFIG_DS1603
-       {
-               .ctl_name       = CTL_UNNUMBERED,
-               .procname       = "rtc",
-               .data           = &rtctmp,
-               .maxlen         = sizeof(int),
-               .mode           = 0644,
-               .proc_handler   = &proc_dolasatrtc,
-               .strategy       = &sysctl_lasat_rtc
-       },
-#endif
-       {
-               .ctl_name       = CTL_UNNUMBERED,
-               .procname       = "namestr",
-               .data           = &lasat_board_info.li_namestr,
-               .maxlen         = sizeof(lasat_board_info.li_namestr),
-               .mode           = 0444,
-               .proc_handler   =  &proc_dostring,
-               .strategy       = &sysctl_string
-       },
-       {
-               .ctl_name       = CTL_UNNUMBERED,
-               .procname       = "typestr",
-               .data           = &lasat_board_info.li_typestr,
-               .maxlen         = sizeof(lasat_board_info.li_typestr),
-               .mode           = 0444,
-               .proc_handler   = &proc_dostring,
-               .strategy       = &sysctl_string
-       },
-       {}
-};
-
-static ctl_table lasat_root_table[] = {
-       {
-               .ctl_name       = CTL_UNNUMBERED,
-               .procname       = "lasat",
-               .mode           =  0555,
-               .child          = lasat_table
-       },
-       {}
-};
-
-static int __init lasat_register_sysctl(void)
-{
-       struct ctl_table_header *lasat_table_header;
-
-       lasat_table_header =
-               register_sysctl_table(lasat_root_table);
-
-       return 0;
-}
-
-__initcall(lasat_register_sysctl);
-#endif /* CONFIG_SYSCTL */
diff -pruN -X mips/Documentation/dontdiff mips-orig/arch/mips/lasat/sysctl.h 
mips/arch/mips/lasat/sysctl.h
--- mips-orig/arch/mips/lasat/sysctl.h  2007-07-09 10:07:59.333148000 +0900
+++ mips/arch/mips/lasat/sysctl.h       1970-01-01 09:00:00.000000000 +0900
@@ -1,24 +0,0 @@
-/*
- * LASAT sysctl values
- */
-
-#ifndef _LASAT_SYSCTL_H
-#define _LASAT_SYSCTL_H
-
-/* /proc/sys/lasat */
-enum {
-       LASAT_CPU_HZ=1,
-       LASAT_BUS_HZ,
-       LASAT_MODEL,
-       LASAT_PRID,
-       LASAT_IPADDR,
-       LASAT_NETMASK,
-       LASAT_BCAST,
-       LASAT_PASSWORD,
-       LASAT_SBOOT,
-       LASAT_RTC,
-       LASAT_NAMESTR,
-       LASAT_TYPESTR,
-};
-
-#endif /* _LASAT_SYSCTL_H */
diff -pruN -X mips/Documentation/dontdiff mips-orig/arch/mips/pci/Makefile 
mips/arch/mips/pci/Makefile
--- mips-orig/arch/mips/pci/Makefile    2007-07-09 10:07:59.941186000 +0900
+++ mips/arch/mips/pci/Makefile 2007-07-09 10:08:06.209577750 +0900
@@ -11,7 +11,6 @@ obj-$(CONFIG_MIPS_BONITO64)   += ops-bonit
 obj-$(CONFIG_PCI_GT64XXX_PCI0) += ops-gt64xxx_pci0.o
 obj-$(CONFIG_PCI_MARVELL)      += ops-marvell.o
 obj-$(CONFIG_MIPS_MSC)         += ops-msc.o
-obj-$(CONFIG_MIPS_NILE4)       += ops-nile4.o
 obj-$(CONFIG_MIPS_TX3927)      += ops-tx3927.o
 obj-$(CONFIG_PCI_VR41XX)       += ops-vr41xx.o pci-vr41xx.o
 obj-$(CONFIG_NEC_CMBVR4133)    += fixup-vr4133.o
@@ -22,7 +21,6 @@ obj-$(CONFIG_MARKEINS)                += ops-emma2rh.o
 #
 obj-$(CONFIG_BASLER_EXCITE)    += ops-titan.o pci-excite.o fixup-excite.o
 obj-$(CONFIG_DDB5477)          += fixup-ddb5477.o pci-ddb5477.o ops-ddb5477.o
-obj-$(CONFIG_LASAT)            += pci-lasat.o
 obj-$(CONFIG_MIPS_ATLAS)       += fixup-atlas.o
 obj-$(CONFIG_MIPS_COBALT)      += fixup-cobalt.o
 obj-$(CONFIG_SOC_AU1500)       += fixup-au1000.o ops-au1000.o
diff -pruN -X mips/Documentation/dontdiff mips-orig/arch/mips/pci/ops-nile4.c 
mips/arch/mips/pci/ops-nile4.c
--- mips-orig/arch/mips/pci/ops-nile4.c 2007-07-09 10:08:00.037192000 +0900
+++ mips/arch/mips/pci/ops-nile4.c      1970-01-01 09:00:00.000000000 +0900
@@ -1,147 +0,0 @@
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/pci.h>
-#include <asm/bootinfo.h>
-
-#include <asm/lasat/lasat.h>
-#include <asm/gt64120.h>
-#include <asm/nile4.h>
-
-#define PCI_ACCESS_READ  0
-#define PCI_ACCESS_WRITE 1
-
-#define LO(reg) (reg / 4)
-#define HI(reg) (reg / 4 + 1)
-
-volatile unsigned long *const vrc_pciregs = (void *) Vrc5074_BASE;
-
-static DEFINE_SPINLOCK(nile4_pci_lock);
-
-static int nile4_pcibios_config_access(unsigned char access_type,
-       struct pci_bus *bus, unsigned int devfn, int where, u32 * val)
-{
-       unsigned char busnum = bus->number;
-       u32 adr, mask, err;
-
-       if ((busnum == 0) && (PCI_SLOT(devfn) > 8))
-               /* The addressing scheme chosen leaves room for just
-                * 8 devices on the first busnum (besides the PCI
-                * controller itself) */
-               return PCIBIOS_DEVICE_NOT_FOUND;
-
-       if ((busnum == 0) && (devfn == PCI_DEVFN(0, 0))) {
-               /* Access controller registers directly */
-               if (access_type == PCI_ACCESS_WRITE) {
-                       vrc_pciregs[(0x200 + where) >> 2] = *val;
-               } else {
-                       *val = vrc_pciregs[(0x200 + where) >> 2];
-               }
-               return PCIBIOS_SUCCESSFUL;
-       }
-
-       /* Temporarily map PCI Window 1 to config space */
-       mask = vrc_pciregs[LO(NILE4_PCIINIT1)];
-       vrc_pciregs[LO(NILE4_PCIINIT1)] = 0x0000001a | (busnum ? 0x200 : 0);
-
-       /* Clear PCI Error register. This also clears the Error Type
-        * bits in the Control register */
-       vrc_pciregs[LO(NILE4_PCIERR)] = 0;
-       vrc_pciregs[HI(NILE4_PCIERR)] = 0;
-
-       /* Setup address */
-       if (busnum == 0)
-               adr =
-                   KSEG1ADDR(PCI_WINDOW1) +
-                   ((1 << (PCI_SLOT(devfn) + 15)) | (PCI_FUNC(devfn) << 8)
-                    | (where & ~3));
-       else
-               adr = KSEG1ADDR(PCI_WINDOW1) | (busnum << 16) | (devfn << 8) |
-                     (where & ~3);
-
-       if (access_type == PCI_ACCESS_WRITE)
-               *(u32 *) adr = *val;
-       else
-               *val = *(u32 *) adr;
-
-       /* Check for master or target abort */
-       err = (vrc_pciregs[HI(NILE4_PCICTRL)] >> 5) & 0x7;
-
-       /* Restore PCI Window 1 */
-       vrc_pciregs[LO(NILE4_PCIINIT1)] = mask;
-
-       if (err)
-               return PCIBIOS_DEVICE_NOT_FOUND;
-
-       return PCIBIOS_SUCCESSFUL;
-}
-
-static int nile4_pcibios_read(struct pci_bus *bus, unsigned int devfn,
-       int where, int size, u32 * val)
-{
-       unsigned long flags;
-       u32 data = 0;
-       int err;
-
-       if ((size == 2) && (where & 1))
-               return PCIBIOS_BAD_REGISTER_NUMBER;
-       else if ((size == 4) && (where & 3))
-               return PCIBIOS_BAD_REGISTER_NUMBER;
-
-       spin_lock_irqsave(&nile4_pci_lock, flags);
-       err = nile4_pcibios_config_access(PCI_ACCESS_READ, bus, devfn, where,
-                                       &data);
-       spin_unlock_irqrestore(&nile4_pci_lock, flags);
-
-       if (err)
-               return err;
-
-       if (size == 1)
-               *val = (data >> ((where & 3) << 3)) & 0xff;
-       else if (size == 2)
-               *val = (data >> ((where & 3) << 3)) & 0xffff;
-       else
-               *val = data;
-
-       return PCIBIOS_SUCCESSFUL;
-}
-
-static int nile4_pcibios_write(struct pci_bus *bus, unsigned int devfn,
-       int where, int size, u32 val)
-{
-       unsigned long flags;
-       u32 data = 0;
-       int err;
-
-       if ((size == 2) && (where & 1))
-               return PCIBIOS_BAD_REGISTER_NUMBER;
-       else if ((size == 4) && (where & 3))
-               return PCIBIOS_BAD_REGISTER_NUMBER;
-
-       spin_lock_irqsave(&nile4_pci_lock, flags);
-       err = nile4_pcibios_config_access(PCI_ACCESS_READ, bus, devfn, where,
-                                         &data);
-       spin_unlock_irqrestore(&nile4_pci_lock, flags);
-
-       if (err)
-               return err;
-
-       if (size == 1)
-               data = (data & ~(0xff << ((where & 3) << 3))) |
-                   (val << ((where & 3) << 3));
-       else if (size == 2)
-               data = (data & ~(0xffff << ((where & 3) << 3))) |
-                   (val << ((where & 3) << 3));
-       else
-               data = val;
-
-       if (nile4_pcibios_config_access
-           (PCI_ACCESS_WRITE, bus, devfn, where, &data))
-               return -1;
-
-       return PCIBIOS_SUCCESSFUL;
-}
-
-struct pci_ops nile4_pci_ops = {
-       .read = nile4_pcibios_read,
-       .write = nile4_pcibios_write,
-};
diff -pruN -X mips/Documentation/dontdiff mips-orig/arch/mips/pci/pci-lasat.c 
mips/arch/mips/pci/pci-lasat.c
--- mips-orig/arch/mips/pci/pci-lasat.c 2007-07-09 10:08:00.261206000 +0900
+++ mips/arch/mips/pci/pci-lasat.c      1970-01-01 09:00:00.000000000 +0900
@@ -1,91 +0,0 @@
-/*
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- * Copyright (C) 2000, 2001, 04 Keith M Wesolowski
- */
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/pci.h>
-#include <linux/types.h>
-#include <asm/bootinfo.h>
-
-extern struct pci_ops nile4_pci_ops;
-extern struct pci_ops gt64xxx_pci0_ops;
-static struct resource lasat_pci_mem_resource = {
-       .name   = "LASAT PCI MEM",
-       .start  = 0x18000000,
-       .end    = 0x19ffffff,
-       .flags  = IORESOURCE_MEM,
-};
-
-static struct resource lasat_pci_io_resource = {
-       .name   = "LASAT PCI IO",
-       .start  = 0x1a000000,
-       .end    = 0x1bffffff,
-       .flags  = IORESOURCE_IO,
-};
-
-static struct pci_controller lasat_pci_controller = {
-       .mem_resource   = &lasat_pci_mem_resource,
-       .io_resource    = &lasat_pci_io_resource,
-};
-
-static int __init lasat_pci_setup(void)
-{
-       printk("PCI: starting\n");
-
-       switch (mips_machtype) {
-       case MACH_LASAT_100:
-                lasat_pci_controller.pci_ops = &gt64xxx_pci0_ops;
-                break;
-       case MACH_LASAT_200:
-                lasat_pci_controller.pci_ops = &nile4_pci_ops;
-                break;
-       default:
-                panic("pcibios_init: mips_machtype incorrect");
-        }
-
-       register_pci_controller(&lasat_pci_controller);
-
-       return 0;
-}
-
-arch_initcall(lasat_pci_setup);
-
-#define LASATINT_ETH1   0
-#define LASATINT_ETH0   1
-#define LASATINT_HDC    2
-#define LASATINT_COMP   3
-#define LASATINT_HDLC   4
-#define LASATINT_PCIA   5
-#define LASATINT_PCIB   6
-#define LASATINT_PCIC   7
-#define LASATINT_PCID   8
-
-int __init pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
-{
-       switch (slot) {
-       case 1:
-       case 2:
-       case 3:
-               return LASATINT_PCIA + (((slot-1) + (pin-1)) % 4);
-       case 4:
-               return LASATINT_ETH1;   /* Ethernet 1 (LAN 2) */
-       case 5:
-               return LASATINT_ETH0;   /* Ethernet 0 (LAN 1) */
-       case 6:
-               return LASATINT_HDC;    /* IDE controller */
-       default:
-               return 0xff;            /* Illegal */
-       }
-
-       return -1;
-}
-
-/* Do platform specific device initialization at pci_enable_device() time */
-int pcibios_plat_dev_init(struct pci_dev *dev)
-{
-       return 0;
-}
diff -pruN -X mips/Documentation/dontdiff mips-orig/drivers/mtd/maps/Kconfig 
mips/drivers/mtd/maps/Kconfig
--- mips-orig/drivers/mtd/maps/Kconfig  2007-07-09 10:08:30.831116500 +0900
+++ mips/drivers/mtd/maps/Kconfig       2007-07-09 10:08:10.913871750 +0900
@@ -258,12 +258,6 @@ config MTD_TSUNAMI
        help
          Support for the flash chip on Tsunami TIG bus.
 
-config MTD_LASAT
-       tristate "LASAT flash device"
-       depends on LASAT && MTD_CFI
-       help
-         Support for the flash chips on the Lasat 100 and 200 boards.
-
 config MTD_NETtel
        tristate "CFI flash device on SnapGear/SecureEdge"
        depends on X86 && MTD_PARTITIONS && MTD_JEDECPROBE
diff -pruN -X mips/Documentation/dontdiff mips-orig/drivers/mtd/maps/Makefile 
mips/drivers/mtd/maps/Makefile
--- mips-orig/drivers/mtd/maps/Makefile 2007-07-09 10:08:30.835116750 +0900
+++ mips/drivers/mtd/maps/Makefile      2007-07-09 10:08:10.933873000 +0900
@@ -47,7 +47,6 @@ obj-$(CONFIG_MTD_OCELOT)      += ocelot.o
 obj-$(CONFIG_MTD_SOLUTIONENGINE)+= solutionengine.o
 obj-$(CONFIG_MTD_PCI)          += pci.o
 obj-$(CONFIG_MTD_ALCHEMY)       += alchemy-flash.o
-obj-$(CONFIG_MTD_LASAT)                += lasat.o
 obj-$(CONFIG_MTD_AUTCPU12)     += autcpu12-nvram.o
 obj-$(CONFIG_MTD_EDB7312)      += edb7312.o
 obj-$(CONFIG_MTD_IMPA7)                += impa7.o
diff -pruN -X mips/Documentation/dontdiff mips-orig/drivers/mtd/maps/lasat.c 
mips/drivers/mtd/maps/lasat.c
--- mips-orig/drivers/mtd/maps/lasat.c  2007-07-09 10:08:30.843117250 +0900
+++ mips/drivers/mtd/maps/lasat.c       1970-01-01 09:00:00.000000000 +0900
@@ -1,103 +0,0 @@
-/*
- * Flash device on Lasat 100 and 200 boards
- *
- * (C) 2002 Brian Murphy <brian@murphy.dk>
- *
- * 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.
- *
- * $Id: lasat.c,v 1.7 2004/07/12 21:59:44 dwmw2 Exp $
- *
- */
-
-#include <linux/module.h>
-#include <linux/types.h>
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <asm/io.h>
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/map.h>
-#include <linux/mtd/partitions.h>
-#include <asm/lasat/lasat.h>
-
-static struct mtd_info *lasat_mtd;
-
-static struct mtd_partition partition_info[LASAT_MTD_LAST];
-static char *lasat_mtd_partnames[] = {"Bootloader", "Service", "Normal", 
"Filesystem", "Config"};
-
-static void lasat_set_vpp(struct map_info *map, int vpp)
-{
-       if (vpp)
-           *lasat_misc->flash_wp_reg |= 1 << lasat_misc->flash_wp_bit;
-       else
-           *lasat_misc->flash_wp_reg &= ~(1 << lasat_misc->flash_wp_bit);
-}
-
-static struct map_info lasat_map = {
-       .name = "LASAT flash",
-       .bankwidth = 4,
-       .set_vpp = lasat_set_vpp
-};
-
-static int __init init_lasat(void)
-{
-       int i;
-       /* since we use AMD chips and set_vpp is not implimented
-        * for these (yet) we still have to permanently enable flash write */
-       printk(KERN_NOTICE "Unprotecting flash\n");
-       ENABLE_VPP((&lasat_map));
-
-       lasat_map.phys = lasat_flash_partition_start(LASAT_MTD_BOOTLOADER);
-       lasat_map.virt = (unsigned long)ioremap_nocache(
-                       lasat_map.phys, lasat_board_info.li_flash_size);
-       lasat_map.size = lasat_board_info.li_flash_size;
-
-       simple_map_init(&lasat_map);
-
-       for (i=0; i < LASAT_MTD_LAST; i++)
-               partition_info[i].name = lasat_mtd_partnames[i];
-
-       lasat_mtd = do_map_probe("cfi_probe", &lasat_map);
-
-       if (!lasat_mtd)
-           lasat_mtd = do_map_probe("jedec_probe", &lasat_map);
-
-       if (lasat_mtd) {
-               u32 size, offset = 0;
-
-               lasat_mtd->owner = THIS_MODULE;
-
-               for (i=0; i < LASAT_MTD_LAST; i++) {
-                       size = lasat_flash_partition_size(i);
-                       partition_info[i].size = size;
-                       partition_info[i].offset = offset;
-                       offset += size;
-               }
-
-               add_mtd_partitions( lasat_mtd, partition_info, LASAT_MTD_LAST );
-               return 0;
-       }
-
-       iounmap(lasat_map.virt);
-       return -ENXIO;
-}
-
-static void __exit cleanup_lasat(void)
-{
-       if (lasat_mtd) {
-               del_mtd_partitions(lasat_mtd);
-               map_destroy(lasat_mtd);
-       }
-       if (lasat_map.virt) {
-               iounmap(lasat_map.virt);
-               lasat_map.virt = 0;
-       }
-}
-
-module_init(init_lasat);
-module_exit(cleanup_lasat);
-
-MODULE_LICENSE("GPL");
-MODULE_AUTHOR("Brian Murphy <brian@murphy.dk>");
-MODULE_DESCRIPTION("Lasat Safepipe/Masquerade MTD map driver");
diff -pruN -X mips/Documentation/dontdiff mips-orig/include/asm-mips/bootinfo.h 
mips/include/asm-mips/bootinfo.h
--- mips-orig/include/asm-mips/bootinfo.h       2007-07-09 10:09:03.721172000 
+0900
+++ mips/include/asm-mips/bootinfo.h    2007-07-09 10:08:10.965875000 +0900
@@ -188,13 +188,6 @@
 #define  MACH_HP_LASERJET      1
 
 /*
- * Valid machtype for group LASAT
- */
-#define MACH_GROUP_LASAT       21
-#define  MACH_LASAT_100                0       /* Masquerade 
II/SP100/SP50/SP25 */
-#define  MACH_LASAT_200                1       /* Masquerade PRO/SP200 */
-
-/*
  * Valid machtype for group TITAN
  */
 #define MACH_GROUP_TITAN       22      /* PMC-Sierra Titan             */
diff -pruN -X mips/Documentation/dontdiff 
mips-orig/include/asm-mips/lasat/ds1603.h mips/include/asm-mips/lasat/ds1603.h
--- mips-orig/include/asm-mips/lasat/ds1603.h   2007-07-09 10:09:03.869181250 
+0900
+++ mips/include/asm-mips/lasat/ds1603.h        1970-01-01 09:00:00.000000000 
+0900
@@ -1,18 +0,0 @@
-#include <asm/addrspace.h>
-
-/* Lasat 100   */
-#define DS1603_REG_100         (KSEG1ADDR(0x1c810000))
-#define DS1603_RST_100         (1 << 2)
-#define DS1603_CLK_100         (1 << 0)
-#define DS1603_DATA_SHIFT_100  1
-#define DS1603_DATA_100                (1 << DS1603_DATA_SHIFT_100)
-
-/* Lasat 200   */
-#define DS1603_REG_200         (KSEG1ADDR(0x11000000))
-#define DS1603_RST_200         (1 << 3)
-#define DS1603_CLK_200         (1 << 4)
-#define DS1603_DATA_200                (1 << 5)
-
-#define DS1603_DATA_REG_200            (DS1603_REG_200 + 0x10000)
-#define DS1603_DATA_READ_SHIFT_200     9
-#define DS1603_DATA_READ_200   (1 << DS1603_DATA_READ_SHIFT_200)
diff -pruN -X mips/Documentation/dontdiff 
mips-orig/include/asm-mips/lasat/eeprom.h mips/include/asm-mips/lasat/eeprom.h
--- mips-orig/include/asm-mips/lasat/eeprom.h   2007-07-09 10:09:03.869181250 
+0900
+++ mips/include/asm-mips/lasat/eeprom.h        1970-01-01 09:00:00.000000000 
+0900
@@ -1,17 +0,0 @@
-#include <asm/addrspace.h>
-
-/* lasat 100 */
-#define AT93C_REG_100               KSEG1ADDR(0x1c810000)
-#define AT93C_RDATA_REG_100         AT93C_REG_100
-#define AT93C_RDATA_SHIFT_100       4
-#define AT93C_WDATA_SHIFT_100       4
-#define AT93C_CS_M_100              ( 1 << 5 )
-#define AT93C_CLK_M_100             ( 1 << 3 )
-
-/* lasat 200 */
-#define AT93C_REG_200          KSEG1ADDR(0x11000000)
-#define AT93C_RDATA_REG_200    (AT93C_REG_200+0x10000)
-#define AT93C_RDATA_SHIFT_200  8
-#define AT93C_WDATA_SHIFT_200  2
-#define AT93C_CS_M_200         ( 1 << 0 )
-#define AT93C_CLK_M_200                ( 1 << 1 )
diff -pruN -X mips/Documentation/dontdiff 
mips-orig/include/asm-mips/lasat/head.h mips/include/asm-mips/lasat/head.h
--- mips-orig/include/asm-mips/lasat/head.h     2007-07-09 10:09:03.869181250 
+0900
+++ mips/include/asm-mips/lasat/head.h  1970-01-01 09:00:00.000000000 +0900
@@ -1,22 +0,0 @@
-/*
- * Image header stuff
- */
-#ifndef _HEAD_H
-#define _HEAD_H
-
-#define LASAT_K_MAGIC0_VAL     0xfedeabba
-#define LASAT_K_MAGIC1_VAL     0x00bedead
-
-#ifndef _LANGUAGE_ASSEMBLY
-#include <linux/types.h>
-struct bootloader_header {
-       u32 magic[2];
-       u32 version;
-       u32 image_start;
-       u32 image_size;
-       u32 kernel_start;
-       u32 kernel_entry;
-};
-#endif
-
-#endif /* _HEAD_H */
diff -pruN -X mips/Documentation/dontdiff 
mips-orig/include/asm-mips/lasat/lasat.h mips/include/asm-mips/lasat/lasat.h
--- mips-orig/include/asm-mips/lasat/lasat.h    2007-07-09 10:09:03.869181250 
+0900
+++ mips/include/asm-mips/lasat/lasat.h 1970-01-01 09:00:00.000000000 +0900
@@ -1,253 +0,0 @@
-/*
- * lasat.h
- *
- * Thomas Horsten <thh@lasat.com>
- * Copyright (C) 2000 LASAT Networks A/S.
- *
- *  This program is free software; you can distribute it and/or modify it
- *  under the terms of the GNU General Public License (Version 2) as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope 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.
- *
- * Configuration for LASAT boards, loads the appropriate include files.
- */
-#ifndef _LASAT_H
-#define _LASAT_H
-
-#ifndef _LANGUAGE_ASSEMBLY
-
-extern struct lasat_misc {
-       volatile u32 *reset_reg;
-       volatile u32 *flash_wp_reg;
-       u32 flash_wp_bit;
-} *lasat_misc;
-
-enum lasat_mtdparts {
-       LASAT_MTD_BOOTLOADER,
-       LASAT_MTD_SERVICE,
-       LASAT_MTD_NORMAL,
-       LASAT_MTD_CONFIG,
-       LASAT_MTD_FS,
-       LASAT_MTD_LAST
-};
-
-/*
- * The format of the data record in the EEPROM.
- * See Documentation/LASAT/eeprom.txt for a detailed description
- * of the fields in this struct, and the LASAT Hardware Configuration
- * field specification for a detailed description of the config
- * field.
- */
-#include <linux/types.h>
-
-#define LASAT_EEPROM_VERSION 7
-struct lasat_eeprom_struct {
-       unsigned int  version;
-       unsigned int  cfg[3];
-       unsigned char hwaddr[6];
-       unsigned char print_partno[12];
-       unsigned char term0;
-       unsigned char print_serial[14];
-       unsigned char term1;
-       unsigned char prod_partno[12];
-       unsigned char term2;
-       unsigned char prod_serial[14];
-       unsigned char term3;
-       unsigned char passwd_hash[16];
-       unsigned char pwdnull;
-       unsigned char vendid;
-       unsigned char ts_ref;
-       unsigned char ts_signoff;
-       unsigned char reserved[11];
-       unsigned char debugaccess;
-       unsigned short prid;
-       unsigned int  serviceflag;
-       unsigned int  ipaddr;
-       unsigned int  netmask;
-       unsigned int  crc32;
-};
-
-struct lasat_eeprom_struct_pre7 {
-       unsigned int  version;
-       unsigned int  flags[3];
-       unsigned char hwaddr0[6];
-       unsigned char hwaddr1[6];
-       unsigned char print_partno[9];
-       unsigned char term0;
-       unsigned char print_serial[14];
-       unsigned char term1;
-       unsigned char prod_partno[9];
-       unsigned char term2;
-       unsigned char prod_serial[14];
-       unsigned char term3;
-       unsigned char passwd_hash[24];
-       unsigned char pwdnull;
-       unsigned char vendor;
-       unsigned char ts_ref;
-       unsigned char ts_signoff;
-       unsigned char reserved[6];
-       unsigned int  writecount;
-       unsigned int  ipaddr;
-       unsigned int  netmask;
-       unsigned int  crc32;
-};
-
-/* Configuration descriptor encoding - see the doc for details */
-
-#define LASAT_W0_DSCTYPE(v)            ( ( (v)         ) & 0xf )
-#define LASAT_W0_BMID(v)               ( ( (v) >> 0x04 ) & 0xf )
-#define LASAT_W0_CPUTYPE(v)            ( ( (v) >> 0x08 ) & 0xf )
-#define LASAT_W0_BUSSPEED(v)           ( ( (v) >> 0x0c ) & 0xf )
-#define LASAT_W0_CPUCLK(v)             ( ( (v) >> 0x10 ) & 0xf )
-#define LASAT_W0_SDRAMBANKSZ(v)                ( ( (v) >> 0x14 ) & 0xf )
-#define LASAT_W0_SDRAMBANKS(v)         ( ( (v) >> 0x18 ) & 0xf )
-#define LASAT_W0_L2CACHE(v)            ( ( (v) >> 0x1c ) & 0xf )
-
-#define LASAT_W1_EDHAC(v)              ( ( (v)         ) & 0xf )
-#define LASAT_W1_HIFN(v)               ( ( (v) >> 0x04 ) & 0x1 )
-#define LASAT_W1_ISDN(v)               ( ( (v) >> 0x05 ) & 0x1 )
-#define LASAT_W1_IDE(v)                        ( ( (v) >> 0x06 ) & 0x1 )
-#define LASAT_W1_HDLC(v)               ( ( (v) >> 0x07 ) & 0x1 )
-#define LASAT_W1_USVERSION(v)          ( ( (v) >> 0x08 ) & 0x1 )
-#define LASAT_W1_4MACS(v)              ( ( (v) >> 0x09 ) & 0x1 )
-#define LASAT_W1_EXTSERIAL(v)          ( ( (v) >> 0x0a ) & 0x1 )
-#define LASAT_W1_FLASHSIZE(v)          ( ( (v) >> 0x0c ) & 0xf )
-#define LASAT_W1_PCISLOTS(v)           ( ( (v) >> 0x10 ) & 0xf )
-#define LASAT_W1_PCI1OPT(v)            ( ( (v) >> 0x14 ) & 0xf )
-#define LASAT_W1_PCI2OPT(v)            ( ( (v) >> 0x18 ) & 0xf )
-#define LASAT_W1_PCI3OPT(v)            ( ( (v) >> 0x1c ) & 0xf )
-
-/* Routines specific to LASAT boards */
-
-#define LASAT_BMID_MASQUERADE2         0
-#define LASAT_BMID_MASQUERADEPRO       1
-#define LASAT_BMID_SAFEPIPE25                  2
-#define LASAT_BMID_SAFEPIPE50                  3
-#define LASAT_BMID_SAFEPIPE100         4
-#define LASAT_BMID_SAFEPIPE5000                5
-#define LASAT_BMID_SAFEPIPE7000                6
-#define LASAT_BMID_SAFEPIPE1000                7
-//#define LASAT_BMID_SAFEPIPE30                7
-//#define LASAT_BMID_SAFEPIPE5100      8
-//#define LASAT_BMID_SAFEPIPE7100      9
-#define LASAT_BMID_UNKNOWN                             0xf
-#define LASAT_MAX_BMID_NAMES                   9   // no larger than 15!
-
-#define LASAT_HAS_EDHAC                        ( 1 << 0 )
-#define LASAT_EDHAC_FAST               ( 1 << 1 )
-#define LASAT_HAS_EADI                 ( 1 << 2 )
-#define LASAT_HAS_HIFN                 ( 1 << 3 )
-#define LASAT_HAS_ISDN                 ( 1 << 4 )
-#define LASAT_HAS_LEASEDLINE_IF                ( 1 << 5 )
-#define LASAT_HAS_HDC                  ( 1 << 6 )
-
-#define LASAT_PRID_MASQUERADE2         0
-#define LASAT_PRID_MASQUERADEPRO       1
-#define LASAT_PRID_SAFEPIPE25                  2
-#define LASAT_PRID_SAFEPIPE50                  3
-#define LASAT_PRID_SAFEPIPE100         4
-#define LASAT_PRID_SAFEPIPE5000                5
-#define LASAT_PRID_SAFEPIPE7000                6
-#define LASAT_PRID_SAFEPIPE30                  7
-#define LASAT_PRID_SAFEPIPE5100                8
-#define LASAT_PRID_SAFEPIPE7100                9
-
-#define LASAT_PRID_SAFEPIPE1110                10
-#define LASAT_PRID_SAFEPIPE3020                11
-#define LASAT_PRID_SAFEPIPE3030                12
-#define LASAT_PRID_SAFEPIPE5020                13
-#define LASAT_PRID_SAFEPIPE5030                14
-#define LASAT_PRID_SAFEPIPE1120                15
-#define LASAT_PRID_SAFEPIPE1130                16
-#define LASAT_PRID_SAFEPIPE6010                17
-#define LASAT_PRID_SAFEPIPE6110                18
-#define LASAT_PRID_SAFEPIPE6210                19
-#define LASAT_PRID_SAFEPIPE1020                20
-#define LASAT_PRID_SAFEPIPE1040                21
-#define LASAT_PRID_SAFEPIPE1060                22
-
-struct lasat_info {
-       unsigned int  li_cpu_hz;
-       unsigned int  li_bus_hz;
-       unsigned int  li_bmid;
-       unsigned int  li_memsize;
-       unsigned int  li_flash_size;
-       unsigned int  li_prid;
-       unsigned char li_bmstr[16];
-       unsigned char li_namestr[32];
-       unsigned char li_typestr[16];
-       /* Info on the Flash layout */
-       unsigned int  li_flash_base;
-       unsigned long li_flashpart_base[LASAT_MTD_LAST];
-       unsigned long li_flashpart_size[LASAT_MTD_LAST];
-       struct lasat_eeprom_struct li_eeprom_info;
-       unsigned int  li_eeprom_upgrade_version;
-       unsigned int  li_debugaccess;
-};
-
-extern struct lasat_info lasat_board_info;
-
-static inline unsigned long lasat_flash_partition_start(int partno)
-{
-       if (partno < 0 || partno >= LASAT_MTD_LAST)
-               return 0;
-
-       return lasat_board_info.li_flashpart_base[partno];
-}
-
-static inline unsigned long lasat_flash_partition_size(int partno)
-{
-       if (partno < 0 || partno >= LASAT_MTD_LAST)
-               return 0;
-
-       return lasat_board_info.li_flashpart_size[partno];
-}
-
-/* Called from setup() to initialize the global board_info struct */
-extern int lasat_init_board_info(void);
-
-/* Write the modified EEPROM info struct */
-extern void lasat_write_eeprom_info(void);
-
-#define N_MACHTYPES            2
-/* for calibration of delays */
-
-/* the lasat_ndelay function is necessary because it is used at an
- * early stage of the boot process where ndelay is not calibrated.
- * It is used for the bit-banging rtc and eeprom drivers */
-
-#include <asm/delay.h>
-/* calculating with the slowest board with 100 MHz clock */
-#define LASAT_100_DIVIDER 20
-/* All 200's run at 250 MHz clock */
-#define LASAT_200_DIVIDER 8
-
-extern unsigned int lasat_ndelay_divider;
-
-static inline void lasat_ndelay(unsigned int ns)
-{
-            __delay(ns / lasat_ndelay_divider);
-}
-
-#endif /* !defined (_LANGUAGE_ASSEMBLY) */
-
-#define LASAT_SERVICEMODE_MAGIC_1     0xdeadbeef
-#define LASAT_SERVICEMODE_MAGIC_2     0xfedeabba
-
-/* Lasat 100 boards */
-#define LASAT_GT_BASE           (KSEG1ADDR(0x14000000))
-
-/* Lasat 200 boards */
-#define Vrc5074_PHYS_BASE       0x1fa00000
-#define Vrc5074_BASE            (KSEG1ADDR(Vrc5074_PHYS_BASE))
-#define PCI_WINDOW1             0x1a000000
-
-#endif /* _LASAT_H */
diff -pruN -X mips/Documentation/dontdiff 
mips-orig/include/asm-mips/lasat/lasatint.h 
mips/include/asm-mips/lasat/lasatint.h
--- mips-orig/include/asm-mips/lasat/lasatint.h 2007-07-09 10:09:03.869181250 
+0900
+++ mips/include/asm-mips/lasat/lasatint.h      1970-01-01 09:00:00.000000000 
+0900
@@ -1,12 +0,0 @@
-#define LASATINT_END 16
-
-/* lasat 100 */
-#define LASAT_INT_STATUS_REG_100       (KSEG1ADDR(0x1c880000))
-#define LASAT_INT_MASK_REG_100         (KSEG1ADDR(0x1c890000))
-#define LASATINT_MASK_SHIFT_100                0
-
-/* lasat 200 */
-#define LASAT_INT_STATUS_REG_200       (KSEG1ADDR(0x1104003c))
-#define LASAT_INT_MASK_REG_200         (KSEG1ADDR(0x1104003c))
-#define LASATINT_MASK_SHIFT_200                16
-
diff -pruN -X mips/Documentation/dontdiff 
mips-orig/include/asm-mips/lasat/picvue.h mips/include/asm-mips/lasat/picvue.h
--- mips-orig/include/asm-mips/lasat/picvue.h   2007-07-09 10:09:03.869181250 
+0900
+++ mips/include/asm-mips/lasat/picvue.h        1970-01-01 09:00:00.000000000 
+0900
@@ -1,15 +0,0 @@
-/* Lasat 100 */
-#define PVC_REG_100            KSEG1ADDR(0x1c820000)
-#define PVC_DATA_SHIFT_100     0
-#define PVC_DATA_M_100         0xFF
-#define PVC_E_100              (1 << 8)
-#define PVC_RW_100             (1 << 9)
-#define PVC_RS_100             (1 << 10)
-
-/* Lasat 200 */
-#define PVC_REG_200            KSEG1ADDR(0x11000000)
-#define PVC_DATA_SHIFT_200     24
-#define PVC_DATA_M_200         (0xFF << PVC_DATA_SHIFT_200)
-#define PVC_E_200              (1 << 16)
-#define PVC_RW_200             (1 << 17)
-#define PVC_RS_200             (1 << 18)
diff -pruN -X mips/Documentation/dontdiff 
mips-orig/include/asm-mips/lasat/serial.h mips/include/asm-mips/lasat/serial.h
--- mips-orig/include/asm-mips/lasat/serial.h   2007-07-09 10:09:03.869181250 
+0900
+++ mips/include/asm-mips/lasat/serial.h        1970-01-01 09:00:00.000000000 
+0900
@@ -1,13 +0,0 @@
-#include <asm/lasat/lasat.h>
-
-/* Lasat 100 boards serial configuration */
-#define LASAT_BASE_BAUD_100            ( 7372800 / 16 )
-#define LASAT_UART_REGS_BASE_100       0x1c8b0000
-#define LASAT_UART_REGS_SHIFT_100      2
-#define LASATINT_UART_100              8
-
-/* * LASAT 200 boards serial configuration */
-#define LASAT_BASE_BAUD_200            (100000000 / 16 / 12)
-#define LASAT_UART_REGS_BASE_200       (Vrc5074_PHYS_BASE + 0x0300)
-#define LASAT_UART_REGS_SHIFT_200      3
-#define LASATINT_UART_200              13
diff -pruN -X mips/Documentation/dontdiff 
mips-orig/include/asm-mips/mach-lasat/mach-gt64120.h 
mips/include/asm-mips/mach-lasat/mach-gt64120.h
--- mips-orig/include/asm-mips/mach-lasat/mach-gt64120.h        2007-07-09 
10:09:03.997189250 +0900
+++ mips/include/asm-mips/mach-lasat/mach-gt64120.h     1970-01-01 
09:00:00.000000000 +0900
@@ -1,27 +0,0 @@
-/*
- *  This is a direct copy of the ev96100.h file, with a global
- * search and replace.  The numbers are the same.
- *
- *  The reason I'm duplicating this is so that the 64120/96100
- * defines won't be confusing in the source code.
- */
-#ifndef _ASM_GT64120_LASAT_GT64120_DEP_H
-#define _ASM_GT64120_LASAT_GT64120_DEP_H
-
-/*
- *   GT64120 config space base address on Lasat 100
- */
-#define GT64120_BASE   (KSEG1ADDR(0x14000000))
-
-/*
- *   PCI Bus allocation
- *
- *   (Guessing ...)
- */
-#define GT_PCI_MEM_BASE        0x12000000UL
-#define GT_PCI_MEM_SIZE        0x02000000UL
-#define GT_PCI_IO_BASE 0x10000000UL
-#define GT_PCI_IO_SIZE 0x02000000UL
-#define GT_ISA_IO_BASE PCI_IO_BASE
-
-#endif /* _ASM_GT64120_LASAT_GT64120_DEP_H */
diff -pruN -X mips/Documentation/dontdiff mips-orig/include/asm-mips/nile4.h 
mips/include/asm-mips/nile4.h
--- mips-orig/include/asm-mips/nile4.h  2007-07-09 10:09:04.089195000 +0900
+++ mips/include/asm-mips/nile4.h       1970-01-01 09:00:00.000000000 +0900
@@ -1,310 +0,0 @@
-/*
- *  asm-mips/nile4.h -- NEC Vrc-5074 Nile 4 definitions
- *
- *  Copyright (C) 2000 Geert Uytterhoeven <geert@sonycom.com>
- *                     Sony Software Development Center Europe (SDCE), Brussels
- *
- *  This file is based on the following documentation:
- *
- *     NEC Vrc 5074 System Controller Data Sheet, June 1998
- */
-
-#ifndef _ASM_NILE4_H
-#define _ASM_NILE4_H
-
-#define NILE4_BASE             0xbfa00000
-#define NILE4_SIZE             0x00200000              /* 2 MB */
-
-
-    /*
-     *  Physical Device Address Registers (PDARs)
-     */
-
-#define NILE4_SDRAM0   0x0000  /* SDRAM Bank 0 [R/W] */
-#define NILE4_SDRAM1   0x0008  /* SDRAM Bank 1 [R/W] */
-#define NILE4_DCS2     0x0010  /* Device Chip-Select 2 [R/W] */
-#define NILE4_DCS3     0x0018  /* Device Chip-Select 3 [R/W] */
-#define NILE4_DCS4     0x0020  /* Device Chip-Select 4 [R/W] */
-#define NILE4_DCS5     0x0028  /* Device Chip-Select 5 [R/W] */
-#define NILE4_DCS6     0x0030  /* Device Chip-Select 6 [R/W] */
-#define NILE4_DCS7     0x0038  /* Device Chip-Select 7 [R/W] */
-#define NILE4_DCS8     0x0040  /* Device Chip-Select 8 [R/W] */
-#define NILE4_PCIW0    0x0060  /* PCI Address Window 0 [R/W] */
-#define NILE4_PCIW1    0x0068  /* PCI Address Window 1 [R/W] */
-#define NILE4_INTCS    0x0070  /* Controller Internal Registers and Devices */
-                               /* [R/W] */
-#define NILE4_BOOTCS   0x0078  /* Boot ROM Chip-Select [R/W] */
-
-
-    /*
-     *  CPU Interface Registers
-     */
-
-#define NILE4_CPUSTAT  0x0080  /* CPU Status [R/W] */
-#define NILE4_INTCTRL  0x0088  /* Interrupt Control [R/W] */
-#define NILE4_INTSTAT0 0x0090  /* Interrupt Status 0 [R] */
-#define NILE4_INTSTAT1 0x0098  /* Interrupt Status 1 and CPU Interrupt */
-                               /* Enable [R/W] */
-#define NILE4_INTCLR   0x00A0  /* Interrupt Clear [R/W] */
-#define NILE4_INTPPES  0x00A8  /* PCI Interrupt Control [R/W] */
-
-
-    /*
-     *  Memory-Interface Registers
-     */
-
-#define NILE4_MEMCTRL  0x00C0  /* Memory Control */
-#define NILE4_ACSTIME  0x00C8  /* Memory Access Timing [R/W] */
-#define NILE4_CHKERR   0x00D0  /* Memory Check Error Status [R] */
-
-
-    /*
-     *  PCI-Bus Registers
-     */
-
-#define NILE4_PCICTRL  0x00E0  /* PCI Control [R/W] */
-#define NILE4_PCIARB   0x00E8  /* PCI Arbiter [R/W] */
-#define NILE4_PCIINIT0 0x00F0  /* PCI Master (Initiator) 0 [R/W] */
-#define NILE4_PCIINIT1 0x00F8  /* PCI Master (Initiator) 1 [R/W] */
-#define NILE4_PCIERR   0x00B8  /* PCI Error [R/W] */
-
-
-    /*
-     *  Local-Bus Registers
-     */
-
-#define NILE4_LCNFG    0x0100  /* Local Bus Configuration [R/W] */
-#define NILE4_LCST2    0x0110  /* Local Bus Chip-Select Timing 2 [R/W] */
-#define NILE4_LCST3    0x0118  /* Local Bus Chip-Select Timing 3 [R/W] */
-#define NILE4_LCST4    0x0120  /* Local Bus Chip-Select Timing 4 [R/W] */
-#define NILE4_LCST5    0x0128  /* Local Bus Chip-Select Timing 5 [R/W] */
-#define NILE4_LCST6    0x0130  /* Local Bus Chip-Select Timing 6 [R/W] */
-#define NILE4_LCST7    0x0138  /* Local Bus Chip-Select Timing 7 [R/W] */
-#define NILE4_LCST8    0x0140  /* Local Bus Chip-Select Timing 8 [R/W] */
-#define NILE4_DCSFN    0x0150  /* Device Chip-Select Muxing and Output */
-                               /* Enables [R/W] */
-#define NILE4_DCSIO    0x0158  /* Device Chip-Selects As I/O Bits [R/W] */
-#define NILE4_BCST     0x0178  /* Local Boot Chip-Select Timing [R/W] */
-
-
-    /*
-     *  DMA Registers
-     */
-
-#define NILE4_DMACTRL0 0x0180  /* DMA Control 0 [R/W] */
-#define NILE4_DMASRCA0 0x0188  /* DMA Source Address 0 [R/W] */
-#define NILE4_DMADESA0 0x0190  /* DMA Destination Address 0 [R/W] */
-#define NILE4_DMACTRL1 0x0198  /* DMA Control 1 [R/W] */
-#define NILE4_DMASRCA1 0x01A0  /* DMA Source Address 1 [R/W] */
-#define NILE4_DMADESA1 0x01A8  /* DMA Destination Address 1 [R/W] */
-
-
-    /*
-     *  Timer Registers
-     */
-
-#define NILE4_T0CTRL   0x01C0  /* SDRAM Refresh Control [R/W] */
-#define NILE4_T0CNTR   0x01C8  /* SDRAM Refresh Counter [R/W] */
-#define NILE4_T1CTRL   0x01D0  /* CPU-Bus Read Time-Out Control [R/W] */
-#define NILE4_T1CNTR   0x01D8  /* CPU-Bus Read Time-Out Counter [R/W] */
-#define NILE4_T2CTRL   0x01E0  /* General-Purpose Timer Control [R/W] */
-#define NILE4_T2CNTR   0x01E8  /* General-Purpose Timer Counter [R/W] */
-#define NILE4_T3CTRL   0x01F0  /* Watchdog Timer Control [R/W] */
-#define NILE4_T3CNTR   0x01F8  /* Watchdog Timer Counter [R/W] */
-
-
-    /*
-     *  PCI Configuration Space Registers
-     */
-
-#define NILE4_PCI_BASE 0x0200
-
-#define NILE4_VID      0x0200  /* PCI Vendor ID [R] */
-#define NILE4_DID      0x0202  /* PCI Device ID [R] */
-#define NILE4_PCICMD   0x0204  /* PCI Command [R/W] */
-#define NILE4_PCISTS   0x0206  /* PCI Status [R/W] */
-#define NILE4_REVID    0x0208  /* PCI Revision ID [R] */
-#define NILE4_CLASS    0x0209  /* PCI Class Code [R] */
-#define NILE4_CLSIZ    0x020C  /* PCI Cache Line Size [R/W] */
-#define NILE4_MLTIM    0x020D  /* PCI Latency Timer [R/W] */
-#define NILE4_HTYPE    0x020E  /* PCI Header Type [R] */
-#define NILE4_BIST     0x020F  /* BIST [R] (unimplemented) */
-#define NILE4_BARC     0x0210  /* PCI Base Address Register Control [R/W] */
-#define NILE4_BAR0     0x0218  /* PCI Base Address Register 0 [R/W] */
-#define NILE4_BAR1     0x0220  /* PCI Base Address Register 1 [R/W] */
-#define NILE4_CIS      0x0228  /* PCI Cardbus CIS Pointer [R] */
-                               /* (unimplemented) */
-#define NILE4_SSVID    0x022C  /* PCI Sub-System Vendor ID [R/W] */
-#define NILE4_SSID     0x022E  /* PCI Sub-System ID [R/W] */
-#define NILE4_ROM      0x0230  /* Expansion ROM Base Address [R] */
-                               /* (unimplemented) */
-#define NILE4_INTLIN   0x023C  /* PCI Interrupt Line [R/W] */
-#define NILE4_INTPIN   0x023D  /* PCI Interrupt Pin [R] */
-#define NILE4_MINGNT   0x023E  /* PCI Min_Gnt [R] (unimplemented) */
-#define NILE4_MAXLAT   0x023F  /* PCI Max_Lat [R] (unimplemented) */
-#define NILE4_BAR2     0x0240  /* PCI Base Address Register 2 [R/W] */
-#define NILE4_BAR3     0x0248  /* PCI Base Address Register 3 [R/W] */
-#define NILE4_BAR4     0x0250  /* PCI Base Address Register 4 [R/W] */
-#define NILE4_BAR5     0x0258  /* PCI Base Address Register 5 [R/W] */
-#define NILE4_BAR6     0x0260  /* PCI Base Address Register 6 [R/W] */
-#define NILE4_BAR7     0x0268  /* PCI Base Address Register 7 [R/W] */
-#define NILE4_BAR8     0x0270  /* PCI Base Address Register 8 [R/W] */
-#define NILE4_BARB     0x0278  /* PCI Base Address Register BOOT [R/W] */
-
-
-    /*
-     *  Serial-Port Registers
-     */
-
-#define NILE4_UART_BASE        0x0300
-
-#define NILE4_UARTRBR  0x0300  /* UART Receiver Data Buffer [R] */
-#define NILE4_UARTTHR  0x0300  /* UART Transmitter Data Holding [W] */
-#define NILE4_UARTIER  0x0308  /* UART Interrupt Enable [R/W] */
-#define NILE4_UARTDLL  0x0300  /* UART Divisor Latch LSB [R/W] */
-#define NILE4_UARTDLM  0x0308  /* UART Divisor Latch MSB [R/W] */
-#define NILE4_UARTIIR  0x0310  /* UART Interrupt ID [R] */
-#define NILE4_UARTFCR  0x0310  /* UART FIFO Control [W] */
-#define NILE4_UARTLCR  0x0318  /* UART Line Control [R/W] */
-#define NILE4_UARTMCR  0x0320  /* UART Modem Control [R/W] */
-#define NILE4_UARTLSR  0x0328  /* UART Line Status [R/W] */
-#define NILE4_UARTMSR  0x0330  /* UART Modem Status [R/W] */
-#define NILE4_UARTSCR  0x0338  /* UART Scratch [R/W] */
-
-#define NILE4_UART_BASE_BAUD   520833  /* 100 MHz / 12 / 16 */
-
-
-    /*
-     *  Interrupt Lines
-     */
-
-#define NILE4_INT_CPCE 0       /* CPU-Interface Parity-Error Interrupt */
-#define NILE4_INT_CNTD 1       /* CPU No-Target Decode Interrupt */
-#define NILE4_INT_MCE  2       /* Memory-Check Error Interrupt */
-#define NILE4_INT_DMA  3       /* DMA Controller Interrupt */
-#define NILE4_INT_UART 4       /* UART Interrupt */
-#define NILE4_INT_WDOG 5       /* Watchdog Timer Interrupt */
-#define NILE4_INT_GPT  6       /* General-Purpose Timer Interrupt */
-#define NILE4_INT_LBRTD        7       /* Local-Bus Ready Timer Interrupt */
-#define NILE4_INT_INTA 8       /* PCI Interrupt Signal INTA# */
-#define NILE4_INT_INTB 9       /* PCI Interrupt Signal INTB# */
-#define NILE4_INT_INTC 10      /* PCI Interrupt Signal INTC# */
-#define NILE4_INT_INTD 11      /* PCI Interrupt Signal INTD# */
-#define NILE4_INT_INTE 12      /* PCI Interrupt Signal INTE# (ISA cascade) */
-#define NILE4_INT_RESV 13      /* Reserved */
-#define NILE4_INT_PCIS 14      /* PCI SERR# Interrupt */
-#define NILE4_INT_PCIE 15      /* PCI Internal Error Interrupt */
-
-
-    /*
-     *  Nile 4 Register Access
-     */
-
-static inline void nile4_sync(void)
-{
-    volatile u32 *p = (volatile u32 *)0xbfc00000;
-    (void)(*p);
-}
-
-static inline void nile4_out32(u32 offset, u32 val)
-{
-    *(volatile u32 *)(NILE4_BASE+offset) = val;
-    nile4_sync();
-}
-
-static inline u32 nile4_in32(u32 offset)
-{
-    u32 val = *(volatile u32 *)(NILE4_BASE+offset);
-    nile4_sync();
-    return val;
-}
-
-static inline void nile4_out16(u32 offset, u16 val)
-{
-    *(volatile u16 *)(NILE4_BASE+offset) = val;
-    nile4_sync();
-}
-
-static inline u16 nile4_in16(u32 offset)
-{
-    u16 val = *(volatile u16 *)(NILE4_BASE+offset);
-    nile4_sync();
-    return val;
-}
-
-static inline void nile4_out8(u32 offset, u8 val)
-{
-    *(volatile u8 *)(NILE4_BASE+offset) = val;
-    nile4_sync();
-}
-
-static inline u8 nile4_in8(u32 offset)
-{
-    u8 val = *(volatile u8 *)(NILE4_BASE+offset);
-    nile4_sync();
-    return val;
-}
-
-
-    /*
-     *  Physical Device Address Registers
-     */
-
-extern void nile4_set_pdar(u32 pdar, u32 phys, u32 size, int width,
-                          int on_memory_bus, int visible);
-
-
-    /*
-     *  PCI Master Registers
-     */
-
-#define NILE4_PCICMD_IACK      0       /* PCI Interrupt Acknowledge */
-#define NILE4_PCICMD_IO                1       /* PCI I/O Space */
-#define NILE4_PCICMD_MEM       3       /* PCI Memory Space */
-#define NILE4_PCICMD_CFG       5       /* PCI Configuration Space */
-
-
-    /*
-     *  PCI Address Spaces
-     *
-     *  Note that these are multiplexed using PCIINIT[01]!
-     */
-
-#define NILE4_PCI_IO_BASE      0xa6000000
-#define NILE4_PCI_MEM_BASE     0xa8000000
-#define NILE4_PCI_CFG_BASE     NILE4_PCI_MEM_BASE
-#define NILE4_PCI_IACK_BASE    NILE4_PCI_IO_BASE
-
-
-extern void nile4_set_pmr(u32 pmr, u32 type, u32 addr);
-
-
-    /*
-     *  Interrupt Programming
-     */
-
-#define NUM_I8259_INTERRUPTS   16
-#define NUM_NILE4_INTERRUPTS   16
-
-#define IRQ_I8259_CASCADE      NILE4_INT_INTE
-#define is_i8259_irq(irq)      ((irq) < NUM_I8259_INTERRUPTS)
-#define nile4_to_irq(n)                ((n)+NUM_I8259_INTERRUPTS)
-#define irq_to_nile4(n)                ((n)-NUM_I8259_INTERRUPTS)
-
-extern void nile4_map_irq(int nile4_irq, int cpu_irq);
-extern void nile4_map_irq_all(int cpu_irq);
-extern void nile4_enable_irq(unsigned int nile4_irq);
-extern void nile4_disable_irq(unsigned int nile4_irq);
-extern void nile4_disable_irq_all(void);
-extern u16 nile4_get_irq_stat(int cpu_irq);
-extern void nile4_enable_irq_output(int cpu_irq);
-extern void nile4_disable_irq_output(int cpu_irq);
-extern void nile4_set_pci_irq_polarity(int pci_irq, int high);
-extern void nile4_set_pci_irq_level_or_edge(int pci_irq, int level);
-extern void nile4_clear_irq(int nile4_irq);
-extern void nile4_clear_irq_mask(u32 mask);
-extern u8 nile4_i8259_iack(void);
-extern void nile4_dump_irq_status(void);       /* Debug */
-
-#endif
-

<Prev in Thread] Current Thread [Next in Thread>