Commit 79a14093 authored by Ralf Bächle's avatar Ralf Bächle Committed by Linus Torvalds

[PATCH] mips: vR41xx updates

Update support for the bazillion of variants of NEC VR41xx devices, including
on-SOC device drivers.
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 44fe8185
......@@ -73,6 +73,21 @@ config OLIVETTI_M700
config MACH_VR41XX
bool "Support for NEC VR41XX-based machines"
config NEC_CMBVR4133
bool "Support for NEC CMB-VR4133"
depends on MACH_VR41XX
select CPU_VR41XX
select DMA_NONCOHERENT
select IRQ_CPU
select HW_HAS_PCI
select PCI_VR41XX
config ROCKHOPPER
bool "Support for Rockhopper baseboard"
depends on NEC_CMBVR4133
select I8259
select HAVE_STD_PC_SERIAL_PORT
config CASIO_E55
bool "Support for CASIO CASSIOPEIA E-10/15/55/65"
depends on MACH_VR41XX
......@@ -107,6 +122,10 @@ config TANBAC_TB0229
The TANBAC TB0229 (VR4131DIMM) is a MIPS-based platform manufactured by TANBAC.
Please refer to <http://www.tanbac.co.jp/> about VR4131DIMM.
config TANBAC_TB0219
bool "Added TANBAC TB0219 Base board support"
depends on TANBAC_TB0229
config VICTOR_MPC30X
bool "Support for Victor MP-C303/304"
select DMA_NONCOHERENT
......
......@@ -481,6 +481,12 @@ load-$(CONFIG_NEC_OSPREY) += 0xffffffff80002000
core-$(CONFIG_MACH_VR41XX) += arch/mips/vr41xx/common/
cflags-$(CONFIG_MACH_VR41XX) += -Iinclude/asm-mips/mach-vr41xx
#
# NEC VR4133
#
core-$(CONFIG_NEC_CMBVR4133) += arch/mips/vr41xx/nec-cmbvr4133/
load-$(CONFIG_NEC_CMBVR4133) += 0xffffffff80100000
#
# ZAO Networks Capcella (VR4131)
#
......
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.10-rc2
# Sun Nov 21 14:11:55 2004
# Linux kernel version: 2.6.11-rc2
# Wed Jan 26 02:49:00 2005
#
CONFIG_MIPS=y
# CONFIG_MIPS64 is not set
......@@ -58,6 +58,7 @@ CONFIG_KMOD=y
#
# CONFIG_MACH_JAZZ is not set
CONFIG_MACH_VR41XX=y
# CONFIG_NEC_CMBVR4133 is not set
# CONFIG_CASIO_E55 is not set
# CONFIG_IBM_WORKPAD is not set
# CONFIG_TANBAC_TB0226 is not set
......@@ -93,12 +94,12 @@ CONFIG_VRC4173=y
# CONFIG_SNI_RM200_PCI is not set
# CONFIG_TOSHIBA_RBTX4927 is not set
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_HAVE_DEC_LOCK=y
CONFIG_DMA_NONCOHERENT=y
CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_IRQ_CPU=y
CONFIG_MIPS_L1_CACHE_SHIFT=5
# CONFIG_FB is not set
#
# CPU selection
......@@ -137,6 +138,20 @@ CONFIG_PCI_LEGACY_PROC=y
CONFIG_PCI_NAMES=y
CONFIG_MMU=y
#
# PCCARD (PCMCIA/CardBus) support
#
# CONFIG_PCCARD is not set
#
# PC-card bridges
#
#
# PCI Hotplug Support
#
# CONFIG_HOTPLUG_PCI is not set
#
# Executable file formats
#
......@@ -153,6 +168,7 @@ CONFIG_TRAD_SIGNALS=y
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
# CONFIG_FW_LOADER is not set
#
# Memory Technology Devices (MTD)
......@@ -176,10 +192,12 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
# 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_RAM_COUNT=16
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_LBD is not set
CONFIG_CDROM_PKTCDVD=m
......@@ -193,6 +211,7 @@ CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_ATA_OVER_ETH=m
#
# ATA/ATAPI/MFM/RLL support
......@@ -418,6 +437,7 @@ CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=m
CONFIG_SERIO_RAW=m
#
......@@ -484,7 +504,6 @@ CONFIG_WATCHDOG=y
#
# Ftape, the floppy tape device driver
#
# CONFIG_AGP is not set
# CONFIG_DRM is not set
# CONFIG_RAW_DRIVER is not set
......@@ -515,12 +534,14 @@ CONFIG_WATCHDOG=y
#
# Graphics support
#
# 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
......@@ -534,11 +555,25 @@ CONFIG_DUMMY_CONSOLE=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
#
#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
#
# MMC/SD Card support
#
# CONFIG_MMC is not set
#
# InfiniBand support
#
# CONFIG_INFINIBAND is not set
#
# File systems
#
......@@ -632,6 +667,11 @@ CONFIG_MSDOS_PARTITION=y
#
# CONFIG_NLS is not set
#
# Profiling support
#
# CONFIG_PROFILING is not set
#
# Kernel hacking
#
......@@ -651,6 +691,10 @@ CONFIG_KEYS_DEBUG_PROC_KEYS=y
#
# CONFIG_CRYPTO is not set
#
# Hardware crypto devices
#
#
# Library routines
#
......
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.10-rc2
# Sun Nov 21 14:11:58 2004
# Linux kernel version: 2.6.11-rc2
# Wed Jan 26 02:49:03 2005
#
CONFIG_MIPS=y
# CONFIG_MIPS64 is not set
......@@ -58,6 +58,7 @@ CONFIG_KMOD=y
#
# CONFIG_MACH_JAZZ is not set
CONFIG_MACH_VR41XX=y
# CONFIG_NEC_CMBVR4133 is not set
CONFIG_CASIO_E55=y
# CONFIG_IBM_WORKPAD is not set
# CONFIG_TANBAC_TB0226 is not set
......@@ -92,12 +93,12 @@ CONFIG_CASIO_E55=y
# CONFIG_SNI_RM200_PCI is not set
# CONFIG_TOSHIBA_RBTX4927 is not set
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_HAVE_DEC_LOCK=y
CONFIG_DMA_NONCOHERENT=y
CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_IRQ_CPU=y
CONFIG_MIPS_L1_CACHE_SHIFT=5
# CONFIG_FB is not set
#
# CPU selection
......@@ -133,6 +134,20 @@ CONFIG_CPU_HAS_SYNC=y
CONFIG_ISA=y
CONFIG_MMU=y
#
# PCCARD (PCMCIA/CardBus) support
#
# CONFIG_PCCARD is not set
#
# PC-card bridges
#
CONFIG_PCMCIA_PROBE=y
#
# PCI Hotplug Support
#
#
# Executable file formats
#
......@@ -149,6 +164,7 @@ CONFIG_TRAD_SIGNALS=y
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
# CONFIG_FW_LOADER is not set
#
# Memory Technology Devices (MTD)
......@@ -170,9 +186,11 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
#
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_DEV_XD 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_RAM is not set
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_LBD is not set
CONFIG_CDROM_PKTCDVD=m
......@@ -186,6 +204,7 @@ CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_ATA_OVER_ETH=m
#
# ATA/ATAPI/MFM/RLL support
......@@ -397,6 +416,7 @@ CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_LIBPS2 is not set
CONFIG_SERIO_RAW=m
#
......@@ -463,7 +483,6 @@ CONFIG_WATCHDOG=y
#
# Ftape, the floppy tape device driver
#
# CONFIG_AGP is not set
# CONFIG_DRM is not set
# CONFIG_RAW_DRIVER is not set
......@@ -494,6 +513,7 @@ CONFIG_WATCHDOG=y
#
# Graphics support
#
# CONFIG_FB is not set
#
# Console display driver support
......@@ -501,6 +521,7 @@ CONFIG_WATCHDOG=y
# CONFIG_VGA_CONSOLE is not set
# CONFIG_MDA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
# Sound
......@@ -513,11 +534,25 @@ CONFIG_DUMMY_CONSOLE=y
# CONFIG_USB_ARCH_HAS_HCD is not set
# CONFIG_USB_ARCH_HAS_OHCI is not set
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
#
#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
#
# MMC/SD Card support
#
# CONFIG_MMC is not set
#
# InfiniBand support
#
# CONFIG_INFINIBAND is not set
#
# File systems
#
......@@ -610,6 +645,11 @@ CONFIG_MSDOS_PARTITION=y
#
# CONFIG_NLS is not set
#
# Profiling support
#
# CONFIG_PROFILING is not set
#
# Kernel hacking
#
......@@ -629,6 +669,10 @@ CONFIG_KEYS_DEBUG_PROC_KEYS=y
#
# CONFIG_CRYPTO is not set
#
# Hardware crypto devices
#
#
# Library routines
#
......
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.10-rc2
# Sun Nov 21 14:12:02 2004
# Linux kernel version: 2.6.11-rc2
# Wed Jan 26 02:49:07 2005
#
CONFIG_MIPS=y
# CONFIG_MIPS64 is not set
......@@ -58,6 +58,7 @@ CONFIG_KMOD=y
#
# CONFIG_MACH_JAZZ is not set
CONFIG_MACH_VR41XX=y
# CONFIG_NEC_CMBVR4133 is not set
# CONFIG_CASIO_E55 is not set
# CONFIG_IBM_WORKPAD is not set
# CONFIG_TANBAC_TB0226 is not set
......@@ -93,12 +94,12 @@ CONFIG_VRC4173=y
# CONFIG_SNI_RM200_PCI is not set
# CONFIG_TOSHIBA_RBTX4927 is not set
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_HAVE_DEC_LOCK=y
CONFIG_DMA_NONCOHERENT=y
CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_IRQ_CPU=y
CONFIG_MIPS_L1_CACHE_SHIFT=5
# CONFIG_FB is not set
#
# CPU selection
......@@ -137,6 +138,20 @@ CONFIG_PCI_LEGACY_PROC=y
CONFIG_PCI_NAMES=y
CONFIG_MMU=y
#
# PCCARD (PCMCIA/CardBus) support
#
# CONFIG_PCCARD is not set
#
# PC-card bridges
#
#
# PCI Hotplug Support
#
# CONFIG_HOTPLUG_PCI is not set
#
# Executable file formats
#
......@@ -153,6 +168,7 @@ CONFIG_TRAD_SIGNALS=y
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
# CONFIG_FW_LOADER is not set
#
# Memory Technology Devices (MTD)
......@@ -176,10 +192,12 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
# 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_RAM_COUNT=16
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_LBD is not set
CONFIG_CDROM_PKTCDVD=m
......@@ -193,6 +211,7 @@ CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_ATA_OVER_ETH=m
#
# ATA/ATAPI/MFM/RLL support
......@@ -396,6 +415,7 @@ CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not set
# CONFIG_SERIO_LIBPS2 is not set
CONFIG_SERIO_RAW=m
#
......@@ -450,7 +470,6 @@ CONFIG_LEGACY_PTY_COUNT=256
#
# Ftape, the floppy tape device driver
#
# CONFIG_AGP is not set
# CONFIG_DRM is not set
# CONFIG_RAW_DRIVER is not set
......@@ -481,12 +500,14 @@ CONFIG_LEGACY_PTY_COUNT=256
#
# Graphics support
#
# 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
......@@ -500,11 +521,25 @@ CONFIG_DUMMY_CONSOLE=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
#
#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
#
# MMC/SD Card support
#
# CONFIG_MMC is not set
#
# InfiniBand support
#
# CONFIG_INFINIBAND is not set
#
# File systems
#
......@@ -596,6 +631,11 @@ CONFIG_MSDOS_PARTITION=y
#
# CONFIG_NLS is not set
#
# Profiling support
#
# CONFIG_PROFILING is not set
#
# Kernel hacking
#
......@@ -638,6 +678,10 @@ CONFIG_CRYPTO_MICHAEL_MIC=y
CONFIG_CRYPTO_CRC32C=m
# CONFIG_CRYPTO_TEST is not set
#
# Hardware crypto devices
#
#
# Library routines
#
......
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.10-rc2
# Sun Nov 21 14:12:07 2004
# Linux kernel version: 2.6.11-rc2
# Wed Jan 26 02:49:12 2005
#
CONFIG_MIPS=y
# CONFIG_MIPS64 is not set
......@@ -58,6 +58,7 @@ CONFIG_KMOD=y
#
# CONFIG_MACH_JAZZ is not set
CONFIG_MACH_VR41XX=y
# CONFIG_NEC_CMBVR4133 is not set
# CONFIG_CASIO_E55 is not set
# CONFIG_IBM_WORKPAD is not set
CONFIG_TANBAC_TB0226=y
......@@ -91,12 +92,12 @@ CONFIG_TANBAC_TB0226=y
# CONFIG_SNI_RM200_PCI is not set
# CONFIG_TOSHIBA_RBTX4927 is not set
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_HAVE_DEC_LOCK=y
CONFIG_DMA_NONCOHERENT=y
CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_IRQ_CPU=y
CONFIG_MIPS_L1_CACHE_SHIFT=5
CONFIG_FB=y
#
# CPU selection
......@@ -133,6 +134,19 @@ CONFIG_HW_HAS_PCI=y
# CONFIG_PCI is not set
CONFIG_MMU=y
#
# PCCARD (PCMCIA/CardBus) support
#
# CONFIG_PCCARD is not set
#
# PC-card bridges
#
#
# PCI Hotplug Support
#
#
# Executable file formats
#
......@@ -149,6 +163,7 @@ CONFIG_TRAD_SIGNALS=y
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
# CONFIG_FW_LOADER is not set
#
# Memory Technology Devices (MTD)
......@@ -168,10 +183,12 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_LBD is not set
......@@ -186,6 +203,7 @@ CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_ATA_OVER_ETH=m
#
# ATA/ATAPI/MFM/RLL support
......@@ -242,12 +260,12 @@ CONFIG_SCSI_CONSTANTS=y
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
#
# SCSI low-level drivers
#
# CONFIG_SCSI_SATA is not set
# CONFIG_SCSI_QLOGIC_1280_1040 is not set
# CONFIG_SCSI_DEBUG is not set
#
......@@ -420,6 +438,7 @@ CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_LIBPS2 is not set
CONFIG_SERIO_RAW=m
#
......@@ -473,7 +492,6 @@ CONFIG_LEGACY_PTY_COUNT=256
#
# Ftape, the floppy tape device driver
#
# CONFIG_AGP is not set
# CONFIG_DRM is not set
# CONFIG_RAW_DRIVER is not set
......@@ -504,6 +522,7 @@ CONFIG_LEGACY_PTY_COUNT=256
#
# Graphics support
#
CONFIG_FB=y
# CONFIG_FB_MODE_HELPERS is not set
# CONFIG_FB_TILEBLITTING is not set
# CONFIG_FB_VIRTUAL is not set
......@@ -519,6 +538,7 @@ CONFIG_DUMMY_CONSOLE=y
# Logo configuration
#
# CONFIG_LOGO is not set
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
# Sound
......@@ -541,11 +561,25 @@ CONFIG_SOUND=y
# CONFIG_USB_ARCH_HAS_HCD is not set
# CONFIG_USB_ARCH_HAS_OHCI is not set
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
#
#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
#
# MMC/SD Card support
#
# CONFIG_MMC is not set
#
# InfiniBand support
#
# CONFIG_INFINIBAND is not set
#
# File systems
#
......@@ -689,6 +723,11 @@ CONFIG_NLS_ISO8859_1=m
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set
#
# Profiling support
#
# CONFIG_PROFILING is not set
#
# Kernel hacking
#
......@@ -708,6 +747,10 @@ CONFIG_KEYS_DEBUG_PROC_KEYS=y
#
# CONFIG_CRYPTO is not set
#
# Hardware crypto devices
#
#
# Library routines
#
......
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.10-rc2
# Sun Nov 21 14:12:07 2004
# Linux kernel version: 2.6.11-rc2
# Wed Jan 26 02:49:12 2005
#
CONFIG_MIPS=y
# CONFIG_MIPS64 is not set
......@@ -58,14 +58,16 @@ CONFIG_KMOD=y
#
# CONFIG_MACH_JAZZ is not set
CONFIG_MACH_VR41XX=y
# CONFIG_NEC_CMBVR4133 is not set
# CONFIG_CASIO_E55 is not set
# CONFIG_IBM_WORKPAD is not set
# CONFIG_TANBAC_TB0226 is not set
CONFIG_TANBAC_TB0229=y
CONFIG_TANBAC_TB0219=y
# CONFIG_VICTOR_MPC30X is not set
# CONFIG_ZAO_CAPCELLA is not set
CONFIG_PCI_VR41XX=y
CONFIG_VRC4173=y
# CONFIG_VRC4173 is not set
# CONFIG_TOSHIBA_JMR3927 is not set
# CONFIG_MIPS_COBALT is not set
# CONFIG_MACH_DECSTATION is not set
......@@ -93,13 +95,12 @@ CONFIG_VRC4173=y
# CONFIG_SNI_RM200_PCI is not set
# CONFIG_TOSHIBA_RBTX4927 is not set
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_HAVE_DEC_LOCK=y
CONFIG_DMA_NONCOHERENT=y
CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_IRQ_CPU=y
CONFIG_MIPS_L1_CACHE_SHIFT=5
# CONFIG_FB is not set
CONFIG_TANBAC_TB0219=y
#
# CPU selection
......@@ -138,6 +139,20 @@ CONFIG_PCI_LEGACY_PROC=y
CONFIG_PCI_NAMES=y
CONFIG_MMU=y
#
# PCCARD (PCMCIA/CardBus) support
#
# CONFIG_PCCARD is not set
#
# PC-card bridges
#
#
# PCI Hotplug Support
#
# CONFIG_HOTPLUG_PCI is not set
#
# Executable file formats
#
......@@ -154,6 +169,7 @@ CONFIG_TRAD_SIGNALS=y
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
# CONFIG_FW_LOADER is not set
#
# Memory Technology Devices (MTD)
......@@ -177,11 +193,13 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
# 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=m
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
CONFIG_BLK_DEV_NBD=m
# CONFIG_BLK_DEV_SX8 is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
# CONFIG_BLK_DEV_INITRD is not set
CONFIG_INITRAMFS_SOURCE=""
......@@ -197,6 +215,7 @@ CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_ATA_OVER_ETH=m
#
# ATA/ATAPI/MFM/RLL support
......@@ -315,7 +334,7 @@ CONFIG_DUMMY=m
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
# CONFIG_MII is not set
CONFIG_MII=y
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set
......@@ -325,7 +344,26 @@ CONFIG_NET_ETHERNET=y
#
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
# CONFIG_NET_PCI is not set
CONFIG_NET_PCI=y
CONFIG_PCNET32=y
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
# CONFIG_DGRS is not set
CONFIG_EEPRO100=y
# CONFIG_E100 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_LAN_SAA9730 is not set
#
# Ethernet (1000 Mbit)
......@@ -338,6 +376,7 @@ CONFIG_NET_ETHERNET=y
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SK98LIN is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_TIGON3 is not set
#
......@@ -414,6 +453,7 @@ CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not set
# CONFIG_SERIO_LIBPS2 is not set
CONFIG_SERIO_RAW=m
#
......@@ -468,7 +508,6 @@ CONFIG_LEGACY_PTY_COUNT=256
#
# Ftape, the floppy tape device driver
#
# CONFIG_AGP is not set
# CONFIG_DRM is not set
# CONFIG_RAW_DRIVER is not set
......@@ -499,12 +538,14 @@ CONFIG_LEGACY_PTY_COUNT=256
#
# Graphics support
#
# 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
......@@ -518,11 +559,25 @@ CONFIG_DUMMY_CONSOLE=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
#
#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
#
# MMC/SD Card support
#
# CONFIG_MMC is not set
#
# InfiniBand support
#
# CONFIG_INFINIBAND is not set
#
# File systems
#
......@@ -538,6 +593,7 @@ CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
CONFIG_JFS_FS=m
# CONFIG_JFS_POSIX_ACL is not set
# CONFIG_JFS_SECURITY is not set
# CONFIG_JFS_DEBUG is not set
# CONFIG_JFS_STATISTICS is not set
CONFIG_XFS_FS=y
......@@ -679,12 +735,17 @@ CONFIG_NLS_ISO8859_1=m
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set
#
# Profiling support
#
# CONFIG_PROFILING is not set
#
# Kernel hacking
#
# CONFIG_DEBUG_KERNEL is not set
CONFIG_CROSSCOMPILE=y
CONFIG_CMDLINE=""
CONFIG_CMDLINE="mem=64M console=ttyS0,38400 ip=bootp root=/dev/nfs"
#
# Security options
......@@ -698,11 +759,15 @@ CONFIG_KEYS_DEBUG_PROC_KEYS=y
#
# CONFIG_CRYPTO is not set
#
# Hardware crypto devices
#
#
# Library routines
#
CONFIG_CRC_CCITT=m
# CONFIG_CRC32 is not set
CONFIG_CRC32=y
# CONFIG_LIBCRC32C is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
......
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.10-rc2
# Sun Nov 21 14:12:08 2004
# Linux kernel version: 2.6.11-rc2
# Wed Jan 26 02:49:12 2005
#
CONFIG_MIPS=y
# CONFIG_MIPS64 is not set
......@@ -58,6 +58,7 @@ CONFIG_KMOD=y
#
# CONFIG_MACH_JAZZ is not set
CONFIG_MACH_VR41XX=y
# CONFIG_NEC_CMBVR4133 is not set
# CONFIG_CASIO_E55 is not set
CONFIG_IBM_WORKPAD=y
# CONFIG_TANBAC_TB0226 is not set
......@@ -92,12 +93,12 @@ CONFIG_VRC4171=y
# CONFIG_SNI_RM200_PCI is not set
# CONFIG_TOSHIBA_RBTX4927 is not set
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_HAVE_DEC_LOCK=y
CONFIG_DMA_NONCOHERENT=y
CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_IRQ_CPU=y
CONFIG_MIPS_L1_CACHE_SHIFT=5
# CONFIG_FB is not set
#
# CPU selection
......@@ -133,6 +134,20 @@ CONFIG_CPU_HAS_SYNC=y
CONFIG_ISA=y
CONFIG_MMU=y
#
# PCCARD (PCMCIA/CardBus) support
#
# CONFIG_PCCARD is not set
#
# PC-card bridges
#
CONFIG_PCMCIA_PROBE=y
#
# PCI Hotplug Support
#
#
# Executable file formats
#
......@@ -149,6 +164,7 @@ CONFIG_TRAD_SIGNALS=y
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
# CONFIG_FW_LOADER is not set
#
# Memory Technology Devices (MTD)
......@@ -170,9 +186,11 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
#
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_DEV_XD 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_RAM is not set
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_LBD is not set
CONFIG_CDROM_PKTCDVD=m
......@@ -186,6 +204,7 @@ CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_ATA_OVER_ETH=m
#
# ATA/ATAPI/MFM/RLL support
......@@ -397,6 +416,7 @@ CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_LIBPS2 is not set
CONFIG_SERIO_RAW=m
#
......@@ -463,7 +483,6 @@ CONFIG_WATCHDOG=y
#
# Ftape, the floppy tape device driver
#
# CONFIG_AGP is not set
# CONFIG_DRM is not set
# CONFIG_RAW_DRIVER is not set
......@@ -494,6 +513,7 @@ CONFIG_WATCHDOG=y
#
# Graphics support
#
# CONFIG_FB is not set
#
# Console display driver support
......@@ -501,6 +521,7 @@ CONFIG_WATCHDOG=y
# CONFIG_VGA_CONSOLE is not set
# CONFIG_MDA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
# Sound
......@@ -513,11 +534,25 @@ CONFIG_DUMMY_CONSOLE=y
# CONFIG_USB_ARCH_HAS_HCD is not set
# CONFIG_USB_ARCH_HAS_OHCI is not set
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
#
#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
#
# MMC/SD Card support
#
# CONFIG_MMC is not set
#
# InfiniBand support
#
# CONFIG_INFINIBAND is not set
#
# File systems
#
......@@ -614,6 +649,11 @@ CONFIG_MSDOS_PARTITION=y
#
# CONFIG_NLS is not set
#
# Profiling support
#
# CONFIG_PROFILING is not set
#
# Kernel hacking
#
......@@ -633,6 +673,10 @@ CONFIG_KEYS_DEBUG_PROC_KEYS=y
#
# CONFIG_CRYPTO is not set
#
# Hardware crypto devices
#
#
# Library routines
#
......
......@@ -17,6 +17,7 @@ obj-$(CONFIG_MIPS_MSC) += ops-msc.o
obj-$(CONFIG_MIPS_NILE4) += ops-nile4.o
obj-$(CONFIG_MIPS_TX3927) += ops-jmr3927.o
obj-$(CONFIG_PCI_VR41XX) += ops-vr41xx.o pci-vr41xx.o
obj-$(CONFIG_NEC_CMBVR4133) += fixup-vr4133.o
#
# These are still pretty much in the old state, watch, go blind.
......
/*
* arch/mips/vr41xx/nec-cmbvr4133/pci_fixup.c
*
* The NEC CMB-VR4133 Board specific PCI fixups.
*
* Author: Yoichi Yuasa <yyuasa@mvista.com, or source@mvista.com> and
* Alex Sapkov <asapkov@ru.mvista.com>
*
* 2003-2004 (c) MontaVista, Software, Inc. This file is licensed under
* the terms of the GNU General Public License version 2. This program
* is licensed "as is" without any warranty of any kind, whether express
* or implied.
*
* Modified for support in 2.6
* Author: Manish Lachwani (mlachwani@mvista.com)
*
*/
#include <linux/config.h>
#include <linux/init.h>
#include <linux/pci.h>
#include <asm/io.h>
#include <asm/vr41xx/cmbvr4133.h>
extern int vr4133_rockhopper;
extern void ali_m1535plus_init(struct pci_dev *dev);
extern void ali_m5229_init(struct pci_dev *dev);
/* Do platform specific device initialization at pci_enable_device() time */
int pcibios_plat_dev_init(struct pci_dev *dev)
{
/*
* We have to reset AMD PCnet adapter on Rockhopper since
* PMON leaves it enabled and generating interrupts. This leads
* to a lock if some PCI device driver later enables the IRQ line
* shared with PCnet and there is no AMD PCnet driver to catch its
* interrupts.
*/
#ifdef CONFIG_ROCKHOPPER
if (dev->vendor == PCI_VENDOR_ID_AMD &&
dev->device == PCI_DEVICE_ID_AMD_LANCE) {
inl(pci_resource_start(dev, 0) + 0x18);
}
#endif
/*
* we have to open the bridges' windows down to 0 because otherwise
* we cannot access ISA south bridge I/O registers that get mapped from
* 0. for example, 8259 PIC would be unaccessible without that
*/
if(dev->vendor == PCI_VENDOR_ID_INTEL && dev->device == PCI_DEVICE_ID_INTEL_S21152BB) {
pci_write_config_byte(dev, PCI_IO_BASE, 0);
if(dev->bus->number == 0) {
pci_write_config_word(dev, PCI_IO_BASE_UPPER16, 0);
} else {
pci_write_config_word(dev, PCI_IO_BASE_UPPER16, 1);
}
}
return 0;
}
/*
* M1535 IRQ mapping
* Feel free to change this, although it shouldn't be needed
*/
#define M1535_IRQ_INTA 7
#define M1535_IRQ_INTB 9
#define M1535_IRQ_INTC 10
#define M1535_IRQ_INTD 11
#define M1535_IRQ_USB 9
#define M1535_IRQ_IDE 14
#define M1535_IRQ_IDE2 15
#define M1535_IRQ_PS2 12
#define M1535_IRQ_RTC 8
#define M1535_IRQ_FDC 6
#define M1535_IRQ_AUDIO 5
#define M1535_IRQ_COM1 4
#define M1535_IRQ_COM2 4
#define M1535_IRQ_IRDA 3
#define M1535_IRQ_KBD 1
#define M1535_IRQ_TMR 0
/* Rockhopper "slots" assignment; this is hard-coded ... */
#define ROCKHOPPER_M5451_SLOT 1
#define ROCKHOPPER_M1535_SLOT 2
#define ROCKHOPPER_M5229_SLOT 11
#define ROCKHOPPER_M5237_SLOT 15
#define ROCKHOPPER_PMU_SLOT 12
/* ... and hard-wired. */
#define ROCKHOPPER_PCI1_SLOT 3
#define ROCKHOPPER_PCI2_SLOT 4
#define ROCKHOPPER_PCI3_SLOT 5
#define ROCKHOPPER_PCI4_SLOT 6
#define ROCKHOPPER_PCNET_SLOT 1
#define M1535_IRQ_MASK(n) (1 << (n))
#define M1535_IRQ_EDGE (M1535_IRQ_MASK(M1535_IRQ_TMR) | \
M1535_IRQ_MASK(M1535_IRQ_KBD) | \
M1535_IRQ_MASK(M1535_IRQ_COM1) | \
M1535_IRQ_MASK(M1535_IRQ_COM2) | \
M1535_IRQ_MASK(M1535_IRQ_IRDA) | \
M1535_IRQ_MASK(M1535_IRQ_RTC) | \
M1535_IRQ_MASK(M1535_IRQ_FDC) | \
M1535_IRQ_MASK(M1535_IRQ_PS2))
#define M1535_IRQ_LEVEL (M1535_IRQ_MASK(M1535_IRQ_IDE) | \
M1535_IRQ_MASK(M1535_IRQ_USB) | \
M1535_IRQ_MASK(M1535_IRQ_INTA) | \
M1535_IRQ_MASK(M1535_IRQ_INTB) | \
M1535_IRQ_MASK(M1535_IRQ_INTC) | \
M1535_IRQ_MASK(M1535_IRQ_INTD))
struct irq_map_entry {
u16 bus;
u8 slot;
u8 irq;
};
static struct irq_map_entry int_map[] = {
{1, ROCKHOPPER_M5451_SLOT, M1535_IRQ_AUDIO}, /* Audio controller */
{1, ROCKHOPPER_PCI1_SLOT, M1535_IRQ_INTD}, /* PCI slot #1 */
{1, ROCKHOPPER_PCI2_SLOT, M1535_IRQ_INTC}, /* PCI slot #2 */
{1, ROCKHOPPER_M5237_SLOT, M1535_IRQ_USB}, /* USB host controller */
{1, ROCKHOPPER_M5229_SLOT, IDE_PRIMARY_IRQ}, /* IDE controller */
{2, ROCKHOPPER_PCNET_SLOT, M1535_IRQ_INTD}, /* AMD Am79c973 on-board
ethernet */
{2, ROCKHOPPER_PCI3_SLOT, M1535_IRQ_INTB}, /* PCI slot #3 */
{2, ROCKHOPPER_PCI4_SLOT, M1535_IRQ_INTC} /* PCI slot #4 */
};
static int pci_intlines[] =
{ M1535_IRQ_INTA, M1535_IRQ_INTB, M1535_IRQ_INTC, M1535_IRQ_INTD };
/* Determine the Rockhopper IRQ line number for the PCI device */
int rockhopper_get_irq(struct pci_dev *dev, u8 pin, u8 slot)
{
struct pci_bus *bus;
int i;
bus = dev->bus;
if (bus == NULL)
return -1;
for (i = 0; i < sizeof (int_map) / sizeof (int_map[0]); i++) {
if (int_map[i].bus == bus->number && int_map[i].slot == slot) {
int line;
for (line = 0; line < 4; line++)
if (pci_intlines[line] == int_map[i].irq)
break;
if (line < 4)
return pci_intlines[(line + (pin - 1)) % 4];
else
return int_map[i].irq;
}
}
return -1;
}
#ifdef CONFIG_ROCKHOPPER
void i8259_init(void)
{
outb(0x11, 0x20); /* Master ICW1 */
outb(I8259_IRQ_BASE, 0x21); /* Master ICW2 */
outb(0x04, 0x21); /* Master ICW3 */
outb(0x01, 0x21); /* Master ICW4 */
outb(0xff, 0x21); /* Master IMW */
outb(0x11, 0xa0); /* Slave ICW1 */
outb(I8259_IRQ_BASE + 8, 0xa1); /* Slave ICW2 */
outb(0x02, 0xa1); /* Slave ICW3 */
outb(0x01, 0xa1); /* Slave ICW4 */
outb(0xff, 0xa1); /* Slave IMW */
outb(0x00, 0x4d0);
outb(0x02, 0x4d1); /* USB IRQ9 is level */
}
#endif
int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
{
extern int pci_probe_only;
pci_probe_only = 1;
#ifdef CONFIG_ROCKHOPPER
if( dev->bus->number == 1 && vr4133_rockhopper ) {
if(slot == ROCKHOPPER_PCI1_SLOT || slot == ROCKHOPPER_PCI2_SLOT)
dev->irq = CMBVR41XX_INTA_IRQ;
else
dev->irq = rockhopper_get_irq(dev, pin, slot);
} else
dev->irq = CMBVR41XX_INTA_IRQ;
#else
dev->irq = CMBVR41XX_INTA_IRQ;
#endif
return dev->irq;
}
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1533, ali_m1535plus_init);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M5229, ali_m5229_init);
......@@ -270,7 +270,7 @@ static int __init vr41xx_pciu_init(void)
/* Clear bus error */
readl(BUSERRADREG);
writel(CONFIG_DONE, PCIENREG);
writel(BLOODY_CONFIG_DONE, PCIENREG);
if (setup->mem_resource != NULL)
vr41xx_pci_controller.mem_resource = setup->mem_resource;
......
......@@ -73,7 +73,7 @@
#define PCIRECONTREG KSEG1ADDR(0x0f000c30)
#define RTRYCNT(reg) ((reg) & 0x000000ffU)
#define PCIENREG KSEG1ADDR(0x0f000c34)
#define CONFIG_DONE 0x4U
#define BLOODY_CONFIG_DONE 0x4U
#define PCICLKSELREG KSEG1ADDR(0x0f000c38)
#define EQUAL_VTCLOCK 0x2U
#define HALF_VTCLOCK 0x0U
......
......@@ -4,6 +4,7 @@
* Copyright (C) 2002 MontaVista Software Inc.
* Author: Yoichi Yuasa <yyuasa@mvista.com or source@mvista.com>
* Copyright (C) 2003-2004 Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
* Copyright (C) 2005 Ralf Baechle (ralf@linux-mips.org)
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......@@ -28,7 +29,6 @@
* - Added support for NEC VR4133.
* - Removed board_irq_init.
*/
#include <linux/config.h>
#include <linux/errno.h>
#include <linux/init.h>
#include <linux/irq.h>
......
......@@ -4,6 +4,7 @@
* Copyright (C) 2001-2002 MontaVista Software Inc.
* Author: Yoichi Yuasa <yyuasa@mvista.com or source@mvista.com>
* Copyright (C) 2003-2004 Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
* Copyright (C) 2005 Ralf Baechle (ralf@linux-mips.org)
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......@@ -28,7 +29,6 @@
* Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
* - Coped with INTASSIGN of NEC VR4133.
*/
#include <linux/config.h>
#include <linux/errno.h>
#include <linux/init.h>
#include <linux/interrupt.h>
......
......@@ -2,6 +2,7 @@
* ksyms.c, Export NEC VR4100 series specific functions needed for loadable modules.
*
* Copyright (C) 2003 Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
* Copyright (C) 2005 Ralf Baechle (ralf@linux-mips.org)
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......@@ -17,7 +18,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <linux/config.h>
#include <linux/module.h>
#include <asm/vr41xx/vr41xx.h>
......
......@@ -4,6 +4,7 @@
* Copyright (C) 2001-2003 MontaVista Software Inc.
* Author: Yoichi Yuasa <yyuasa@mvista.com, or source@mvista.com>
* Copyright (C) 2004 Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
* Copyright (C) 2005 Ralf Baechle (ralf@linux-mips.org)
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......@@ -19,7 +20,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <linux/config.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/interrupt.h>
......
#
# Makefile for the NEC-CMBVR4133
#
obj-y := init.o setup.o
obj-$(CONFIG_PCI) += m1535plus.o
obj-$(CONFIG_ROCKHOPPER) += irq.o
/*
* arch/mips/vr41xx/nec-cmbvr4133/init.c
*
* PROM library initialisation code for NEC CMB-VR4133 board.
*
* Author: Yoichi Yuasa <yyuasa@mvista.com, or source@mvista.com> and
* Jun Sun <jsun@mvista.com, or source@mvista.com> and
* Alex Sapkov <asapkov@ru.mvista.com>
*
* 2001-2004 (c) MontaVista, Software, Inc. This file is licensed under
* the terms of the GNU General Public License version 2. This program
* is licensed "as is" without any warranty of any kind, whether express
* or implied.
*
* Support for NEC-CMBVR4133 in 2.6
* Manish Lachwani (mlachwani@mvista.com)
*/
#include <linux/config.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/string.h>
#include <asm/bootinfo.h>
#ifdef CONFIG_ROCKHOPPER
#include <asm/io.h>
#include <linux/pci.h>
#define PCICONFDREG 0xaf000c14
#define PCICONFAREG 0xaf000c18
#endif
const char *get_system_type(void)
{
return "NEC CMB-VR4133";
}
#ifdef CONFIG_ROCKHOPPER
void disable_pcnet(void)
{
u32 data;
/*
* Workaround for the bug in PMON on VR4133. PMON leaves
* AMD PCNet controller (on Rockhopper) initialized and running in
* bus master mode. We have do disable it before doing any
* further initialization. Or we get problems with PCI bus 2
* and random lockups and crashes.
*/
writel((2 << 16) |
(PCI_DEVFN(1,0) << 8) |
(0 & 0xfc) |
1UL,
PCICONFAREG);
data = readl(PCICONFDREG);
writel((2 << 16) |
(PCI_DEVFN(1,0) << 8) |
(4 & 0xfc) |
1UL,
PCICONFAREG);
data = readl(PCICONFDREG);
writel((2 << 16) |
(PCI_DEVFN(1,0) << 8) |
(4 & 0xfc) |
1UL,
PCICONFAREG);
data &= ~4;
writel(data, PCICONFDREG);
}
#endif
/*
* arch/mips/vr41xx/nec-cmbvr4133/irq.c
*
* Interrupt routines for the NEC CMB-VR4133 board.
*
* Author: Yoichi Yuasa <yyuasa@mvista.com, or source@mvista.com> and
* Alex Sapkov <asapkov@ru.mvista.com>
*
* 2003-2004 (c) MontaVista, Software, Inc. This file is licensed under
* the terms of the GNU General Public License version 2. This program
* is licensed "as is" without any warranty of any kind, whether express
* or implied.
*
* Support for NEC-CMBVR4133 in 2.6
* Manish Lachwani (mlachwani@mvista.com)
*/
#include <linux/bitops.h>
#include <linux/errno.h>
#include <linux/init.h>
#include <linux/ioport.h>
#include <linux/interrupt.h>
#include <asm/io.h>
#include <asm/vr41xx/cmbvr4133.h>
extern void enable_8259A_irq(unsigned int irq);
extern void disable_8259A_irq(unsigned int irq);
extern void mask_and_ack_8259A(unsigned int irq);
extern void init_8259A(int hoge);
extern int vr4133_rockhopper;
static unsigned int startup_i8259_irq(unsigned int irq)
{
enable_8259A_irq(irq - I8259_IRQ_BASE);
return 0;
}
static void shutdown_i8259_irq(unsigned int irq)
{
disable_8259A_irq(irq - I8259_IRQ_BASE);
}
static void enable_i8259_irq(unsigned int irq)
{
enable_8259A_irq(irq - I8259_IRQ_BASE);
}
static void disable_i8259_irq(unsigned int irq)
{
disable_8259A_irq(irq - I8259_IRQ_BASE);
}
static void ack_i8259_irq(unsigned int irq)
{
mask_and_ack_8259A(irq - I8259_IRQ_BASE);
}
static void end_i8259_irq(unsigned int irq)
{
if (!(irq_desc[irq].status & (IRQ_DISABLED|IRQ_INPROGRESS)))
enable_8259A_irq(irq - I8259_IRQ_BASE);
}
static struct hw_interrupt_type i8259_irq_type = {
.typename = "XT-PIC",
.startup = startup_i8259_irq,
.shutdown = shutdown_i8259_irq,
.enable = enable_i8259_irq,
.disable = disable_i8259_irq,
.ack = ack_i8259_irq,
.end = end_i8259_irq,
};
static int i8259_get_irq_number(int irq)
{
unsigned long isr;
isr = inb(0x20);
irq = ffz(~isr);
if (irq == 2) {
isr = inb(0xa0);
irq = 8 + ffz(~isr);
}
if (irq < 0 || irq > 15)
return -EINVAL;
return I8259_IRQ_BASE + irq;
}
static struct irqaction i8259_slave_cascade = {
.handler = &no_action,
.name = "cascade",
};
void __init rockhopper_init_irq(void)
{
int i;
if(!vr4133_rockhopper) {
printk(KERN_ERR "Not a Rockhopper Board \n");
return;
}
for (i = I8259_IRQ_BASE; i <= I8259_IRQ_LAST; i++)
irq_desc[i].handler = &i8259_irq_type;
setup_irq(I8259_SLAVE_IRQ, &i8259_slave_cascade);
vr41xx_set_irq_trigger(CMBVR41XX_INTC_PIN, TRIGGER_LEVEL, SIGNAL_THROUGH);
vr41xx_set_irq_level(CMBVR41XX_INTC_PIN, LEVEL_HIGH);
vr41xx_cascade_irq(CMBVR41XX_INTC_IRQ, i8259_get_irq_number);
}
/*
* arch/mips/vr41xx/nec-cmbvr4133/m1535plus.c
*
* Initialize for ALi M1535+(included M5229 and M5237).
*
* Author: Yoichi Yuasa <yyuasa@mvista.com, or source@mvista.com> and
* Alex Sapkov <asapkov@ru.mvista.com>
*
* 2003-2004 (c) MontaVista, Software, Inc. This file is licensed under
* the terms of the GNU General Public License version 2. This program
* is licensed "as is" without any warranty of any kind, whether express
* or implied.
*
* Support for NEC-CMBVR4133 in 2.6
* Author: Manish Lachwani (mlachwani@mvista.com)
*/
#include <linux/config.h>
#include <linux/init.h>
#include <linux/types.h>
#include <linux/serial.h>
#include <asm/vr41xx/cmbvr4133.h>
#include <linux/pci.h>
#include <asm/io.h>
#define CONFIG_PORT(port) ((port) ? 0x3f0 : 0x370)
#define DATA_PORT(port) ((port) ? 0x3f1 : 0x371)
#define INDEX_PORT(port) CONFIG_PORT(port)
#define ENTER_CONFIG_MODE(port) \
do { \
outb_p(0x51, CONFIG_PORT(port)); \
outb_p(0x23, CONFIG_PORT(port)); \
} while(0)
#define SELECT_LOGICAL_DEVICE(port, dev_no) \
do { \
outb_p(0x07, INDEX_PORT(port)); \
outb_p((dev_no), DATA_PORT(port)); \
} while(0)
#define WRITE_CONFIG_DATA(port,index,data) \
do { \
outb_p((index), INDEX_PORT(port)); \
outb_p((data), DATA_PORT(port)); \
} while(0)
#define EXIT_CONFIG_MODE(port) outb(0xbb, CONFIG_PORT(port))
#define PCI_CONFIG_ADDR KSEG1ADDR(0x0f000c18)
#define PCI_CONFIG_DATA KSEG1ADDR(0x0f000c14)
#ifdef CONFIG_BLK_DEV_FD
void __devinit ali_m1535plus_fdc_init(int port)
{
ENTER_CONFIG_MODE(port);
SELECT_LOGICAL_DEVICE(port, 0); /* FDC */
WRITE_CONFIG_DATA(port, 0x30, 0x01); /* FDC: enable */
WRITE_CONFIG_DATA(port, 0x60, 0x03); /* I/O port base: 0x3f0 */
WRITE_CONFIG_DATA(port, 0x61, 0xf0);
WRITE_CONFIG_DATA(port, 0x70, 0x06); /* IRQ: 6 */
WRITE_CONFIG_DATA(port, 0x74, 0x02); /* DMA: channel 2 */
WRITE_CONFIG_DATA(port, 0xf0, 0x08);
WRITE_CONFIG_DATA(port, 0xf1, 0x00);
WRITE_CONFIG_DATA(port, 0xf2, 0xff);
WRITE_CONFIG_DATA(port, 0xf4, 0x00);
EXIT_CONFIG_MODE(port);
}
#endif
void __devinit ali_m1535plus_parport_init(int port)
{
ENTER_CONFIG_MODE(port);
SELECT_LOGICAL_DEVICE(port, 3); /* Parallel Port */
WRITE_CONFIG_DATA(port, 0x30, 0x01);
WRITE_CONFIG_DATA(port, 0x60, 0x03); /* I/O port base: 0x378 */
WRITE_CONFIG_DATA(port, 0x61, 0x78);
WRITE_CONFIG_DATA(port, 0x70, 0x07); /* IRQ: 7 */
WRITE_CONFIG_DATA(port, 0x74, 0x04); /* DMA: None */
WRITE_CONFIG_DATA(port, 0xf0, 0x8c); /* IRQ polarity: Active Low */
WRITE_CONFIG_DATA(port, 0xf1, 0xc5);
EXIT_CONFIG_MODE(port);
}
void __devinit ali_m1535plus_keyboard_init(int port)
{
ENTER_CONFIG_MODE(port);
SELECT_LOGICAL_DEVICE(port, 7); /* KEYBOARD */
WRITE_CONFIG_DATA(port, 0x30, 0x01); /* KEYBOARD: eable */
WRITE_CONFIG_DATA(port, 0x70, 0x01); /* IRQ: 1 */
WRITE_CONFIG_DATA(port, 0x72, 0x0c); /* PS/2 Mouse IRQ: 12 */
WRITE_CONFIG_DATA(port, 0xf0, 0x00);
EXIT_CONFIG_MODE(port);
}
void __devinit ali_m1535plus_hotkey_init(int port)
{
ENTER_CONFIG_MODE(port);
SELECT_LOGICAL_DEVICE(port, 0xc); /* HOTKEY */
WRITE_CONFIG_DATA(port, 0x30, 0x00);
WRITE_CONFIG_DATA(port, 0xf0, 0x35);
WRITE_CONFIG_DATA(port, 0xf1, 0x14);
WRITE_CONFIG_DATA(port, 0xf2, 0x11);
WRITE_CONFIG_DATA(port, 0xf3, 0x71);
WRITE_CONFIG_DATA(port, 0xf5, 0x05);
EXIT_CONFIG_MODE(port);
}
void ali_m1535plus_init(struct pci_dev *dev)
{
pci_write_config_byte(dev, 0x40, 0x18); /* PCI Interface Control */
pci_write_config_byte(dev, 0x41, 0xc0); /* PS2 keyb & mouse enable */
pci_write_config_byte(dev, 0x42, 0x41); /* ISA bus cycle control */
pci_write_config_byte(dev, 0x43, 0x00); /* ISA bus cycle control 2 */
pci_write_config_byte(dev, 0x44, 0x5d); /* IDE enable & IRQ 14 */
pci_write_config_byte(dev, 0x45, 0x0b); /* PCI int polling mode */
pci_write_config_byte(dev, 0x47, 0x00); /* BIOS chip select control */
/* IRQ routing */
pci_write_config_byte(dev, 0x48, 0x03); /* INTA IRQ10, INTB disable */
pci_write_config_byte(dev, 0x49, 0x00); /* INTC and INTD disable */
pci_write_config_byte(dev, 0x4a, 0x00); /* INTE and INTF disable */
pci_write_config_byte(dev, 0x4b, 0x90); /* Audio IRQ11, Modem disable */
pci_write_config_word(dev, 0x50, 0x4000); /* Parity check IDE enable */
pci_write_config_word(dev, 0x52, 0x0000); /* USB & RTC disable */
pci_write_config_word(dev, 0x54, 0x0002); /* ??? no info */
pci_write_config_word(dev, 0x56, 0x0002); /* PCS1J signal disable */
pci_write_config_byte(dev, 0x59, 0x00); /* PCSDS */
pci_write_config_byte(dev, 0x5a, 0x00);
pci_write_config_byte(dev, 0x5b, 0x00);
pci_write_config_word(dev, 0x5c, 0x0000);
pci_write_config_byte(dev, 0x5e, 0x00);
pci_write_config_byte(dev, 0x5f, 0x00);
pci_write_config_word(dev, 0x60, 0x0000);
pci_write_config_byte(dev, 0x6c, 0x00);
pci_write_config_byte(dev, 0x6d, 0x48); /* ROM address mapping */
pci_write_config_byte(dev, 0x6e, 0x00); /* ??? what for? */
pci_write_config_byte(dev, 0x70, 0x12); /* Serial IRQ control */
pci_write_config_byte(dev, 0x71, 0xEF); /* DMA channel select */
pci_write_config_byte(dev, 0x72, 0x03); /* USB IDSEL */
pci_write_config_byte(dev, 0x73, 0x00); /* ??? no info */
/*
* IRQ setup ALi M5237 USB Host Controller
* IRQ: 9
*/
pci_write_config_byte(dev, 0x74, 0x01); /* USB IRQ9 */
pci_write_config_byte(dev, 0x75, 0x1f); /* IDE2 IRQ 15 */
pci_write_config_byte(dev, 0x76, 0x80); /* ACPI disable */
pci_write_config_byte(dev, 0x77, 0x40); /* Modem disable */
pci_write_config_dword(dev, 0x78, 0x20000000); /* Pin select 2 */
pci_write_config_byte(dev, 0x7c, 0x00); /* Pin select 3 */
pci_write_config_byte(dev, 0x81, 0x00); /* ID read/write control */
pci_write_config_byte(dev, 0x90, 0x00); /* PCI PM block control */
pci_write_config_word(dev, 0xa4, 0x0000); /* PMSCR */
#ifdef CONFIG_BLK_DEV_FD
ali_m1535plus_fdc_init(1);
#endif
ali_m1535plus_keyboard_init(1);
ali_m1535plus_hotkey_init(1);
}
static inline void ali_config_writeb(u8 reg, u8 val, int devfn)
{
u32 data;
int shift;
writel((1 << 16) | (devfn << 8) | (reg & 0xfc) | 1UL, PCI_CONFIG_ADDR);
data = readl(PCI_CONFIG_DATA);
shift = (reg & 3) << 3;
data &= ~(0xff << shift);
data |= (((u32)val) << shift);
writel(data, PCI_CONFIG_DATA);
}
static inline u8 ali_config_readb(u8 reg, int devfn)
{
u32 data;
writel((1 << 16) | (devfn << 8) | (reg & 0xfc) | 1UL, PCI_CONFIG_ADDR);
data = readl(PCI_CONFIG_DATA);
return (u8)(data >> ((reg & 3) << 3));
}
static inline u16 ali_config_readw(u8 reg, int devfn)
{
u32 data;
writel((1 << 16) | (devfn << 8) | (reg & 0xfc) | 1UL, PCI_CONFIG_ADDR);
data = readl(PCI_CONFIG_DATA);
return (u16)(data >> ((reg & 2) << 3));
}
int vr4133_rockhopper = 0;
void __init ali_m5229_preinit(void)
{
if (ali_config_readw(PCI_VENDOR_ID,16) == PCI_VENDOR_ID_AL &&
ali_config_readw(PCI_DEVICE_ID,16) == PCI_DEVICE_ID_AL_M1533) {
printk(KERN_INFO "Found an NEC Rockhopper \n");
vr4133_rockhopper = 1;
/*
* Enable ALi M5229 IDE Controller (both channels)
* IDSEL: A27
*/
ali_config_writeb(0x58, 0x4c, 16);
}
}
void __init ali_m5229_init(struct pci_dev *dev)
{
/*
* Enable Primary/Secondary Channel Cable Detect 40-Pin
*/
pci_write_config_word(dev, 0x4a, 0xc023);
/*
* Set only the 3rd byteis for the master IDE's cycle and
* enable Internal IDE Function
*/
pci_write_config_byte(dev, 0x50, 0x23); /* Class code attr register */
pci_write_config_byte(dev, 0x09, 0xff); /* Set native mode & stuff */
pci_write_config_byte(dev, 0x52, 0x00); /* use timing registers */
pci_write_config_byte(dev, 0x58, 0x02); /* Primary addr setup timing */
pci_write_config_byte(dev, 0x59, 0x22); /* Primary cmd block timing */
pci_write_config_byte(dev, 0x5a, 0x22); /* Pr drv 0 R/W timing */
pci_write_config_byte(dev, 0x5b, 0x22); /* Pr drv 1 R/W timing */
pci_write_config_byte(dev, 0x5c, 0x02); /* Sec addr setup timing */
pci_write_config_byte(dev, 0x5d, 0x22); /* Sec cmd block timing */
pci_write_config_byte(dev, 0x5e, 0x22); /* Sec drv 0 R/W timing */
pci_write_config_byte(dev, 0x5f, 0x22); /* Sec drv 1 R/W timing */
pci_write_config_byte(dev, PCI_LATENCY_TIMER, 0x20);
pci_write_config_word(dev, PCI_COMMAND,
PCI_COMMAND_PARITY | PCI_COMMAND_MASTER |
PCI_COMMAND_IO);
}
/*
* arch/mips/vr41xx/nec-cmbvr4133/setup.c
*
* Setup for the NEC CMB-VR4133.
*
* Author: Yoichi Yuasa <yyuasa@mvista.com, or source@mvista.com> and
* Alex Sapkov <asapkov@ru.mvista.com>
*
* 2001-2004 (c) MontaVista, Software, Inc. This file is licensed under
* the terms of the GNU General Public License version 2. This program
* is licensed "as is" without any warranty of any kind, whether express
* or implied.
*
* Support for CMBVR4133 board in 2.6
* Author: Manish Lachwani (mlachwani@mvista.com)
*/
#include <linux/config.h>
#include <linux/init.h>
#include <linux/console.h>
#include <linux/ide.h>
#include <linux/ioport.h>
#include <asm/reboot.h>
#include <asm/time.h>
#include <asm/vr41xx/cmbvr4133.h>
#include <asm/bootinfo.h>
#ifdef CONFIG_MTD
#include <linux/mtd/physmap.h>
#include <linux/mtd/partitions.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/map.h>
static struct mtd_partition cmbvr4133_mtd_parts[] = {
{
.name = "User FS",
.size = 0x1be0000,
.offset = 0,
.mask_flags = 0,
},
{
.name = "PMON",
.size = 0x140000,
.offset = MTDPART_OFS_APPEND,
.mask_flags = MTD_WRITEABLE, /* force read-only */
},
{
.name = "User FS2",
.size = MTDPART_SIZ_FULL,
.offset = MTDPART_OFS_APPEND,
.mask_flags = 0,
}
};
#define number_partitions (sizeof(cmbvr4133_mtd_parts)/sizeof(struct mtd_partition))
#endif
extern void (*late_time_init)(void);
static void __init vr4133_serial_init(void)
{
vr41xx_select_siu_interface(SIU_RS232C, IRDA_NONE);
vr41xx_siu_init();
vr41xx_dsiu_init();
}
extern void i8259_init(void);
static int __init nec_cmbvr4133_setup(void)
{
#ifdef CONFIG_ROCKHOPPER
extern void disable_pcnet(void);
disable_pcnet();
#endif
set_io_port_base(KSEG1ADDR(0x16000000));
mips_machgroup = MACH_GROUP_NEC_VR41XX;
mips_machtype = MACH_NEC_CMBVR4133;
late_time_init = vr4133_serial_init;
#ifdef CONFIG_PCI
#ifdef CONFIG_ROCKHOPPER
ali_m5229_preinit();
#endif
#endif
#ifdef CONFIG_ROCKHOPPER
rockhopper_init_irq();
#endif
#ifdef CONFIG_MTD
/* we use generic physmap mapping driver and we use partitions */
physmap_configure(0x1C000000, 0x02000000, 4, NULL);
physmap_set_partitions(cmbvr4133_mtd_parts, number_partitions);
#endif
/* 128 MB memory support */
add_memory_region(0, 0x08000000, BOOT_MEM_RAM);
#ifdef CONFIG_ROCKHOPPER
i8259_init();
#endif
return 0;
}
early_initcall(nec_cmbvr4133_setup);
......@@ -187,6 +187,14 @@ config M32R_CFC_NUM
help
Set the number of M32R CF slots.
config PCMCIA_VRC4171
tristate "NEC VRC4171 Card Controllers support"
depends on VRC4171 && PCMCIA
config PCMCIA_VRC4173
tristate "NEC VRC4173 CARDU support"
depends on CPU_VR41XX && PCI && PCMCIA
config PCCARD_NONSTATIC
tristate
depends on PCCARD
......
......@@ -31,6 +31,8 @@ obj-$(CONFIG_PCMCIA_PXA2XX) += pxa2xx_core.o pxa2xx_cs.o
obj-$(CONFIG_M32R_PCC) += m32r_pcc.o
obj-$(CONFIG_M32R_CFC) += m32r_cfc.o
obj-$(CONFIG_PCMCIA_AU1X00) += au1x00_ss.o
obj-$(CONFIG_PCMCIA_VRC4171) += vrc4171_card.o
obj-$(CONFIG_PCMCIA_VRC4173) += vrc4173_cardu.o
sa11xx_core-y += soc_common.o sa11xx_base.o
pxa2xx_core-y += soc_common.o pxa2xx_base.o
......
This diff is collapsed.
This diff is collapsed.
/*
* FILE NAME
* drivers/pcmcia/vrc4173_cardu.h
*
* BRIEF MODULE DESCRIPTION
* Include file for NEC VRC4173 CARDU.
*
* Copyright 2002 Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* 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.,
* 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef _VRC4173_CARDU_H
#define _VRC4173_CARDU_H
#include <linux/pci.h>
#include <pcmcia/ss.h>
#define CARDU_MAX_SOCKETS 2
#define CARDU1 0
#define CARDU2 1
/*
* PCI Configuration Registers
*/
#define BRGCNT 0x3e
#define POST_WR_EN 0x0400
#define MEM1_PREF_EN 0x0200
#define MEM0_PREF_EN 0x0100
#define IREQ_INT 0x0080
#define CARD_RST 0x0040
#define MABORT_MODE 0x0020
#define VGA_EN 0x0008
#define ISA_EN 0x0004
#define SERR_EN 0x0002
#define PERR_EN 0x0001
#define SYSCNT 0x80
#define BAD_VCC_REQ_DISB 0x00200000
#define PCPCI_EN 0x00080000
#define CH_ASSIGN_MASK 0x00070000
#define CH_ASSIGN_NODMA 0x00040000
#define SUB_ID_WR_EN 0x00000008
#define ASYN_INT_MODE 0x00000004
#define PCI_CLK_RIN 0x00000002
#define DEVCNT 0x91
#define ZOOM_VIDEO_EN 0x40
#define SR_PCI_INT_SEL_MASK 0x18
#define SR_PCI_INT_SEL_NONE 0x00
#define PCI_INT_MODE 0x04
#define IRQ_MODE 0x02
#define IFG 0x01
#define CHIPCNT 0x9c
#define S_PREF_DISB 0x10
#define SERRDIS 0x9f
#define SERR_DIS_MAB 0x10
#define SERR_DIS_TAB 0x08
#define SERR_DIS_DT_PERR 0x04
/*
* ExCA Registers
*/
#define EXCA_REGS_BASE 0x800
#define EXCA_REGS_SIZE 0x800
#define ID_REV 0x000
#define IF_TYPE_16BIT 0x80
#define IF_STATUS 0x001
#define CARD_PWR 0x40
#define READY 0x20
#define CARD_WP 0x10
#define CARD_DETECT2 0x08
#define CARD_DETECT1 0x04
#define BV_DETECT_MASK 0x03
#define BV_DETECT_GOOD 0x03 /* Memory card */
#define BV_DETECT_WARN 0x02
#define BV_DETECT_BAD1 0x01
#define BV_DETECT_BAD0 0x00
#define STSCHG 0x02 /* I/O card */
#define SPKR 0x01
#define PWR_CNT 0x002
#define CARD_OUT_EN 0x80
#define VCC_MASK 0x18
#define VCC_3V 0x18
#define VCC_5V 0x10
#define VCC_0V 0x00
#define VPP_MASK 0x03
#define VPP_12V 0x02
#define VPP_VCC 0x01
#define VPP_0V 0x00
#define INT_GEN_CNT 0x003
#define CARD_REST0 0x40
#define CARD_TYPE_MASK 0x20
#define CARD_TYPE_IO 0x20
#define CARD_TYPE_MEM 0x00
#define CARD_SC 0x004
#define CARD_DT_CHG 0x08
#define RDY_CHG 0x04
#define BAT_WAR_CHG 0x02
#define BAT_DEAD_ST_CHG 0x01
#define CARD_SCI 0x005
#define CARD_DT_EN 0x08
#define RDY_EN 0x04
#define BAT_WAR_EN 0x02
#define BAT_DEAD_EN 0x01
#define ADR_WIN_EN 0x006
#define IO_WIN_EN(x) (0x40 << (x))
#define MEM_WIN_EN(x) (0x01 << (x))
#define IO_WIN_CNT 0x007
#define IO_WIN_CNT_MASK(x) (0x03 << ((x) << 2))
#define IO_WIN_DATA_AUTOSZ(x) (0x02 << ((x) << 2))
#define IO_WIN_DATA_16BIT(x) (0x01 << ((x) << 2))
#define IO_WIN_SA(x) (0x008 + ((x) << 2))
#define IO_WIN_EA(x) (0x00a + ((x) << 2))
#define MEM_WIN_SA(x) (0x010 + ((x) << 3))
#define MEM_WIN_DSIZE 0x8000
#define MEM_WIN_EA(x) (0x012 + ((x) << 3))
#define MEM_WIN_OA(x) (0x014 + ((x) << 3))
#define MEM_WIN_WP 0x8000
#define MEM_WIN_REGSET 0x4000
#define GEN_CNT 0x016
#define VS2_STATUS 0x80
#define VS1_STATUS 0x40
#define EXCA_REG_RST_EN 0x02
#define GLO_CNT 0x01e
#define FUN_INT_LEV 0x08
#define INT_WB_CLR 0x04
#define CSC_INT_LEV 0x02
#define IO_WIN_OAL(x) (0x036 + ((x) << 1))
#define IO_WIN_OAH(x) (0x037 + ((x) << 1))
#define MEM_WIN_SAU(x) (0x040 + (x))
#define IO_SETUP_TIM 0x080
#define IO_CMD_TIM 0x081
#define IO_HOLD_TIM 0x082
#define MEM_SETUP_TIM(x) (0x084 + ((x) << 2))
#define MEM_CMD_TIM(x) (0x085 + ((x) << 2))
#define MEM_HOLD_TIM(x) (0x086 + ((x) << 2))
#define TIM_CLOCKS(x) ((x) - 1)
#define MEM_TIM_SEL1 0x08c
#define MEM_TIM_SEL2 0x08d
#define MEM_WIN_TIMSEL1(x) (0x03 << (((x) & 3) << 1))
#define MEM_WIN_PWEN 0x091
#define POSTWEN 0x01
/*
* CardBus Socket Registers
*/
#define CARDBUS_SOCKET_REGS_BASE 0x000
#define CARDBUS_SOCKET_REGS_SIZE 0x800
#define SKT_EV 0x000
#define POW_CYC_EV 0x00000008
#define CCD2_EV 0x00000004
#define CCD1_EV 0x00000002
#define CSTSCHG_EV 0x00000001
#define SKT_MASK 0x004
#define POW_CYC_MASK 0x00000008
#define CCD_MASK 0x00000006
#define CSC_MASK 0x00000001
#define SKT_PRE_STATE 0x008
#define SKT_FORCE_EV 0x00c
#define VOL_3V_SKT 0x20000000
#define VOL_5V_SKT 0x10000000
#define CVS_TEST 0x00004000
#define VOL_YV_CARD_DT 0x00002000
#define VOL_XV_CARD_DT 0x00001000
#define VOL_3V_CARD_DT 0x00000800
#define VOL_5V_CARD_DT 0x00000400
#define BAD_VCC_REQ 0x00000200
#define DATA_LOST 0x00000100
#define NOT_A_CARD 0x00000080
#define CREADY 0x00000040
#define CB_CARD_DT 0x00000020
#define R2_CARD_DT 0x00000010
#define POW_UP 0x00000008
#define CCD20 0x00000004
#define CCD10 0x00000002
#define CSTSCHG 0x00000001
#define SKT_CNT 0x010
#define STP_CLK_EN 0x00000080
#define VCC_CNT_MASK 0x00000070
#define VCC_CNT_3V 0x00000030
#define VCC_CNT_5V 0x00000020
#define VCC_CNT_0V 0x00000000
#define VPP_CNT_MASK 0x00000007
#define VPP_CNT_3V 0x00000003
#define VPP_CNT_5V 0x00000002
#define VPP_CNT_12V 0x00000001
#define VPP_CNT_0V 0x00000000
typedef struct vrc4173_socket {
int noprobe;
struct pci_dev *dev;
void *base;
void (*handler)(void *, unsigned int);
void *info;
socket_cap_t cap;
spinlock_t event_lock;
uint16_t events;
struct socket_info_t *pcmcia_socket;
struct work_struct tq_work;
char name[20];
} vrc4173_socket_t;
#endif /* _VRC4173_CARDU_H */
/*
* include/asm-mips/vr41xx/cmbvr4133.h
*
* Include file for NEC CMB-VR4133.
*
* Author: Yoichi Yuasa <yyuasa@mvista.com, or source@mvista.com> and
* Jun Sun <jsun@mvista.com, or source@mvista.com> and
* Alex Sapkov <asapkov@ru.mvista.com>
*
* 2002-2004 (c) MontaVista, Software, Inc. This file is licensed under
* the terms of the GNU General Public License version 2. This program
* is licensed "as is" without any warranty of any kind, whether express
* or implied.
*/
#ifndef __NEC_CMBVR4133_H
#define __NEC_CMBVR4133_H
#include <asm/addrspace.h>
#include <asm/vr41xx/vr41xx.h>
/*
* General-Purpose I/O Pin Number
*/
#define CMBVR41XX_INTA_PIN 1
#define CMBVR41XX_INTB_PIN 1
#define CMBVR41XX_INTC_PIN 3
#define CMBVR41XX_INTD_PIN 1
#define CMBVR41XX_INTE_PIN 1
/*
* Interrupt Number
*/
#define CMBVR41XX_INTA_IRQ GIU_IRQ(CMBVR41XX_INTA_PIN)
#define CMBVR41XX_INTB_IRQ GIU_IRQ(CMBVR41XX_INTB_PIN)
#define CMBVR41XX_INTC_IRQ GIU_IRQ(CMBVR41XX_INTC_PIN)
#define CMBVR41XX_INTD_IRQ GIU_IRQ(CMBVR41XX_INTD_PIN)
#define CMBVR41XX_INTE_IRQ GIU_IRQ(CMBVR41XX_INTE_PIN)
#define I8259_IRQ_BASE 72
#define I8259_IRQ(x) (I8259_IRQ_BASE + (x))
#define TIMER_IRQ I8259_IRQ(0)
#define KEYBOARD_IRQ I8259_IRQ(1)
#define I8259_SLAVE_IRQ I8259_IRQ(2)
#define UART3_IRQ I8259_IRQ(3)
#define UART1_IRQ I8259_IRQ(4)
#define UART2_IRQ I8259_IRQ(5)
#define FDC_IRQ I8259_IRQ(6)
#define PARPORT_IRQ I8259_IRQ(7)
#define RTC_IRQ I8259_IRQ(8)
#define USB_IRQ I8259_IRQ(9)
#define I8259_INTA_IRQ I8259_IRQ(10)
#define AUDIO_IRQ I8259_IRQ(11)
#define AUX_IRQ I8259_IRQ(12)
#define IDE_PRIMARY_IRQ I8259_IRQ(14)
#define IDE_SECONDARY_IRQ I8259_IRQ(15)
#define I8259_IRQ_LAST IDE_SECONDARY_IRQ
#define RTC_PORT(x) (0xaf000100 + (x))
#define RTC_IO_EXTENT 0x140
#endif /* __NEC_CMBVR4133_H */
......@@ -5,6 +5,7 @@
* Copyright (C) 2001-2003 Montavista Software Inc.
* Author: Yoichi Yuasa <yyuasa@mvista.com, or source@mvista.com>
* Copyright (C) 2004 Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
* Copyright (C) 2005 Ralf Baechle (ralf@linux-mips.org)
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......@@ -23,6 +24,7 @@
#ifndef __NEC_VRC4173_H
#define __NEC_VRC4173_H
#include <linux/config.h>
#include <asm/io.h>
/*
......
......@@ -582,6 +582,7 @@
#define PCI_DEVICE_ID_NEC_CBUS_2 0x002d /* PCI-Cbus Bridge */
#define PCI_DEVICE_ID_NEC_USB 0x0035 /* PCI-USB Host */
#define PCI_DEVICE_ID_NEC_CBUS_3 0x003b
#define PCI_DEVICE_ID_NEC_NAPCCARD 0x003e
#define PCI_DEVICE_ID_NEC_PCX2 0x0046 /* PowerVR */
#define PCI_DEVICE_ID_NEC_NILE4 0x005a
#define PCI_DEVICE_ID_NEC_VRC5476 0x009b
......@@ -2334,6 +2335,7 @@
#define PCI_DEVICE_ID_INTEL_IXP4XX 0x8500
#define PCI_DEVICE_ID_INTEL_IXP2400 0x9001
#define PCI_DEVICE_ID_INTEL_IXP2800 0x9004
#define PCI_DEVICE_ID_INTEL_S21152BB 0xb152
#define PCI_VENDOR_ID_COMPUTONE 0x8e0e
#define PCI_DEVICE_ID_COMPUTONE_IP2EX 0x0291
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment