You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(165) |
Sep
(240) |
Oct
(424) |
Nov
(526) |
Dec
(293) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(242) |
Feb
(149) |
Mar
(143) |
Apr
(143) |
May
(76) |
Jun
(59) |
Jul
(20) |
Aug
(2) |
Sep
(49) |
Oct
(1) |
Nov
(4) |
Dec
|
2003 |
Jan
(1) |
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2004 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(3) |
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
(72) |
Jul
(36) |
Aug
(9) |
Sep
(16) |
Oct
(23) |
Nov
(9) |
Dec
(3) |
2010 |
Jan
|
Feb
(1) |
Mar
(35) |
Apr
(44) |
May
(56) |
Jun
(71) |
Jul
(41) |
Aug
(41) |
Sep
(22) |
Oct
(3) |
Nov
(1) |
Dec
(1) |
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2014 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
(1) |
Nov
(1) |
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2017 |
Jan
|
Feb
|
Mar
(1) |
Apr
(1) |
May
(1) |
Jun
|
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(25) |
Oct
(105) |
Nov
(15) |
Dec
|
2025 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
(4) |
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Leblanc f. <fle...@us...> - 2002-03-07 09:15:19
|
Update of /cvsroot/linux-mips/linux/arch/mips In directory usw-pr-cvs1:/tmp/cvs-serv3157/arch/mips Modified Files: config.in Log Message: Adds more VR stuff for Cassiopeia E15 Support. Index: config.in =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/config.in,v retrieving revision 1.86 retrieving revision 1.87 diff -u -d -r1.86 -r1.87 --- config.in 7 Mar 2002 03:16:52 -0000 1.86 +++ config.in 7 Mar 2002 09:15:15 -0000 1.87 @@ -467,7 +467,14 @@ define_bool CONFIG_ISA y define_bool CONFIG_NONCOHERENT_IO y define_bool CONFIG_DUMMY_KEYB y - define_bool CONFIG_FB_SIMPLE y + define_bool CONFIG_TOUCH_PANEL y + define_bool CONFIG_BUTTONS y + define_bool CONFIG_VR41XX_GPIO_BUTTONS y + define_bool CONFIG_VR41XX_E105_BUTTONS y + define_bool CONFIG_BUTTONS_DIRECT_POWEROFF n + define_bool CONFIG_VR41XX_LED y + define_bool CONFIG_ADIF y + define_bool CONFIG_GPIO_LCD y fi if [ "$CONFIG_HP_LASERJET" = "y" ]; then @@ -639,6 +646,17 @@ tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC if [ "$CONFIG_MIPS_AU1000" = "y" ]; then dep_bool 'Power Management support (experimental)' CONFIG_PM $CONFIG_EXPERIMENTAL +fi +if [ "$CONFIG_CASIO_E15" = "y" ]; then + bool 'Power Management support (experimental)' CONFIG_PM + if [ "$CONFIG_PM" = "y" ]; then + bool ' Support suspend/wakeup (VR41xx hibernate)' CONFIG_PM_SUSPEND_WAKEUP + bool ' Support non-volatile suspend (VR41xx suspend)' CONFIG_PM_POWERED_SUSPEND + bool ' Support standby (VR41xx standby)' CONFIG_PM_STANDBY + fi + if [ "$CONFIG_PROC_FS" = "y" ]; then + bool 'GPIO Diagnostic information on /proc/giuinfo' CONFIG_PROC_GIUINFO + fi fi dep_bool 'Support CPU clock change (EXPERIMENTAL)' CONFIG_CPU_FREQ $CONFIG_EXPERIMENTAL |
From: Paul M. <le...@us...> - 2002-03-07 03:17:25
|
Update of /cvsroot/linux-mips/linux/arch/mips/configs In directory usw-pr-cvs1:/tmp/cvs-serv28915/arch/mips/configs Modified Files: defconfig-eagle Added Files: defconfig-casio-e55 defconfig-mpc303 defconfig-workpad Log Message: Imported Yoichi-san's Vr41xx patch, with some minor modifications. --- NEW FILE: defconfig-casio-e55 --- # # Automatically generated make config: don't edit # CONFIG_MIPS=y # # Code maturity level options # CONFIG_EXPERIMENTAL=y # # Machine selection # # CONFIG_ACER_PICA_61 is not set # CONFIG_ALGOR_P4032 is not set # CONFIG_BAGET_MIPS is not set # CONFIG_MIPS_COBALT is not set # CONFIG_DECSTATION is not set # CONFIG_DDB5074 is not set # CONFIG_NEC_EAGLE is not set # CONFIG_NEC_KORVA is not set # CONFIG_MIPS_EV96100 is not set # CONFIG_MIPS_EV64120 is not set # CONFIG_MIPS_ATLAS is not set # CONFIG_MIPS_MALTA is not set # CONFIG_NINO is not set # CONFIG_SIBYTE_SB1250 is not set # CONFIG_PS2 is not set # CONFIG_CASIO_BE300 is not set # CONFIG_CASIO_E15 is not set # CONFIG_VADEM_CLIO_1000 is not set # CONFIG_NEC_MOBILEPRO is not set # CONFIG_IDT_79S334 is not set # CONFIG_IDT_79EB355 is not set # CONFIG_IBM_WORKPAD is not set CONFIG_CASIO_E55=y # CONFIG_VICTOR_MPC303 is not set # CONFIG_MIPS_MAGNUM_4000 is not set # CONFIG_MOMENCO_OCELOT is not set # CONFIG_DDB5476 is not set # CONFIG_DDB5477 is not set # CONFIG_NEC_OSPREY is not set # CONFIG_OLIVETTI_M700 is not set # CONFIG_SGI_IP22 is not set # CONFIG_SNI_RM200_PCI is not set # CONFIG_MIPS_ITE8172 is not set # CONFIG_MIPS_IVR is not set # CONFIG_MIPS_PB1000 is not set # CONFIG_MIPS_PB1500 is not set # CONFIG_TOSHIBA_JMR3927 is not set # CONFIG_HP_LASERJET is not set # CONFIG_HIGHMEM is not set CONFIG_RWSEM_GENERIC_SPINLOCK=y # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set # CONFIG_MCA is not set # CONFIG_SBUS is not set CONFIG_CPU_VR41XX=y CONFIG_VR4111=y CONFIG_NEW_IRQ=y CONFIG_IRQ_CPU=y CONFIG_NEW_TIME_C=y CONFIG_VR41XX_TIME_C=y CONFIG_NONCOHERENT_IO=y CONFIG_ISA=y CONFIG_SERIAL=y CONFIG_SERIAL_MANY_PORTS=y CONFIG_DUMMY_KEYB=y # CONFIG_SCSI is not set CONFIG_EISA=y # # Loadable module support # CONFIG_MODULES=y # CONFIG_MODVERSIONS is not set CONFIG_KMOD=y # # CPU selection # # CONFIG_CPU_R3000 is not set # CONFIG_CPU_TX39XX is not set # CONFIG_CPU_R6000 is not set CONFIG_CPU_VR41XX=y # CONFIG_CPU_R4300 is not set # CONFIG_CPU_R4X00 is not set # CONFIG_CPU_TX49XX is not set # CONFIG_CPU_R5000 is not set # CONFIG_CPU_R5432 is not set # CONFIG_CPU_R5900 is not set # CONFIG_CPU_RM7000 is not set # CONFIG_CPU_SR7100 is not set # CONFIG_CPU_NEVADA is not set # CONFIG_CPU_R10000 is not set # CONFIG_CPU_SB1 is not set # CONFIG_CPU_MIPS32 is not set # CONFIG_CPU_MIPS64 is not set # CONFIG_CPU_RC32300 is not set # CONFIG_CPU_ADVANCED is not set # CONFIG_CPU_HAS_LLSC is not set # CONFIG_CPU_HAS_LLDSCD is not set # CONFIG_CPU_HAS_WB is not set # # General setup # CONFIG_CPU_LITTLE_ENDIAN=y # CONFIG_CPU_R5900_CONTEXT is not set # CONFIG_VR4131_CACHE_FIX is not set # CONFIG_VR4122_CLKSPEEDREG_FIX is not set CONFIG_KCORE_ELF=y CONFIG_ELF_KERNEL=y # CONFIG_BINFMT_AOUT is not set CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_MISC is not set # CONFIG_CPU_FREQ is not set CONFIG_NET=y # CONFIG_HOTPLUG is not set # CONFIG_PCMCIA is not set # CONFIG_HOTPLUG_PCI is not set CONFIG_SYSVIPC=y # CONFIG_BSD_PROCESS_ACCT is not set CONFIG_SYSCTL=y # # Plug and Play configuration # # CONFIG_PNP is not set # CONFIG_ISAPNP is not set # # Memory Technology Devices (MTD) # # CONFIG_MTD is not set # # Parallel port support # # CONFIG_PARPORT is not set # # Block devices # # CONFIG_BLK_DEV_FD is not set # CONFIG_BLK_DEV_XD is not set # CONFIG_PARIDE is not set # 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_LOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_BLK_DEV_INITRD is not set # # Multi-device support (RAID and LVM) # # CONFIG_MD is not set # CONFIG_BLK_DEV_MD is not set # CONFIG_MD_LINEAR is not set # CONFIG_MD_RAID0 is not set # CONFIG_MD_RAID1 is not set # CONFIG_MD_RAID5 is not set # CONFIG_MD_MULTIPATH is not set # CONFIG_BLK_DEV_LVM is not set # # Networking options # CONFIG_PACKET=y CONFIG_PACKET_MMAP=y CONFIG_NETLINK_DEV=y # CONFIG_NETFILTER is not set # CONFIG_FILTER is not set CONFIG_UNIX=y CONFIG_INET=y CONFIG_IP_MULTICAST=y # CONFIG_IP_ADVANCED_ROUTER is not set # CONFIG_IP_PNP is not set # CONFIG_NET_IPIP is not set # CONFIG_NET_IPGRE is not set # CONFIG_IP_MROUTE is not set # CONFIG_ARPD is not set # CONFIG_INET_ECN is not set # CONFIG_SYN_COOKIES is not set # CONFIG_IPV6 is not set # CONFIG_KHTTPD is not set # CONFIG_ATM is not set # CONFIG_VLAN_8021Q is not set # # # # CONFIG_IPX is not set # CONFIG_ATALK is not set # CONFIG_DECNET is not set # CONFIG_BRIDGE is not set # CONFIG_X25 is not set # CONFIG_LAPB is not set # CONFIG_LLC is not set # CONFIG_NET_DIVERT is not set # CONFIG_ECONET is not set # CONFIG_WAN_ROUTER is not set # CONFIG_NET_FASTROUTE is not set # CONFIG_NET_HW_FLOWCONTROL is not set # # QoS and/or fair queueing # # CONFIG_NET_SCHED is not set # # Telephony Support # # CONFIG_PHONE is not set # CONFIG_PHONE_IXJ is not set # CONFIG_PHONE_IXJ_PCMCIA is not set # # ATA/IDE/MFM/RLL support # CONFIG_IDE=y # # IDE, ATA and ATAPI Block devices # CONFIG_BLK_DEV_IDE=y # # Please see Documentation/ide.txt for help/info on IDE drives # # CONFIG_BLK_DEV_HD_IDE is not set # CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_IDEDISK=y # CONFIG_IDEDISK_MULTI_MODE is not set # CONFIG_BLK_DEV_IDEDISK_VENDOR is not set # CONFIG_BLK_DEV_IDEDISK_FUJITSU is not set # CONFIG_BLK_DEV_IDEDISK_IBM is not set # CONFIG_BLK_DEV_IDEDISK_MAXTOR is not set # CONFIG_BLK_DEV_IDEDISK_QUANTUM is not set # CONFIG_BLK_DEV_IDEDISK_SEAGATE is not set # CONFIG_BLK_DEV_IDEDISK_WD is not set # CONFIG_BLK_DEV_COMMERIAL is not set # CONFIG_BLK_DEV_TIVO is not set # CONFIG_BLK_DEV_IDECS is not set # CONFIG_BLK_DEV_IDECD is not set # CONFIG_BLK_DEV_IDETAPE is not set # CONFIG_BLK_DEV_IDEFLOPPY is not set # CONFIG_BLK_DEV_IDESCSI is not set # # IDE chipset support/bugfixes # # CONFIG_BLK_DEV_CMD640 is not set # CONFIG_BLK_DEV_CMD640_ENHANCED is not set # CONFIG_BLK_DEV_ISAPNP is not set # CONFIG_IDE_CHIPSETS is not set # CONFIG_IDEDMA_AUTO is not set # CONFIG_DMA_NONPCI is not set # CONFIG_BLK_DEV_IDE_MODES is not set # CONFIG_BLK_DEV_ATARAID is not set # CONFIG_BLK_DEV_ATARAID_PDC is not set # CONFIG_BLK_DEV_ATARAID_HPT is not set # # SCSI support # # CONFIG_SCSI is not set # # I2O device support # # CONFIG_I2O is not set # CONFIG_I2O_BLOCK is not set # CONFIG_I2O_LAN is not set # CONFIG_I2O_SCSI is not set # CONFIG_I2O_PROC is not set # # Network device support # CONFIG_NETDEVICES=y # # ARCnet devices # # CONFIG_ARCNET is not set # CONFIG_DUMMY is not set # CONFIG_BONDING is not set # CONFIG_EQUALIZER is not set # CONFIG_TUN is not set # CONFIG_ETHERTAP is not set # # Ethernet (10 or 100Mbit) # # CONFIG_NET_ETHERNET is not set # # Ethernet (1000 Mbit) # # CONFIG_ACENIC is not set # CONFIG_DL2K is not set # CONFIG_MYRI_SBUS is not set # CONFIG_NS83820 is not set # CONFIG_HAMACHI is not set # CONFIG_YELLOWFIN is not set # CONFIG_SK98LIN is not set # CONFIG_FDDI is not set # CONFIG_HIPPI is not set # CONFIG_PLIP is not set # CONFIG_PPP is not set # CONFIG_SLIP is not set # # Wireless LAN (non-hamradio) # # CONFIG_NET_RADIO is not set # # Token Ring devices # # CONFIG_TR is not set # CONFIG_NET_FC is not set # CONFIG_RCPCI is not set # CONFIG_SHAPER is not set # # Wan interfaces # # CONFIG_WAN is not set # # Amateur Radio support # # CONFIG_HAMRADIO is not set # # IrDA (infrared) support # # CONFIG_IRDA is not set # # ISDN subsystem # # CONFIG_ISDN is not set # # Old CD-ROM drivers (not SCSI, not IDE) # # CONFIG_CD_NO_IDESCSI is not set # # Character devices # CONFIG_VT=y # CONFIG_VT_CONSOLE is not set CONFIG_SERIAL=y CONFIG_SERIAL_CONSOLE=y # CONFIG_SERIAL_EXTENDED is not set # CONFIG_SERIAL_NONSTANDARD is not set CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTY_COUNT=256 # # I2C support # # CONFIG_I2C is not set # # Mice # # CONFIG_BUSMOUSE is not set # CONFIG_MOUSE is not set # # Joysticks # # CONFIG_INPUT_GAMEPORT is not set # # Input core support is needed for gameports # # # Input core support is needed for joysticks # # CONFIG_QIC02_TAPE is not set # # Watchdog Cards # CONFIG_WATCHDOG=y # CONFIG_WATCHDOG_NOWAYOUT is not set # CONFIG_SOFT_WATCHDOG is not set # CONFIG_WDT is not set # CONFIG_WDTPCI is not set # CONFIG_PCWATCHDOG is not set # CONFIG_ACQUIRE_WDT is not set # CONFIG_ADVANTECH_WDT is not set # CONFIG_EUROTECH_WDT is not set # CONFIG_IB700_WDT is not set # CONFIG_I810_TCO is not set # CONFIG_MIXCOMWD is not set # CONFIG_60XX_WDT is not set # CONFIG_W83877F_WDT is not set # CONFIG_MACHZ_WDT is not set # CONFIG_INDYDOG is not set # CONFIG_VR41XX_WDT is not set # # Multimedia devices # # CONFIG_VIDEO_DEV is not set # # File systems # # CONFIG_QUOTA is not set CONFIG_AUTOFS_FS=y CONFIG_AUTOFS4_FS=y # CONFIG_REISERFS_FS is not set # CONFIG_REISERFS_CHECK is not set # CONFIG_REISERFS_PROC_INFO is not set # CONFIG_ADFS_FS is not set # CONFIG_ADFS_FS_RW is not set # CONFIG_AFFS_FS is not set # CONFIG_HFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EXT3_FS is not set # CONFIG_JBD is not set # CONFIG_JBD_DEBUG is not set CONFIG_FAT_FS=y CONFIG_MSDOS_FS=y # CONFIG_UMSDOS_FS is not set # CONFIG_VFAT_FS is not set # CONFIG_EFS_FS is not set # CONFIG_JFFS_FS is not set # CONFIG_JFFS2_FS is not set # CONFIG_CRAMFS is not set # CONFIG_TMPFS is not set # CONFIG_RAMFS is not set # CONFIG_ISO9660_FS is not set # CONFIG_JOLIET is not set # CONFIG_ZISOFS is not set # CONFIG_MINIX_FS is not set # CONFIG_VXFS_FS is not set # CONFIG_NTFS_FS is not set # CONFIG_NTFS_RW is not set # CONFIG_HPFS_FS is not set CONFIG_PROC_FS=y # CONFIG_DEVFS_FS is not set # CONFIG_DEVFS_MOUNT is not set # CONFIG_DEVFS_DEBUG is not set CONFIG_DEVPTS_FS=y # CONFIG_QNX4FS_FS is not set # CONFIG_QNX4FS_RW is not set # CONFIG_ROMFS_FS is not set CONFIG_EXT2_FS=y # CONFIG_SYSV_FS is not set # CONFIG_UDF_FS is not set # CONFIG_UDF_RW is not set # CONFIG_UFS_FS is not set # CONFIG_UFS_FS_WRITE is not set # # Network File Systems # # CONFIG_CODA_FS is not set # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_ROOT_NFS is not set CONFIG_NFSD=y # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y # CONFIG_SMB_FS is not set # CONFIG_NCP_FS is not set # CONFIG_NCPFS_PACKET_SIGNING is not set # CONFIG_NCPFS_IOCTL_LOCKING is not set # CONFIG_NCPFS_STRONG is not set # CONFIG_NCPFS_NFS_NS is not set # CONFIG_NCPFS_OS2_NS is not set # CONFIG_NCPFS_SMALLDOS is not set # CONFIG_NCPFS_NLS is not set # CONFIG_NCPFS_EXTRAS is not set # CONFIG_ZISOFS_FS is not set # CONFIG_ZLIB_FS_INFLATE is not set # # Partition Types # CONFIG_PARTITION_ADVANCED=y # CONFIG_ACORN_PARTITION is not set # CONFIG_OSF_PARTITION is not set # CONFIG_AMIGA_PARTITION is not set # CONFIG_ATARI_PARTITION is not set # CONFIG_MAC_PARTITION is not set CONFIG_MSDOS_PARTITION=y # CONFIG_BSD_DISKLABEL is not set # CONFIG_MINIX_SUBPARTITION is not set # CONFIG_SOLARIS_X86_PARTITION is not set # CONFIG_UNIXWARE_DISKLABEL is not set # CONFIG_LDM_PARTITION is not set CONFIG_SGI_PARTITION=y # CONFIG_ULTRIX_PARTITION is not set # CONFIG_SUN_PARTITION is not set # CONFIG_SMB_NLS is not set CONFIG_NLS=y # # Native Language Support # CONFIG_NLS_DEFAULT="iso8859-1" # CONFIG_NLS_CODEPAGE_437 is not set # CONFIG_NLS_CODEPAGE_737 is not set # CONFIG_NLS_CODEPAGE_775 is not set # CONFIG_NLS_CODEPAGE_850 is not set # CONFIG_NLS_CODEPAGE_852 is not set # CONFIG_NLS_CODEPAGE_855 is not set # CONFIG_NLS_CODEPAGE_857 is not set # CONFIG_NLS_CODEPAGE_860 is not set # CONFIG_NLS_CODEPAGE_861 is not set # CONFIG_NLS_CODEPAGE_862 is not set # CONFIG_NLS_CODEPAGE_863 is not set # CONFIG_NLS_CODEPAGE_864 is not set # CONFIG_NLS_CODEPAGE_865 is not set # CONFIG_NLS_CODEPAGE_866 is not set # CONFIG_NLS_CODEPAGE_869 is not set # CONFIG_NLS_CODEPAGE_936 is not set # CONFIG_NLS_CODEPAGE_950 is not set # CONFIG_NLS_CODEPAGE_932 is not set # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set # CONFIG_NLS_CODEPAGE_1250 is not set # CONFIG_NLS_CODEPAGE_1251 is not set # CONFIG_NLS_ISO8859_1 is not set # CONFIG_NLS_ISO8859_2 is not set # CONFIG_NLS_ISO8859_3 is not set # CONFIG_NLS_ISO8859_4 is not set # CONFIG_NLS_ISO8859_5 is not set # CONFIG_NLS_ISO8859_6 is not set # CONFIG_NLS_ISO8859_7 is not set # CONFIG_NLS_ISO8859_9 is not set # CONFIG_NLS_ISO8859_13 is not set # CONFIG_NLS_ISO8859_14 is not set # CONFIG_NLS_ISO8859_15 is not set # CONFIG_NLS_KOI8_R is not set # CONFIG_NLS_KOI8_U is not set # CONFIG_NLS_UTF8 is not set # # Console drivers # # CONFIG_VGA_CONSOLE is not set # CONFIG_MDA_CONSOLE is not set # # Frame-buffer support # # CONFIG_FB is not set # # Sound # # CONFIG_SOUND is not set # # USB support # # CONFIG_USB is not set # # USB Controllers # # CONFIG_USB_UHCI is not set # CONFIG_USB_UHCI_ALT is not set # CONFIG_USB_OHCI is not set # # USB Device Class drivers # # CONFIG_USB_AUDIO is not set # CONFIG_USB_BLUETOOTH is not set # # SCSI support is needed for USB Storage # # CONFIG_USB_STORAGE is not set # CONFIG_USB_STORAGE_DEBUG is not set # CONFIG_USB_STORAGE_DATAFAB is not set # CONFIG_USB_STORAGE_FREECOM is not set # CONFIG_USB_STORAGE_ISD200 is not set # CONFIG_USB_STORAGE_DPCM is not set # CONFIG_USB_STORAGE_HP8200e is not set # CONFIG_USB_STORAGE_SDDR09 is not set # CONFIG_USB_STORAGE_JUMPSHOT is not set # CONFIG_USB_ACM is not set # CONFIG_USB_PRINTER is not set # # USB Human Interface Devices (HID) # # # Input core support is needed for USB HID # # # USB Imaging devices # # CONFIG_USB_DC2XX is not set # CONFIG_USB_MDC800 is not set # CONFIG_USB_SCANNER is not set # CONFIG_USB_MICROTEK is not set # CONFIG_USB_HPUSBSCSI is not set # # USB Multimedia devices # # # Video4Linux support is needed for USB Multimedia device support # # # USB Network adaptors # # CONFIG_USB_PEGASUS is not set # CONFIG_USB_KAWETH is not set # CONFIG_USB_CATC is not set # CONFIG_USB_CDCETHER is not set # CONFIG_USB_USBNET is not set # # USB port drivers # # CONFIG_USB_USS720 is not set # # USB Serial Converter support # # CONFIG_USB_SERIAL is not set # CONFIG_USB_SERIAL_GENERIC is not set # CONFIG_USB_SERIAL_BELKIN is not set # CONFIG_USB_SERIAL_WHITEHEAT is not set # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set # CONFIG_USB_SERIAL_EMPEG is not set # CONFIG_USB_SERIAL_FTDI_SIO is not set # CONFIG_USB_SERIAL_VISOR is not set # CONFIG_USB_SERIAL_IPAQ is not set # CONFIG_USB_SERIAL_IR is not set # CONFIG_USB_SERIAL_EDGEPORT is not set # CONFIG_USB_SERIAL_KEYSPAN_PDA is not set # CONFIG_USB_SERIAL_KEYSPAN is not set # CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set # CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set # CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set # CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set # CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set # CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set # CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set # CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set # CONFIG_USB_SERIAL_MCT_U232 is not set # CONFIG_USB_SERIAL_KLSI is not set # CONFIG_USB_SERIAL_PL2303 is not set # CONFIG_USB_SERIAL_CYBERJACK is not set # CONFIG_USB_SERIAL_XIRCOM is not set # CONFIG_USB_SERIAL_OMNINET is not set # # USB Miscellaneous drivers # # CONFIG_USB_RIO500 is not set # # Input core support # # CONFIG_INPUT is not set # CONFIG_INPUT_KEYBDEV is not set # CONFIG_INPUT_MOUSEDEV is not set # CONFIG_INPUT_JOYDEV is not set # CONFIG_INPUT_EVDEV is not set # # Kernel hacking # CONFIG_CROSSCOMPILE=y # CONFIG_REMOTE_DEBUG is not set # CONFIG_GDB_CONSOLE is not set # CONFIG_DEBUG is not set # CONFIG_MAGIC_SYSRQ is not set # CONFIG_MIPS_UNCACHED is not set --- NEW FILE: defconfig-mpc303 --- # # Automatically generated make config: don't edit # CONFIG_MIPS=y # # Code maturity level options # CONFIG_EXPERIMENTAL=y # # Machine selection # # CONFIG_ACER_PICA_61 is not set # CONFIG_ALGOR_P4032 is not set # CONFIG_BAGET_MIPS is not set # CONFIG_MIPS_COBALT is not set # CONFIG_DECSTATION is not set # CONFIG_DDB5074 is not set # CONFIG_NEC_EAGLE is not set # CONFIG_NEC_KORVA is not set # CONFIG_MIPS_EV96100 is not set # CONFIG_MIPS_EV64120 is not set # CONFIG_MIPS_ATLAS is not set # CONFIG_MIPS_MALTA is not set # CONFIG_NINO is not set # CONFIG_SIBYTE_SB1250 is not set # CONFIG_PS2 is not set # CONFIG_CASIO_BE300 is not set # CONFIG_CASIO_E15 is not set # CONFIG_VADEM_CLIO_1000 is not set # CONFIG_NEC_MOBILEPRO is not set # CONFIG_IDT_79S334 is not set # CONFIG_IDT_79EB355 is not set # CONFIG_IBM_WORKPAD is not set # CONFIG_CASIO_E55 is not set CONFIG_VICTOR_MPC303=y # CONFIG_MIPS_MAGNUM_4000 is not set # CONFIG_MOMENCO_OCELOT is not set # CONFIG_DDB5476 is not set # CONFIG_DDB5477 is not set # CONFIG_NEC_OSPREY is not set # CONFIG_OLIVETTI_M700 is not set # CONFIG_SGI_IP22 is not set # CONFIG_SNI_RM200_PCI is not set # CONFIG_MIPS_ITE8172 is not set # CONFIG_MIPS_IVR is not set # CONFIG_MIPS_PB1000 is not set # CONFIG_MIPS_PB1500 is not set # CONFIG_TOSHIBA_JMR3927 is not set # CONFIG_HP_LASERJET is not set # CONFIG_HIGHMEM is not set CONFIG_RWSEM_GENERIC_SPINLOCK=y # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set # CONFIG_MCA is not set # CONFIG_SBUS is not set CONFIG_CPU_VR41XX=y CONFIG_VR4122=y CONFIG_NEW_IRQ=y CONFIG_IRQ_CPU=y CONFIG_NEW_TIME_C=y CONFIG_VR41XX_TIME_C=y CONFIG_NONCOHERENT_IO=y # CONFIG_ISA is not set CONFIG_PCI=y CONFIG_NEW_PCI=y CONFIG_PCI_AUTO=y CONFIG_DUMMY_KEYB=y # CONFIG_SCSI is not set # CONFIG_ISA is not set # CONFIG_EISA is not set # # Loadable module support # CONFIG_MODULES=y # CONFIG_MODVERSIONS is not set CONFIG_KMOD=y # # CPU selection # # CONFIG_CPU_R3000 is not set # CONFIG_CPU_TX39XX is not set # CONFIG_CPU_R6000 is not set CONFIG_CPU_VR41XX=y # CONFIG_CPU_R4300 is not set # CONFIG_CPU_R4X00 is not set # CONFIG_CPU_TX49XX is not set # CONFIG_CPU_R5000 is not set # CONFIG_CPU_R5432 is not set # CONFIG_CPU_R5900 is not set # CONFIG_CPU_RM7000 is not set # CONFIG_CPU_SR7100 is not set # CONFIG_CPU_NEVADA is not set # CONFIG_CPU_R10000 is not set # CONFIG_CPU_SB1 is not set # CONFIG_CPU_MIPS32 is not set # CONFIG_CPU_MIPS64 is not set # CONFIG_CPU_RC32300 is not set # CONFIG_CPU_ADVANCED is not set # CONFIG_CPU_HAS_LLSC is not set # CONFIG_CPU_HAS_LLDSCD is not set # CONFIG_CPU_HAS_WB is not set # # General setup # CONFIG_CPU_LITTLE_ENDIAN=y # CONFIG_CPU_R5900_CONTEXT is not set # CONFIG_VR4131_CACHE_FIX is not set CONFIG_KCORE_ELF=y CONFIG_ELF_KERNEL=y # CONFIG_BINFMT_AOUT is not set CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_MISC is not set # CONFIG_CPU_FREQ is not set CONFIG_NET=y # CONFIG_PCI_NAMES is not set # CONFIG_HOTPLUG is not set # CONFIG_PCMCIA is not set # CONFIG_HOTPLUG_PCI is not set CONFIG_SYSVIPC=y # CONFIG_BSD_PROCESS_ACCT is not set CONFIG_SYSCTL=y # # Memory Technology Devices (MTD) # # CONFIG_MTD is not set # # Parallel port support # # CONFIG_PARPORT is not set # # Block devices # # CONFIG_BLK_DEV_FD is not set # CONFIG_BLK_DEV_XD is not set # CONFIG_PARIDE is not set # 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_LOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_BLK_DEV_INITRD is not set # # Multi-device support (RAID and LVM) # # CONFIG_MD is not set # CONFIG_BLK_DEV_MD is not set # CONFIG_MD_LINEAR is not set # CONFIG_MD_RAID0 is not set # CONFIG_MD_RAID1 is not set # CONFIG_MD_RAID5 is not set # CONFIG_MD_MULTIPATH is not set # CONFIG_BLK_DEV_LVM is not set # # Networking options # CONFIG_PACKET=y CONFIG_PACKET_MMAP=y CONFIG_NETLINK_DEV=y # CONFIG_NETFILTER is not set # CONFIG_FILTER is not set CONFIG_UNIX=y CONFIG_INET=y CONFIG_IP_MULTICAST=y # CONFIG_IP_ADVANCED_ROUTER is not set # CONFIG_IP_PNP is not set # CONFIG_NET_IPIP is not set # CONFIG_NET_IPGRE is not set # CONFIG_IP_MROUTE is not set # CONFIG_ARPD is not set # CONFIG_INET_ECN is not set # CONFIG_SYN_COOKIES is not set # CONFIG_IPV6 is not set # CONFIG_KHTTPD is not set # CONFIG_ATM is not set # CONFIG_VLAN_8021Q is not set # # # # CONFIG_IPX is not set # CONFIG_ATALK is not set # CONFIG_DECNET is not set # CONFIG_BRIDGE is not set # CONFIG_X25 is not set # CONFIG_LAPB is not set # CONFIG_LLC is not set # CONFIG_NET_DIVERT is not set # CONFIG_ECONET is not set # CONFIG_WAN_ROUTER is not set # CONFIG_NET_FASTROUTE is not set # CONFIG_NET_HW_FLOWCONTROL is not set # # QoS and/or fair queueing # # CONFIG_NET_SCHED is not set # # Telephony Support # # CONFIG_PHONE is not set # CONFIG_PHONE_IXJ is not set # CONFIG_PHONE_IXJ_PCMCIA is not set # # ATA/IDE/MFM/RLL support # # CONFIG_IDE is not set # CONFIG_BLK_DEV_IDE_MODES is not set # CONFIG_BLK_DEV_HD is not set # # SCSI support # # CONFIG_SCSI is not set # # I2O device support # # CONFIG_I2O is not set # CONFIG_I2O_PCI is not set # CONFIG_I2O_BLOCK is not set # CONFIG_I2O_LAN is not set # CONFIG_I2O_SCSI is not set # CONFIG_I2O_PROC is not set # # Network device support # CONFIG_NETDEVICES=y # # ARCnet devices # # CONFIG_ARCNET is not set # CONFIG_DUMMY is not set # CONFIG_BONDING is not set # CONFIG_EQUALIZER is not set # CONFIG_TUN is not set # CONFIG_ETHERTAP is not set # # Ethernet (10 or 100Mbit) # # CONFIG_NET_ETHERNET is not set # # Ethernet (1000 Mbit) # # CONFIG_ACENIC is not set # CONFIG_DL2K is not set # CONFIG_MYRI_SBUS is not set # CONFIG_NS83820 is not set # CONFIG_HAMACHI is not set # CONFIG_YELLOWFIN is not set # CONFIG_SK98LIN is not set # CONFIG_FDDI is not set # CONFIG_HIPPI is not set # CONFIG_PLIP is not set # CONFIG_PPP is not set # CONFIG_SLIP is not set # # Wireless LAN (non-hamradio) # # CONFIG_NET_RADIO is not set # # Token Ring devices # # CONFIG_TR is not set # CONFIG_NET_FC is not set # CONFIG_RCPCI is not set # CONFIG_SHAPER is not set # # Wan interfaces # # CONFIG_WAN is not set # # Amateur Radio support # # CONFIG_HAMRADIO is not set # # IrDA (infrared) support # # CONFIG_IRDA is not set # # ISDN subsystem # # CONFIG_ISDN is not set # # Old CD-ROM drivers (not SCSI, not IDE) # # CONFIG_CD_NO_IDESCSI is not set # # Character devices # CONFIG_VT=y CONFIG_VT_CONSOLE=y CONFIG_SERIAL=y # CONFIG_SERIAL_CONSOLE is not set # CONFIG_SERIAL_EXTENDED is not set # CONFIG_SERIAL_NONSTANDARD is not set # CONFIG_VRC4173 is not set CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTY_COUNT=256 # # I2C support # # CONFIG_I2C is not set # # Mice # # CONFIG_BUSMOUSE is not set # CONFIG_MOUSE is not set # # Joysticks # # CONFIG_INPUT_GAMEPORT is not set # # Input core support is needed for gameports # # # Input core support is needed for joysticks # # CONFIG_QIC02_TAPE is not set # # Watchdog Cards # CONFIG_WATCHDOG=y # CONFIG_WATCHDOG_NOWAYOUT is not set # CONFIG_SOFT_WATCHDOG is not set # CONFIG_WDT is not set # CONFIG_WDTPCI is not set # CONFIG_PCWATCHDOG is not set # CONFIG_ACQUIRE_WDT is not set # CONFIG_ADVANTECH_WDT is not set # CONFIG_EUROTECH_WDT is not set # CONFIG_IB700_WDT is not set # CONFIG_I810_TCO is not set # CONFIG_MIXCOMWD is not set # CONFIG_60XX_WDT is not set # CONFIG_W83877F_WDT is not set # CONFIG_MACHZ_WDT is not set # CONFIG_INDYDOG is not set # CONFIG_VR41XX_WDT is not set # # Multimedia devices # # CONFIG_VIDEO_DEV is not set # # File systems # # CONFIG_QUOTA is not set CONFIG_AUTOFS_FS=y CONFIG_AUTOFS4_FS=y # CONFIG_REISERFS_FS is not set # CONFIG_REISERFS_CHECK is not set # CONFIG_REISERFS_PROC_INFO is not set # CONFIG_ADFS_FS is not set # CONFIG_ADFS_FS_RW is not set # CONFIG_AFFS_FS is not set # CONFIG_HFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EXT3_FS is not set # CONFIG_JBD is not set # CONFIG_JBD_DEBUG is not set CONFIG_FAT_FS=y CONFIG_MSDOS_FS=y # CONFIG_UMSDOS_FS is not set # CONFIG_VFAT_FS is not set # CONFIG_EFS_FS is not set # CONFIG_JFFS_FS is not set # CONFIG_JFFS2_FS is not set # CONFIG_CRAMFS is not set # CONFIG_TMPFS is not set # CONFIG_RAMFS is not set # CONFIG_ISO9660_FS is not set # CONFIG_JOLIET is not set # CONFIG_ZISOFS is not set # CONFIG_MINIX_FS is not set # CONFIG_VXFS_FS is not set # CONFIG_NTFS_FS is not set # CONFIG_NTFS_RW is not set # CONFIG_HPFS_FS is not set CONFIG_PROC_FS=y # CONFIG_DEVFS_FS is not set # CONFIG_DEVFS_MOUNT is not set # CONFIG_DEVFS_DEBUG is not set CONFIG_DEVPTS_FS=y # CONFIG_QNX4FS_FS is not set # CONFIG_QNX4FS_RW is not set # CONFIG_ROMFS_FS is not set CONFIG_EXT2_FS=y # CONFIG_SYSV_FS is not set # CONFIG_UDF_FS is not set # CONFIG_UDF_RW is not set # CONFIG_UFS_FS is not set # CONFIG_UFS_FS_WRITE is not set # # Network File Systems # # CONFIG_CODA_FS is not set # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_ROOT_NFS is not set CONFIG_NFSD=y # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y # CONFIG_SMB_FS is not set # CONFIG_NCP_FS is not set # CONFIG_NCPFS_PACKET_SIGNING is not set # CONFIG_NCPFS_IOCTL_LOCKING is not set # CONFIG_NCPFS_STRONG is not set # CONFIG_NCPFS_NFS_NS is not set # CONFIG_NCPFS_OS2_NS is not set # CONFIG_NCPFS_SMALLDOS is not set # CONFIG_NCPFS_NLS is not set # CONFIG_NCPFS_EXTRAS is not set # CONFIG_ZISOFS_FS is not set # CONFIG_ZLIB_FS_INFLATE is not set # # Partition Types # CONFIG_PARTITION_ADVANCED=y # CONFIG_ACORN_PARTITION is not set # CONFIG_OSF_PARTITION is not set # CONFIG_AMIGA_PARTITION is not set # CONFIG_ATARI_PARTITION is not set # CONFIG_MAC_PARTITION is not set CONFIG_MSDOS_PARTITION=y # CONFIG_BSD_DISKLABEL is not set # CONFIG_MINIX_SUBPARTITION is not set # CONFIG_SOLARIS_X86_PARTITION is not set # CONFIG_UNIXWARE_DISKLABEL is not set # CONFIG_LDM_PARTITION is not set CONFIG_SGI_PARTITION=y # CONFIG_ULTRIX_PARTITION is not set # CONFIG_SUN_PARTITION is not set # CONFIG_SMB_NLS is not set CONFIG_NLS=y # # Native Language Support # CONFIG_NLS_DEFAULT="iso8859-1" # CONFIG_NLS_CODEPAGE_437 is not set # CONFIG_NLS_CODEPAGE_737 is not set # CONFIG_NLS_CODEPAGE_775 is not set # CONFIG_NLS_CODEPAGE_850 is not set # CONFIG_NLS_CODEPAGE_852 is not set # CONFIG_NLS_CODEPAGE_855 is not set # CONFIG_NLS_CODEPAGE_857 is not set # CONFIG_NLS_CODEPAGE_860 is not set # CONFIG_NLS_CODEPAGE_861 is not set # CONFIG_NLS_CODEPAGE_862 is not set # CONFIG_NLS_CODEPAGE_863 is not set # CONFIG_NLS_CODEPAGE_864 is not set # CONFIG_NLS_CODEPAGE_865 is not set # CONFIG_NLS_CODEPAGE_866 is not set # CONFIG_NLS_CODEPAGE_869 is not set # CONFIG_NLS_CODEPAGE_936 is not set # CONFIG_NLS_CODEPAGE_950 is not set # CONFIG_NLS_CODEPAGE_932 is not set # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set # CONFIG_NLS_CODEPAGE_1250 is not set # CONFIG_NLS_CODEPAGE_1251 is not set # CONFIG_NLS_ISO8859_1 is not set # CONFIG_NLS_ISO8859_2 is not set # CONFIG_NLS_ISO8859_3 is not set # CONFIG_NLS_ISO8859_4 is not set # CONFIG_NLS_ISO8859_5 is not set # CONFIG_NLS_ISO8859_6 is not set # CONFIG_NLS_ISO8859_7 is not set # CONFIG_NLS_ISO8859_9 is not set # CONFIG_NLS_ISO8859_13 is not set # CONFIG_NLS_ISO8859_14 is not set # CONFIG_NLS_ISO8859_15 is not set # CONFIG_NLS_KOI8_R is not set # CONFIG_NLS_KOI8_U is not set # CONFIG_NLS_UTF8 is not set # # Console drivers # # CONFIG_VGA_CONSOLE is not set # CONFIG_MDA_CONSOLE is not set # # Frame-buffer support # CONFIG_FB=y CONFIG_DUMMY_CONSOLE=y # CONFIG_FB_RIVA is not set # CONFIG_FB_CLGEN is not set # CONFIG_FB_PM2 is not set # CONFIG_FB_CYBER2000 is not set # CONFIG_FB_E1355 is not set CONFIG_FB_MQ200=y # CONFIG_FB_MATROX is not set # CONFIG_FB_ATY is not set # CONFIG_FB_RADEON is not set # CONFIG_FB_ATY128 is not set # CONFIG_FB_SIS is not set # CONFIG_FB_3DFX is not set # CONFIG_FB_VOODOO1 is not set # CONFIG_FB_TRIDENT is not set # CONFIG_FB_E1356 is not set # CONFIG_FB_IT8181 is not set # CONFIG_FB_SIMPLE is not set # CONFIG_FB_VIRTUAL is not set CONFIG_FBCON_ADVANCED=y # CONFIG_FBCON_MFB is not set # CONFIG_FBCON_CFB2 is not set # CONFIG_FBCON_CFB4 is not set CONFIG_FBCON_CFB8=y CONFIG_FBCON_CFB16=y # CONFIG_FBCON_CFB24 is not set # CONFIG_FBCON_CFB32 is not set # CONFIG_FBCON_AFB is not set # CONFIG_FBCON_ILBM is not set # CONFIG_FBCON_IPLAN2P2 is not set # CONFIG_FBCON_IPLAN2P4 is not set # CONFIG_FBCON_IPLAN2P8 is not set # CONFIG_FBCON_MAC is not set # CONFIG_FBCON_VGA_PLANES is not set # CONFIG_FBCON_VGA is not set # CONFIG_FBCON_HGA is not set # CONFIG_FBCON_FONTWIDTH8_ONLY is not set CONFIG_FBCON_FONTS=y CONFIG_FONT_8x8=y CONFIG_FONT_8x16=y # CONFIG_FONT_SUN8x16 is not set # CONFIG_FONT_SUN12x22 is not set # CONFIG_FONT_6x11 is not set # CONFIG_FONT_PEARL_8x8 is not set # CONFIG_FONT_ACORN_8x8 is not set # # Sound # # CONFIG_SOUND is not set # # USB support # # CONFIG_USB is not set # # USB Controllers # # CONFIG_USB_UHCI is not set # CONFIG_USB_UHCI_ALT is not set # CONFIG_USB_OHCI is not set # # USB Device Class drivers # # CONFIG_USB_AUDIO is not set # CONFIG_USB_BLUETOOTH is not set # # SCSI support is needed for USB Storage # # CONFIG_USB_STORAGE is not set # CONFIG_USB_STORAGE_DEBUG is not set # CONFIG_USB_STORAGE_DATAFAB is not set # CONFIG_USB_STORAGE_FREECOM is not set # CONFIG_USB_STORAGE_ISD200 is not set # CONFIG_USB_STORAGE_DPCM is not set # CONFIG_USB_STORAGE_HP8200e is not set # CONFIG_USB_STORAGE_SDDR09 is not set # CONFIG_USB_STORAGE_JUMPSHOT is not set # CONFIG_USB_ACM is not set # CONFIG_USB_PRINTER is not set # # USB Human Interface Devices (HID) # # # Input core support is needed for USB HID # # # USB Imaging devices # # CONFIG_USB_DC2XX is not set # CONFIG_USB_MDC800 is not set # CONFIG_USB_SCANNER is not set # CONFIG_USB_MICROTEK is not set # CONFIG_USB_HPUSBSCSI is not set # # USB Multimedia devices # # # Video4Linux support is needed for USB Multimedia device support # # # USB Network adaptors # # CONFIG_USB_PEGASUS is not set # CONFIG_USB_KAWETH is not set # CONFIG_USB_CATC is not set # CONFIG_USB_CDCETHER is not set # CONFIG_USB_USBNET is not set # # USB port drivers # # CONFIG_USB_USS720 is not set # # USB Serial Converter support # # CONFIG_USB_SERIAL is not set # CONFIG_USB_SERIAL_GENERIC is not set # CONFIG_USB_SERIAL_BELKIN is not set # CONFIG_USB_SERIAL_WHITEHEAT is not set # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set # CONFIG_USB_SERIAL_EMPEG is not set # CONFIG_USB_SERIAL_FTDI_SIO is not set # CONFIG_USB_SERIAL_VISOR is not set # CONFIG_USB_SERIAL_IPAQ is not set # CONFIG_USB_SERIAL_IR is not set # CONFIG_USB_SERIAL_EDGEPORT is not set # CONFIG_USB_SERIAL_KEYSPAN_PDA is not set # CONFIG_USB_SERIAL_KEYSPAN is not set # CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set # CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set # CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set # CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set # CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set # CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set # CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set # CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set # CONFIG_USB_SERIAL_MCT_U232 is not set # CONFIG_USB_SERIAL_KLSI is not set # CONFIG_USB_SERIAL_PL2303 is not set # CONFIG_USB_SERIAL_CYBERJACK is not set # CONFIG_USB_SERIAL_XIRCOM is not set # CONFIG_USB_SERIAL_OMNINET is not set # # USB Miscellaneous drivers # # CONFIG_USB_RIO500 is not set # # Input core support # # CONFIG_INPUT is not set # CONFIG_INPUT_KEYBDEV is not set # CONFIG_INPUT_MOUSEDEV is not set # CONFIG_INPUT_JOYDEV is not set # CONFIG_INPUT_EVDEV is not set # # Kernel hacking # CONFIG_CROSSCOMPILE=y # CONFIG_REMOTE_DEBUG is not set # CONFIG_GDB_CONSOLE is not set # CONFIG_DEBUG is not set # CONFIG_MAGIC_SYSRQ is not set # CONFIG_MIPS_UNCACHED is not set --- NEW FILE: defconfig-workpad --- # # Automatically generated make config: don't edit # CONFIG_MIPS=y # # Code maturity level options # CONFIG_EXPERIMENTAL=y # # Machine selection # # CONFIG_ACER_PICA_61 is not set # CONFIG_ALGOR_P4032 is not set # CONFIG_BAGET_MIPS is not set # CONFIG_MIPS_COBALT is not set # CONFIG_DECSTATION is not set # CONFIG_DDB5074 is not set # CONFIG_NEC_EAGLE is not set # CONFIG_NEC_KORVA is not set # CONFIG_MIPS_EV96100 is not set # CONFIG_MIPS_EV64120 is not set # CONFIG_MIPS_ATLAS is not set # CONFIG_MIPS_MALTA is not set # CONFIG_NINO is not set # CONFIG_SIBYTE_SB1250 is not set # CONFIG_PS2 is not set # CONFIG_CASIO_BE300 is not set # CONFIG_CASIO_E15 is not set # CONFIG_VADEM_CLIO_1000 is not set # CONFIG_NEC_MOBILEPRO is not set # CONFIG_IDT_79S334 is not set # CONFIG_IDT_79EB355 is not set CONFIG_IBM_WORKPAD=y CONFIG_IBM_WORKPAD_MEM_SIZE=16 # CONFIG_CASIO_E55 is not set # CONFIG_VICTOR_MPC303 is not set # CONFIG_MIPS_MAGNUM_4000 is not set # CONFIG_MOMENCO_OCELOT is not set # CONFIG_DDB5476 is not set # CONFIG_DDB5477 is not set # CONFIG_NEC_OSPREY is not set # CONFIG_OLIVETTI_M700 is not set # CONFIG_SGI_IP22 is not set # CONFIG_SNI_RM200_PCI is not set # CONFIG_MIPS_ITE8172 is not set # CONFIG_MIPS_IVR is not set # CONFIG_MIPS_PB1000 is not set # CONFIG_MIPS_PB1500 is not set # CONFIG_TOSHIBA_JMR3927 is not set # CONFIG_HP_LASERJET is not set # CONFIG_HIGHMEM is not set CONFIG_RWSEM_GENERIC_SPINLOCK=y # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set # CONFIG_MCA is not set # CONFIG_SBUS is not set CONFIG_CPU_VR41XX=y CONFIG_VR4121=y CONFIG_NEW_IRQ=y CONFIG_IRQ_CPU=y CONFIG_NEW_TIME_C=y CONFIG_VR41XX_TIME_C=y CONFIG_NONCOHERENT_IO=y CONFIG_ISA=y CONFIG_SERIAL=y CONFIG_SERIAL_MANY_PORTS=y CONFIG_DUMMY_KEYB=y # CONFIG_SCSI is not set CONFIG_EISA=y # # Loadable module support # CONFIG_MODULES=y # CONFIG_MODVERSIONS is not set CONFIG_KMOD=y # # CPU selection # # CONFIG_CPU_R3000 is not set # CONFIG_CPU_TX39XX is not set # CONFIG_CPU_R6000 is not set CONFIG_CPU_VR41XX=y # CONFIG_CPU_R4300 is not set # CONFIG_CPU_R4X00 is not set # CONFIG_CPU_TX49XX is not set # CONFIG_CPU_R5000 is not set # CONFIG_CPU_R5432 is not set # CONFIG_CPU_R5900 is not set # CONFIG_CPU_RM7000 is not set # CONFIG_CPU_SR7100 is not set # CONFIG_CPU_NEVADA is not set # CONFIG_CPU_R10000 is not set # CONFIG_CPU_SB1 is not set # CONFIG_CPU_MIPS32 is not set # CONFIG_CPU_MIPS64 is not set # CONFIG_CPU_RC32300 is not set # CONFIG_CPU_ADVANCED is not set # CONFIG_CPU_HAS_LLSC is not set # CONFIG_CPU_HAS_LLDSCD is not set # CONFIG_CPU_HAS_WB is not set # # General setup # CONFIG_CPU_LITTLE_ENDIAN=y # CONFIG_CPU_R5900_CONTEXT is not set # CONFIG_VR4131_CACHE_FIX is not set # CONFIG_VR4122_CLKSPEEDREG_FIX is not set CONFIG_KCORE_ELF=y CONFIG_ELF_KERNEL=y # CONFIG_BINFMT_AOUT is not set CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_MISC is not set # CONFIG_CPU_FREQ is not set CONFIG_NET=y # CONFIG_HOTPLUG is not set # CONFIG_PCMCIA is not set # CONFIG_HOTPLUG_PCI is not set CONFIG_SYSVIPC=y # CONFIG_BSD_PROCESS_ACCT is not set CONFIG_SYSCTL=y # # Plug and Play configuration # # CONFIG_PNP is not set # CONFIG_ISAPNP is not set # # Memory Technology Devices (MTD) # # CONFIG_MTD is not set # # Parallel port support # # CONFIG_PARPORT is not set # # Block devices # # CONFIG_BLK_DEV_FD is not set # CONFIG_BLK_DEV_XD is not set # CONFIG_PARIDE is not set # 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_LOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set # CONFIG_BLK_DEV_INITRD is not set # # Multi-device support (RAID and LVM) # # CONFIG_MD is not set # CONFIG_BLK_DEV_MD is not set # CONFIG_MD_LINEAR is not set # CONFIG_MD_RAID0 is not set # CONFIG_MD_RAID1 is not set # CONFIG_MD_RAID5 is not set # CONFIG_MD_MULTIPATH is not set # CONFIG_BLK_DEV_LVM is not set # # Networking options # CONFIG_PACKET=y CONFIG_PACKET_MMAP=y CONFIG_NETLINK_DEV=y # CONFIG_NETFILTER is not set # CONFIG_FILTER is not set CONFIG_UNIX=y CONFIG_INET=y CONFIG_IP_MULTICAST=y # CONFIG_IP_ADVANCED_ROUTER is not set # CONFIG_IP_PNP is not set # CONFIG_NET_IPIP is not set # CONFIG_NET_IPGRE is not set # CONFIG_IP_MROUTE is not set # CONFIG_ARPD is not set # CONFIG_INET_ECN is not set # CONFIG_SYN_COOKIES is not set # CONFIG_IPV6 is not set # CONFIG_KHTTPD is not set # CONFIG_ATM is not set # CONFIG_VLAN_8021Q is not set # # # # CONFIG_IPX is not set # CONFIG_ATALK is not set # CONFIG_DECNET is not set # CONFIG_BRIDGE is not set # CONFIG_X25 is not set # CONFIG_LAPB is not set # CONFIG_LLC is not set # CONFIG_NET_DIVERT is not set # CONFIG_ECONET is not set # CONFIG_WAN_ROUTER is not set # CONFIG_NET_FASTROUTE is not set # CONFIG_NET_HW_FLOWCONTROL is not set # # QoS and/or fair queueing # # CONFIG_NET_SCHED is not set # # Telephony Support # # CONFIG_PHONE is not set # CONFIG_PHONE_IXJ is not set # CONFIG_PHONE_IXJ_PCMCIA is not set # # ATA/IDE/MFM/RLL support # CONFIG_IDE=y # # IDE, ATA and ATAPI Block devices # CONFIG_BLK_DEV_IDE=y # # Please see Documentation/ide.txt for help/info on IDE drives # # CONFIG_BLK_DEV_HD_IDE is not set # CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_IDEDISK=y # CONFIG_IDEDISK_MULTI_MODE is not set # CONFIG_BLK_DEV_IDEDISK_VENDOR is not set # CONFIG_BLK_DEV_IDEDISK_FUJITSU is not set # CONFIG_BLK_DEV_IDEDISK_IBM is not set # CONFIG_BLK_DEV_IDEDISK_MAXTOR is not set # CONFIG_BLK_DEV_IDEDISK_QUANTUM is not set # CONFIG_BLK_DEV_IDEDISK_SEAGATE is not set # CONFIG_BLK_DEV_IDEDISK_WD is not set # CONFIG_BLK_DEV_COMMERIAL is not set # CONFIG_BLK_DEV_TIVO is not set # CONFIG_BLK_DEV_IDECS is not set # CONFIG_BLK_DEV_IDECD is not set # CONFIG_BLK_DEV_IDETAPE is not set # CONFIG_BLK_DEV_IDEFLOPPY is not set # CONFIG_BLK_DEV_IDESCSI is not set # # IDE chipset support/bugfixes # # CONFIG_BLK_DEV_CMD640 is not set # CONFIG_BLK_DEV_CMD640_ENHANCED is not set # CONFIG_BLK_DEV_ISAPNP is not set # CONFIG_IDE_CHIPSETS is not set # CONFIG_IDEDMA_AUTO is not set # CONFIG_DMA_NONPCI is not set # CONFIG_BLK_DEV_IDE_MODES is not set # CONFIG_BLK_DEV_ATARAID is not set # CONFIG_BLK_DEV_ATARAID_PDC is not set # CONFIG_BLK_DEV_ATARAID_HPT is not set # # SCSI support # # CONFIG_SCSI is not set # # I2O device support # # CONFIG_I2O is not set # CONFIG_I2O_BLOCK is not set # CONFIG_I2O_LAN is not set # CONFIG_I2O_SCSI is not set # CONFIG_I2O_PROC is not set # # Network device support # CONFIG_NETDEVICES=y # # ARCnet devices # # CONFIG_ARCNET is not set # CONFIG_DUMMY is not set # CONFIG_BONDING is not set # CONFIG_EQUALIZER is not set # CONFIG_TUN is not set # CONFIG_ETHERTAP is not set # # Ethernet (10 or 100Mbit) # # CONFIG_NET_ETHERNET is not set # # Ethernet (1000 Mbit) # # CONFIG_ACENIC is not set # CONFIG_DL2K is not set # CONFIG_MYRI_SBUS is not set # CONFIG_NS83820 is not set # CONFIG_HAMACHI is not set # CONFIG_YELLOWFIN is not set # CONFIG_SK98LIN is not set # CONFIG_FDDI is not set # CONFIG_HIPPI is not set # CONFIG_PLIP is not set # CONFIG_PPP is not set # CONFIG_SLIP is not set # # Wireless LAN (non-hamradio) # # CONFIG_NET_RADIO is not set # # Token Ring devices # # CONFIG_TR is not set # CONFIG_NET_FC is not set # CONFIG_RCPCI is not set # CONFIG_SHAPER is not set # # Wan interfaces # # CONFIG_WAN is not set # # Amateur Radio support # # CONFIG_HAMRADIO is not set # # IrDA (infrared) support # # CONFIG_IRDA is not set # # ISDN subsystem # # CONFIG_ISDN is not set # # Old CD-ROM drivers (not SCSI, not IDE) # # CONFIG_CD_NO_IDESCSI is not set # # Character devices # CONFIG_VT=y # CONFIG_VT_CONSOLE is not set CONFIG_SERIAL=y CONFIG_SERIAL_CONSOLE=y # CONFIG_SERIAL_EXTENDED is not set # CONFIG_SERIAL_NONSTANDARD is not set CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTY_COUNT=256 # # I2C support # # CONFIG_I2C is not set # # Mice # # CONFIG_BUSMOUSE is not set # CONFIG_MOUSE is not set # # Joysticks # # CONFIG_INPUT_GAMEPORT is not set # # Input core support is needed for gameports # # # Input core support is needed for joysticks # # CONFIG_QIC02_TAPE is not set # # Watchdog Cards # CONFIG_WATCHDOG=y # CONFIG_WATCHDOG_NOWAYOUT is not set # CONFIG_SOFT_WATCHDOG is not set # CONFIG_WDT is not set # CONFIG_WDTPCI is not set # CONFIG_PCWATCHDOG is not set # CONFIG_ACQUIRE_WDT is not set # CONFIG_ADVANTECH_WDT is not set # CONFIG_EUROTECH_WDT is not set # CONFIG_IB700_WDT is not set # CONFIG_I810_TCO is not set # CONFIG_MIXCOMWD is not set # CONFIG_60XX_WDT is not set # CONFIG_W83877F_WDT is not set # CONFIG_MACHZ_WDT is not set # CONFIG_INDYDOG is not set # CONFIG_VR41XX_WDT is not set # # Multimedia devices # # CONFIG_VIDEO_DEV is not set # # File systems # # CONFIG_QUOTA is not set CONFIG_AUTOFS_FS=y CONFIG_AUTOFS4_FS=y # CONFIG_REISERFS_FS is not set # CONFIG_REISERFS_CHECK is not set # CONFIG_REISERFS_PROC_INFO is not set # CONFIG_ADFS_FS is not set # CONFIG_ADFS_FS_RW is not set # CONFIG_AFFS_FS is not set # CONFIG_HFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EXT3_FS is not set # CONFIG_JBD is not set # CONFIG_JBD_DEBUG is not set CONFIG_FAT_FS=y CONFIG_MSDOS_FS=y # CONFIG_UMSDOS_FS is not set # CONFIG_VFAT_FS is not set # CONFIG_EFS_FS is not set # CONFIG_JFFS_FS is not set # CONFIG_JFFS2_FS is not set # CONFIG_CRAMFS is not set # CONFIG_TMPFS is not set # CONFIG_RAMFS is not set # CONFIG_ISO9660_FS is not set # CONFIG_JOLIET is not set # CONFIG_ZISOFS is not set # CONFIG_MINIX_FS is not set # CONFIG_VXFS_FS is not set # CONFIG_NTFS_FS is not set # CONFIG_NTFS_RW is not set # CONFIG_HPFS_FS is not set CONFIG_PROC_FS=y # CONFIG_DEVFS_FS is not set # CONFIG_DEVFS_MOUNT is not set # CONFIG_DEVFS_DEBUG is not set CONFIG_DEVPTS_FS=y # CONFIG_QNX4FS_FS is not set # CONFIG_QNX4FS_RW is not set # CONFIG_ROMFS_FS is not set CONFIG_EXT2_FS=y # CONFIG_SYSV_FS is not set # CONFIG_UDF_FS is not set # CONFIG_UDF_RW is not set # CONFIG_UFS_FS is not set # CONFIG_UFS_FS_WRITE is not set # # Network File Systems # # CONFIG_CODA_FS is not set # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y # CONFIG_NFS_V3 is not set # CONFIG_ROOT_NFS is not set CONFIG_NFSD=y # CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y # CONFIG_SMB_FS is not set # CONFIG_NCP_FS is not set # CONFIG_NCPFS_PACKET_SIGNING is not set # CONFIG_NCPFS_IOCTL_LOCKING is not set # CONFIG_NCPFS_STRONG is not set # CONFIG_NCPFS_NFS_NS is not set # CONFIG_NCPFS_OS2_NS is not set # CONFIG_NCPFS_SMALLDOS is not set # CONFIG_NCPFS_NLS is not set # CONFIG_NCPFS_EXTRAS is not set # CONFIG_ZISOFS_FS is not set # CONFIG_ZLIB_FS_INFLATE is not set # # Partition Types # CONFIG_PARTITION_ADVANCED=y # CONFIG_ACORN_PARTITION is not set # CONFIG_OSF_PARTITION is not set # CONFIG_AMIGA_PARTITION is not set # CONFIG_ATARI_PARTITION is not set # CONFIG_MAC_PARTITION is not set CONFIG_MSDOS_PARTITION=y # CONFIG_BSD_DISKLABEL is not set # CONFIG_MINIX_SUBPARTITION is not set # CONFIG_SOLARIS_X86_PARTITION is not set # CONFIG_UNIXWARE_DISKLABEL is not set # CONFIG_LDM_PARTITION is not set CONFIG_SGI_PARTITION=y # CONFIG_ULTRIX_PARTITION is not set # CONFIG_SUN_PARTITION is not set # CONFIG_SMB_NLS is not set CONFIG_NLS=y # # Native Language Support # CONFIG_NLS_DEFAULT="iso8859-1" # CONFIG_NLS_CODEPAGE_437 is not set # CONFIG_NLS_CODEPAGE_737 is not set # CONFIG_NLS_CODEPAGE_775 is not set # CONFIG_NLS_CODEPAGE_850 is not set # CONFIG_NLS_CODEPAGE_852 is not set # CONFIG_NLS_CODEPAGE_855 is not set # CONFIG_NLS_CODEPAGE_857 is not set # CONFIG_NLS_CODEPAGE_860 is not set # CONFIG_NLS_CODEPAGE_861 is not set # CONFIG_NLS_CODEPAGE_862 is not set # CONFIG_NLS_CODEPAGE_863 is not set # CONFIG_NLS_CODEPAGE_864 is not set # CONFIG_NLS_CODEPAGE_865 is not set # CONFIG_NLS_CODEPAGE_866 is not set # CONFIG_NLS_CODEPAGE_869 is not set # CONFIG_NLS_CODEPAGE_936 is not set # CONFIG_NLS_CODEPAGE_950 is not set # CONFIG_NLS_CODEPAGE_932 is not set # CONFIG_NLS_CODEPAGE_949 is not set # CONFIG_NLS_CODEPAGE_874 is not set # CONFIG_NLS_ISO8859_8 is not set # CONFIG_NLS_CODEPAGE_1250 is not set # CONFIG_NLS_CODEPAGE_1251 is not set # CONFIG_NLS_ISO8859_1 is not set # CONFIG_NLS_ISO8859_2 is not set # CONFIG_NLS_ISO8859_3 is not set # CONFIG_NLS_ISO8859_4 is not set # CONFIG_NLS_ISO8859_5 is not set # CONFIG_NLS_ISO8859_6 is not set # CONFIG_NLS_ISO8859_7 is not set # CONFIG_NLS_ISO8859_9 is not set # CONFIG_NLS_ISO8859_13 is not set # CONFIG_NLS_ISO8859_14 is not set # CONFIG_NLS_ISO8859_15 is not set # CONFIG_NLS_KOI8_R is not set # CONFIG_NLS_KOI8_U is not set # CONFIG_NLS_UTF8 is not set # # Console drivers # # CONFIG_VGA_CONSOLE is not set # CONFIG_MDA_CONSOLE is not set # # Frame-buffer support # # CONFIG_FB is not set # # Sound # # CONFIG_SOUND is not set # # USB support # # CONFIG_USB is not set # # USB Controllers # # CONFIG_USB_UHCI is not set # CONFIG_USB_UHCI_ALT is not set # CONFIG_USB_OHCI is not set # # USB Device Class drivers # # CONFIG_USB_AUDIO is not set # CONFIG_USB_BLUETOOTH is not set # # SCSI support is needed for USB Storage # # CONFIG_USB_STORAGE is not set # CONFIG_USB_STORAGE_DEBUG is not set # CONFIG_USB_STORAGE_DATAFAB is not set # CONFIG_USB_STORAGE_FREECOM is not set # CONFIG_USB_STORAGE_ISD200 is not set # CONFIG_USB_STORAGE_DPCM is not set # CONFIG_USB_STORAGE_HP8200e is not set # CONFIG_USB_STORAGE_SDDR09 is not set # CONFIG_USB_STORAGE_JUMPSHOT is not set # CONFIG_USB_ACM is not set # CONFIG_USB_PRINTER is not set # # USB Human Interface Devices (HID) # # # Input core support is needed for USB HID # # # USB Imaging devices # # CONFIG_USB_DC2XX is not set # CONFIG_USB_MDC800 is not set # CONFIG_USB_SCANNER is not set # CONFIG_USB_MICROTEK is not set # CONFIG_USB_HPUSBSCSI is not set # # USB Multimedia devices # # # Video4Linux support is needed for USB Multimedia device support # # # USB Network adaptors # # CONFIG_USB_PEGASUS is not set # CONFIG_USB_KAWETH is not set # CONFIG_USB_CATC is not set # CONFIG_USB_CDCETHER is not set # CONFIG_USB_USBNET is not set # # USB port drivers # # CONFIG_USB_USS720 is not set # # USB Serial Converter support # # CONFIG_USB_SERIAL is not set # CONFIG_USB_SERIAL_GENERIC is not set # CONFIG_USB_SERIAL_BELKIN is not set # CONFIG_USB_SERIAL_WHITEHEAT is not set # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set # CONFIG_USB_SERIAL_EMPEG is not set # CONFIG_USB_SERIAL_FTDI_SIO is not set # CONFIG_USB_SERIAL_VISOR is not set # CONFIG_USB_SERIAL_IPAQ is not set # CONFIG_USB_SERIAL_IR is not set # CONFIG_USB_SERIAL_EDGEPORT is not set # CONFIG_USB_SERIAL_KEYSPAN_PDA is not set # CONFIG_USB_SERIAL_KEYSPAN is not set # CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set # CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set # CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set # CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set # CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set # CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set # CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set # CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set # CONFIG_USB_SERIAL_MCT_U232 is not set # CONFIG_USB_SERIAL_KLSI is not set # CONFIG_USB_SERIAL_PL2303 is not set # CONFIG_USB_SERIAL_CYBERJACK is not set # CONFIG_USB_SERIAL_XIRCOM is not set # CONFIG_USB_SERIAL_OMNINET is not set # # USB Miscellaneous drivers # # CONFIG_USB_RIO500 is not set # # Input core support # # CONFIG_INPUT is not set # CONFIG_INPUT_KEYBDEV is not set # CONFIG_INPUT_MOUSEDEV is not set # CONFIG_INPUT_JOYDEV is not set # CONFIG_INPUT_EVDEV is not set # # Kernel hacking # CONFIG_CROSSCOMPILE=y # CONFIG_REMOTE_DEBUG is not set # CONFIG_GDB_CONSOLE is not set # CONFIG_DEBUG is not set # CONFIG_MAGIC_SYSRQ is not set # CONFIG_MIPS_UNCACHED is not set Index: defconfig-eagle =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/configs/defconfig-eagle,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- defconfig-eagle 12 Feb 2002 18:21:25 -0000 1.13 +++ defconfig-eagle 7 Mar 2002 03:16:52 -0000 1.14 @@ -33,6 +33,9 @@ # CONFIG_NEC_MOBILEPRO is not set # CONFIG_IDT_79S334 is not set # CONFIG_IDT_79EB355 is not set +# CONFIG_IBM_WORKPAD is not set +# CONFIG_CASIO_E55 is not set +# CONFIG_VICTOR_MPC303 is not set # CONFIG_MIPS_MAGNUM_4000 is not set # CONFIG_MOMENCO_OCELOT is not set # CONFIG_DDB5476 is not set @@ -55,12 +58,16 @@ CONFIG_CPU_VR41XX=y CONFIG_VR4122=y CONFIG_NEW_IRQ=y +CONFIG_IRQ_CPU=y CONFIG_NEW_TIME_C=y -CONFIG_VR4122_TIME_C=y +CONFIG_VR41XX_TIME_C=y CONFIG_NONCOHERENT_IO=y +# CONFIG_ISA is not set CONFIG_PCI=y CONFIG_NEW_PCI=y CONFIG_PCI_AUTO=y +CONFIG_DUMMY_KEYB=y +# CONFIG_SCSI is not set # CONFIG_ISA is not set # CONFIG_EISA is not set @@ -103,6 +110,7 @@ CONFIG_CPU_LITTLE_ENDIAN=y # CONFIG_CPU_R5900_CONTEXT is not set # CONFIG_VR4131_CACHE_FIX is not set +CONFIG_VR4122_CLKSPEEDREG_FIX=y CONFIG_KCORE_ELF=y CONFIG_ELF_KERNEL=y # CONFIG_BINFMT_AOUT is not set @@ -111,24 +119,9 @@ # CONFIG_CPU_FREQ is not set CONFIG_NET=y # CONFIG_PCI_NAMES is not set -CONFIG_HOTPLUG=y - -# -# PCMCIA/CardBus support -# -CONFIG_PCMCIA=y -CONFIG_CARDBUS=y -# CONFIG_I82092 is not set -# CONFIG_I82365 is not set -# CONFIG_PCMCIA_IRQ_REMAP is not set -# CONFIG_TCIC is not set - -# -# PCI Hotplug Support -# +# CONFIG_HOTPLUG is not set +# CONFIG_PCMCIA is not set # CONFIG_HOTPLUG_PCI is not set -# CONFIG_HOTPLUG_PCI_COMPAQ is not set -# CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM is not set CONFIG_SYSVIPC=y # CONFIG_BSD_PROCESS_ACCT is not set CONFIG_SYSCTL=y @@ -152,10 +145,9 @@ # 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_LOOP=y +# CONFIG_BLK_DEV_LOOP is not set # CONFIG_BLK_DEV_NBD is not set -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_SIZE=4096 +# CONFIG_BLK_DEV_RAM is not set # CONFIG_BLK_DEV_INITRD is not set # @@ -228,80 +220,9 @@ # # ATA/IDE/MFM/RLL support # -CONFIG_IDE=y - -# -# IDE, ATA and ATAPI Block devices -# -CONFIG_BLK_DEV_IDE=y - -# -# Please see Documentation/ide.txt for help/info on IDE drives -# -# CONFIG_BLK_DEV_HD_IDE is not set -# CONFIG_BLK_DEV_HD is not set -CONFIG_BLK_DEV_IDEDISK=y -CONFIG_IDEDISK_MULTI_MODE=y -# CONFIG_BLK_DEV_IDEDISK_VENDOR is not set -# CONFIG_BLK_DEV_IDEDISK_FUJITSU is not set -# CONFIG_BLK_DEV_IDEDISK_IBM is not set -# CONFIG_BLK_DEV_IDEDISK_MAXTOR is not set -# CONFIG_BLK_DEV_IDEDISK_QUANTUM is not set -# CONFIG_BLK_DEV_IDEDISK_SEAGATE is not set -# CONFIG_BLK_DEV_IDEDISK_WD is not set -# CONFIG_BLK_DEV_COMMERIAL is not set -# CONFIG_BLK_DEV_TIVO is not set -# CONFIG_BLK_DEV_IDECS is not set -# CONFIG_BLK_DEV_IDECD is not set -# CONFIG_BLK_DEV_IDETAPE is not set -# CONFIG_BLK_DEV_IDEFLOPPY is not set -# CONFIG_BLK_DEV_IDESCSI is not set - -# -# IDE chipset support/bugfixes -# -# CONFIG_BLK_DEV_CMD640 is not set -# CONFIG_BLK_DEV_CMD640_ENHANCED is not set -# CONFIG_BLK_DEV_ISAPNP is not set -# CONFIG_BLK_DEV_RZ1000 is not set -CONFIG_BLK_DEV_IDEPCI=y -CONFIG_IDEPCI_SHARE_IRQ=y -# CONFIG_BLK_DEV_IDEDMA_PCI is not set -# CONFIG_BLK_DEV_ADMA is not set -# CONFIG_BLK_DEV_OFFBOARD is not set -# CONFIG_IDEDMA_PCI_AUTO is not set -# CONFIG_BLK_DEV_IDEDMA is not set -# CONFIG_IDEDMA_PCI_WIP is not set -# CONFIG_IDEDMA_NEW_DRIVE_LISTINGS is not set -# CONFIG_BLK_DEV_AEC62XX is not set -# CONFIG_AEC62XX_TUNING is not set -# CONFIG_BLK_DEV_ALI15X3 is not set -# CONFIG_WDC_ALI15X3 is not set -# CONFIG_BLK_DEV_AMD74XX is not set -# CONFIG_AMD74XX_OVERRIDE is not set -# CONFIG_BLK_DEV_CMD64X is not set -# CONFIG_BLK_DEV_CY82C693 is not set -# CONFIG_BLK_DEV_CS5530 is not set -# CONFIG_BLK_DEV_HPT34X is not set -# CONFIG_HPT34X_AUTODMA is not set -# CONFIG_BLK_DEV_HPT366 is not set -# CONFIG_BLK_DEV_NS87415 is not set -# CONFIG_BLK_DEV_OPTI621 is not set -# CONFIG_BLK_DEV_PDC202XX is not set -# CONFIG_PDC202XX_BURST is not set -# CONFIG_PDC202XX_FORCE is not set -# CONFIG_BLK_DEV_SVWKS is not set -# CONFIG_BLK_DEV_SIS5513 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_IDE_CHIPSETS is not set -# CONFIG_IDEDMA_AUTO is not set -# CONFIG_DMA_NONPCI is not set +# CONFIG_IDE is not set # CONFIG_BLK_DEV_IDE_MODES is not set -# CONFIG_BLK_DEV_ATARAID is not set -# CONFIG_BLK_DEV_ATARAID_PDC is not set -# CONFIG_BLK_DEV_ATARAID_HPT is not set +# CONFIG_BLK_DEV_HD is not set # # SCSI support @@ -331,6 +252,7 @@ # CONFIG_BONDING is not set # CONFIG_EQUALIZER is not set # CONFIG_TUN is not set +# CONFIG_ETHERTAP is not set # # Ethernet (10 or 100Mbit) @@ -340,7 +262,6 @@ # CONFIG_HAPPYMEAL is not set # CONFIG_SUNBMAC is not set # CONFIG_SUNQE is not set -# CONFIG_SUNLANCE is not set # CONFIG_SUNGEM is not set # CONFIG_NET_VENDOR_3COM is not set # CONFIG_LANCE is not set @@ -353,10 +274,10 @@ # CONFIG_ADAPTEC_STARFIRE is not set # CONFIG_APRICOT is not set # CONFIG_CS89x0 is not set +# CONFIG_TC35815 is not set # CONFIG_TULIP is not set # CONFIG_DE4X5 is not set # CONFIG_DGRS is not set -# CONFIG_TC35815 is not set # CONFIG_DM9102 is not set # CONFIG_EEPRO100 is not set # CONFIG_LNE390 is not set @@ -370,6 +291,7 @@ # CONFIG_8139TOO_PIO is not set # CONFIG_8139TOO_TUNE_TWISTER is not set # CONFIG_8139TOO_8129 is not set +# CONFIG_8139_NEW_RX_RESET is not set # CONFIG_SIS900 is not set # CONFIG_EPIC100 is not set # CONFIG_SUNDANCE is not set @@ -415,11 +337,6 @@ # CONFIG_WAN is not set # -# PCMCIA network device support -# -# CONFIG_NET_PCMCIA is not set - -# # Amateur Radio support # # CONFIG_HAMRADIO is not set @@ -443,14 +360,12 @@ # Character devices # CONFIG_VT=y -CONFIG_VT_CONSOLE=y +# CONFIG_VT_CONSOLE is not set CONFIG_SERIAL=y -# CONFIG_SERIAL_CONSOLE is not set +CONFIG_SERIAL_CONSOLE=y # CONFIG_SERIAL_EXTENDED is not set # CONFIG_SERIAL_NONSTANDARD is not set -CONFIG_VRC4173=y -CONFIG_VRC4173_PS2U=y -CONFIG_VRC4173_PIU=y +# CONFIG_VRC4173 is not set CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTY_COUNT=256 @@ -463,10 +378,7 @@ # Mice # # CONFIG_BUSMOUSE is not set -CONFIG_MOUSE=y -CONFIG_PSMOUSE=y -# CONFIG_82C710_MOUSE is not set -# CONFIG_PC110_PAD is not set +# CONFIG_MOUSE is not set # # Joysticks @@ -507,26 +419,23 @@ # # Watchdog Cards # -# CONFIG_WATCHDOG is not set -# CONFIG_INTEL_RNG is not set -# CONFIG_NVRAM is not set -# CONFIG_RTC is not set -# CONFIG_MIPS_RTC is not set -# CONFIG_DTLK is not set -# CONFIG_R3964 is not set -# CONFIG_APPLICOM is not set - -# -# Ftape, the floppy tape device driver -# -# CONFIG_FTAPE is not set -# CONFIG_AGP is not set -# CONFIG_DRM is not set - -# -# PCMCIA character devices -# -# CONFIG_PCMCIA_SERIAL_CS is not set +CONFIG_WATCHDOG=y +# CONFIG_WATCHDOG_NOWAYOUT is not set +# CONFIG_SOFT_WATCHDOG is not set +# CONFIG_WDT is not set +# CONFIG_WDTPCI is not set +# CONFIG_PCWATCHDOG is not set +# CONFIG_ACQUIRE_WDT is not set +# CONFIG_ADVANTECH_WDT is not set +# CONFIG_EUROTECH_WDT is not set +# CONFIG_IB700_WDT is not set +# CONFIG_I810_TCO is not set +# CONFIG_MIXCOMWD is not set +# CONFIG_60XX_WDT is not set +# CONFIG_W83877F_WDT is not set +# CONFIG_MACHZ_WDT is not set +# CONFIG_INDYDOG is not set +# CONFIG_VR41XX_WDT is not set # # Multimedia devices @@ -560,7 +469,7 @@ # CONFIG_CRAMFS is not set # CONFIG_TMPFS is not set # CONFIG_RAMFS is not set -CONFIG_ISO9660_FS=y +# CONFIG_ISO9660_FS is not set # CONFIG_JOLIET is not set # CONFIG_ZISOFS is not set # CONFIG_MINIX_FS is not set @@ -589,13 +498,12 @@ # CONFIG_CODA_FS is not set # CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y -CONFIG_NFS_V3=y +# CONFIG_NFS_V3 is not set CONFIG_ROOT_NFS=y CONFIG_NFSD=y -CONFIG_NFSD_V3=y +# CONFIG_NFSD_V3 is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y -CONFIG_LOCKD_V4=y # CONFIG_SMB_FS is not set # CONFIG_NCP_FS is not set # CONFIG_NCPFS_PACKET_SIGNING is not set @@ -654,6 +562,7 @@ # CONFIG_FB_SIS is not set # CONFIG_FB_3DFX is not set # CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_TRIDENT is not set # CONFIG_FB_E1356 is not set # CONFIG_FB_IT8181 is not set # CONFIG_FB_SIMPLE is not set @@ -664,8 +573,8 @@ # CONFIG_FBCON_CFB4 is not set CONFIG_FBCON_CFB8=y CONFIG_FBCON_CFB16=y -CONFIG_FBCON_CFB24=y -CONFIG_FBCON_CFB32=y +# CONFIG_FBCON_CFB24 is not set +# CONFIG_FBCON_CFB32 is not set # CONFIG_FBCON_AFB is not set # CONFIG_FBCON_ILBM is not set # CONFIG_FBCON_IPLAN2P2 is not set @@ -699,9 +608,9 @@ # # Miscellaneous USB options # -CONFIG_USB_DEVICEFS=y -CONFIG_USB_BANDWIDTH=y -CONFIG_USB_LONG_TIMEOUT=y +# CONFIG_USB_DEVICEFS is not set +# CONFIG_USB_BANDWIDTH is not set +# CONFIG_USB_LONG_TIMEOUT is not set # # USB Controllers @@ -715,6 +624,10 @@ # # CONFIG_USB_AUDIO is not set # CONFIG_USB_BLUETOOTH is not set + +# +# SCSI support is needed for USB Storage +# # CONFIG_USB_STORAGE is not set # CONFIG_USB_STORAGE_DEBUG is not set # CONFIG_USB_STORAGE_DATAFAB is not set @@ -776,6 +689,7 @@ # CONFIG_USB_SERIAL_EMPEG is not set # CONFIG_USB_SERIAL_FTDI_SIO is not set # CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_IPAQ is not set # CONFIG_USB_SERIAL_IR is not set # CONFIG_USB_SERIAL_EDGEPORT is not set # CONFIG_USB_SERIAL_KEYSPAN_PDA is not set @@ -789,6 +703,7 @@ # CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set # CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set # CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_KLSI is not set # CONFIG_USB_SERIAL_PL2303 is not set # CONFIG_USB_SERIAL_CYBERJACK is not set # CONFIG_USB_SERIAL_XIRCOM is not set |
From: Paul M. <le...@us...> - 2002-03-07 03:17:25
|
Update of /cvsroot/linux-mips/linux/arch/mips/kernel In directory usw-pr-cvs1:/tmp/cvs-serv28915/arch/mips/kernel Modified Files: pci_auto.c setup.c Log Message: Imported Yoichi-san's Vr41xx patch, with some minor modifications. Index: pci_auto.c =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/kernel/pci_auto.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- pci_auto.c 27 Nov 2001 00:29:25 -0000 1.4 +++ pci_auto.c 7 Mar 2002 03:16:53 -0000 1.5 @@ -256,6 +256,9 @@ { u32 temp; + pciauto_lower_memspc += 1; + pciauto_lower_iospc += 1; + /* Configure bus number registers */ early_write_config_byte(hose, top_bus, current_bus, pci_devfn, PCI_SUBORDINATE_BUS, sub_bus); Index: setup.c =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/kernel/setup.c,v retrieving revision 1.50 retrieving revision 1.51 diff -u -d -r1.50 -r1.51 --- setup.c 12 Feb 2002 18:14:18 -0000 1.50 +++ setup.c 7 Mar 2002 03:16:53 -0000 1.51 @@ -713,7 +713,6 @@ void momenco_ocelot_setup(void); void nino_setup(void); void nec_osprey_setup(void); - void nec_eagle_setup(void); void nec_korva_setup(void); void ps2_setup(void); void clio_1000_setup(void); @@ -725,6 +724,7 @@ void hp_setup(void); void idt_setup(void); void casio_be300_setup(void); + void nec_vr41xx_setup(void); unsigned long bootmap_size; unsigned long start_pfn, max_pfn, max_low_pfn, first_usable_pfn; @@ -816,11 +816,6 @@ nec_osprey_setup(); break; #endif -#ifdef CONFIG_NEC_EAGLE - case MACH_GROUP_NEC_VR41XX: - nec_eagle_setup(); - break; -#endif #ifdef CONFIG_NEC_KORVA case MACH_GROUP_NEC_VR41XX: nec_korva_setup(); @@ -844,6 +839,11 @@ #ifdef CONFIG_CASIO_BE300 case MACH_GROUP_NEC_VR41XX: casio_be300_setup(); + break; +#endif +#ifdef CONFIG_CPU_VR41XX + case MACH_GROUP_NEC_VR41XX: + nec_vr41xx_setup(); break; #endif #ifdef CONFIG_MIPS_EV96100 |
From: Paul M. <le...@us...> - 2002-03-07 03:17:25
|
Update of /cvsroot/linux-mips/linux/arch/mips In directory usw-pr-cvs1:/tmp/cvs-serv28915/arch/mips Modified Files: Makefile config.in Log Message: Imported Yoichi-san's Vr41xx patch, with some minor modifications. Index: Makefile =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/Makefile,v retrieving revision 1.39 retrieving revision 1.40 diff -u -d -r1.39 -r1.40 --- Makefile 19 Jan 2002 21:17:35 -0000 1.39 +++ Makefile 7 Mar 2002 03:16:52 -0000 1.40 @@ -245,12 +245,15 @@ endif # -# NEC Eagle (vr4122) board +# NEC Eagle board (VR4122) # ifdef CONFIG_NEC_EAGLE -SUBDIRS += arch/mips/vr4122/common arch/mips/vr4122/eagle -LIBS += arch/mips/vr4122/common/vr4122.o \ - arch/mips/vr4122/eagle/eagle.o +SUBDIRS += arch/mips/vr41xx/common \ + arch/mips/vr41xx/vr4122/common \ + arch/mips/vr41xx/vr4122/eagle +LIBS += arch/mips/vr41xx/common/vr41xx.o \ + arch/mips/vr41xx/vr4122/common/vr4122.o\ + arch/mips/vr41xx/vr4122/eagle/eagle.o LOADADDR += 0x80004000 endif @@ -263,6 +266,46 @@ LOADADDR += 0x80002000 endif +# +# IBM WorkPad z50 (VR4121) +# +ifdef CONFIG_IBM_WORKPAD +SUBDIRS += arch/mips/vr41xx/common \ + arch/mips/vr41xx/vr4121/common \ + arch/mips/vr41xx/vr4121/workpad +LIBS += arch/mips/vr41xx/common/vr41xx.o \ + arch/mips/vr41xx/vr4121/common/vr4121.o \ + arch/mips/vr41xx/vr4121/workpad/workpad.o +LOADADDR += 0x80004000 +endif + +# +# CASIO CASSIPEIA E-55/65 (VR4111) +# +ifdef CONFIG_CASIO_E55 +SUBDIRS += arch/mips/vr41xx/common \ + arch/mips/vr41xx/vr4111/common \ + arch/mips/vr41xx/vr4111/casio-e55 +LIBS += arch/mips/vr41xx/common/vr41xx.o \ + arch/mips/vr41xx/vr4111/common/vr4111.o \ + arch/mips/vr41xx/vr4111/casio-e55/casio-e55.o +LOADADDR += 0x80004000 +endif + +# +# Victor MP-C303/304 (VR4122) +# +ifdef CONFIG_VICTOR_MPC303 +SUBDIRS += arch/mips/vr41xx/common \ + arch/mips/vr41xx/vr4122/common \ + arch/mips/vr41xx/vr4122/mp-c303 +LIBS += arch/mips/vr41xx/common/vr41xx.o \ + arch/mips/vr41xx/vr4122/common/vr4122.o + arch/mips/vr41xx/vr4122/mp-c303/mp-c303.o +LOADADDR += 0x80004000 +endif + +# # # Galileo EV64120 Board # Index: config.in =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/config.in,v retrieving revision 1.85 retrieving revision 1.86 diff -u -d -r1.85 -r1.86 --- config.in 5 Feb 2002 17:33:04 -0000 1.85 +++ config.in 7 Mar 2002 03:16:52 -0000 1.86 @@ -72,6 +72,12 @@ bool 'Support for NEC MobilePro 780 PDA (EXPERIMENTAL)' CONFIG_NEC_MOBILEPRO bool 'Support for IDT 79S334 Evaluation board' CONFIG_IDT_79S334 bool 'Support for IDT 79EB355 Evaluation board' CONFIG_IDT_79EB355 + bool 'Support for IBM WorkPad z50 (EXPERIMENTAL)' CONFIG_IBM_WORKPAD + if [ "$CONFIG_IBM_WORKPAD" = "y" ]; then + int ' Memory size' CONFIG_IBM_WORKPAD_MEM_SIZE 16 + fi + bool 'Support for CASIO CASSIOPEIA E-55/65 (EXPERIMENTAL)' CONFIG_CASIO_E55 + bool 'Support for Victor MP-C303/304 (EXPERIMENTAL)' CONFIG_VICTOR_MPC303 fi bool 'Support for Mips Magnum 4000' CONFIG_MIPS_MAGNUM_4000 bool 'Support for Momentum Ocelot board' CONFIG_MOMENCO_OCELOT @@ -258,12 +264,16 @@ define_bool CONFIG_CPU_VR41XX y define_bool CONFIG_VR4122 y define_bool CONFIG_NEW_IRQ y + define_bool CONFIG_IRQ_CPU y define_bool CONFIG_NEW_TIME_C y - define_bool CONFIG_VR4122_TIME_C y + define_bool CONFIG_VR41XX_TIME_C y define_bool CONFIG_NONCOHERENT_IO y + define_bool CONFIG_ISA n define_bool CONFIG_PCI y define_bool CONFIG_NEW_PCI y define_bool CONFIG_PCI_AUTO y + define_bool CONFIG_DUMMY_KEYB y + define_bool CONFIG_SCSI n fi if [ "$CONFIG_NEC_KORVA" = "y" ]; then define_bool CONFIG_CPU_VR41XX y @@ -279,6 +289,49 @@ define_bool CONFIG_PCI_AUTO y fi fi +if [ "$CONFIG_IBM_WORKPAD" = "y" ]; then + define_bool CONFIG_CPU_VR41XX y + define_bool CONFIG_VR4121 y + define_bool CONFIG_NEW_IRQ y + define_bool CONFIG_IRQ_CPU y + define_bool CONFIG_NEW_TIME_C y + define_bool CONFIG_VR41XX_TIME_C y + define_bool CONFIG_NONCOHERENT_IO y + define_bool CONFIG_ISA y + define_bool CONFIG_SERIAL y + define_bool CONFIG_SERIAL_MANY_PORTS y + define_bool CONFIG_DUMMY_KEYB y + define_bool CONFIG_SCSI n +fi +if [ "$CONFIG_CASIO_E55" = "y" ]; then + define_bool CONFIG_CPU_VR41XX y + define_bool CONFIG_VR4111 y + define_bool CONFIG_NEW_IRQ y + define_bool CONFIG_IRQ_CPU y + define_bool CONFIG_NEW_TIME_C y + define_bool CONFIG_VR41XX_TIME_C y + define_bool CONFIG_NONCOHERENT_IO y + define_bool CONFIG_ISA y + define_bool CONFIG_SERIAL y + define_bool CONFIG_SERIAL_MANY_PORTS y + define_bool CONFIG_DUMMY_KEYB y + define_bool CONFIG_SCSI n +fi +if [ "$CONFIG_VICTOR_MPC303" = "y" ]; then + define_bool CONFIG_CPU_VR41XX y + define_bool CONFIG_VR4122 y + define_bool CONFIG_NEW_IRQ y + define_bool CONFIG_IRQ_CPU y + define_bool CONFIG_NEW_TIME_C y + define_bool CONFIG_VR41XX_TIME_C y + define_bool CONFIG_NONCOHERENT_IO y + define_bool CONFIG_ISA n + define_bool CONFIG_PCI y + define_bool CONFIG_NEW_PCI y + define_bool CONFIG_PCI_AUTO y + define_bool CONFIG_DUMMY_KEYB y + define_bool CONFIG_SCSI n +fi if [ "$CONFIG_MIPS_COBALT" = "y" ]; then define_bool CONFIG_COBALT_LCD y define_bool CONFIG_PCI y @@ -561,6 +614,7 @@ dep_bool ' Enable R5900 specific context' CONFIG_CPU_R5900_CONTEXT $CONFIG_PS2 dep_bool ' Enable Vr4131 cache fixes for early rev processors' CONFIG_VR4131_CACHE_FIX $CONFIG_VR4131 +dep_bool ' Enable VR4122 CLKSPEEDREG bug fixes' CONFIG_VR4122_CLKSPEEDREG_FIX $CONFIG_VR4122 if [ "$CONFIG_TOSHIBA_JMR3927" = "y" ]; then bool 'DS1742 BRAM/RTC support' CONFIG_RTC_DS1742 |
From: Paul M. <le...@us...> - 2002-03-07 03:16:57
|
Update of /cvsroot/linux-mips/linux/include/asm-mips/vr41xx In directory usw-pr-cvs1:/tmp/cvs-serv28915/include/asm-mips/vr41xx Added Files: e55.h eagle.h mp-c303.h workpad.h Log Message: Imported Yoichi-san's Vr41xx patch, with some minor modifications. --- NEW FILE: e55.h --- /* * FILE NAME * include/asm-mips/vr41xx/cassiopeia/e55.h * * BRIEF MODULE DESCRIPTION * Include file for CASIO CASSIOPEIA E-55/65. * * Copyright 2002 Yoichi Yuasa * yu...@hh... * * 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. */ #ifndef __CASIO_E55_H #define __CASIO_E55_H #include <asm/addrspace.h> #include <asm/vr41xx/vr41xx.h> /* * Board specific address mapping */ #define VR41XX_ISA_MEM_BASE 0x10000000 #define VR41XX_ISA_MEM_SIZE 0x04000000 #define VR41XX_ISA_IO_BASE 0x14000000 #define VR41XX_ISA_IO_SIZE 0x04000000 #define IO_PORT_BASE KSEG1ADDR(VR41XX_ISA_IO_BASE) #define IO_PORT_RESOURCE_START 0 #define IO_PORT_RESOURCE_END VR41XX_ISA_IO_SIZE #define IO_MEM_RESOURCE_START VR41XX_ISA_MEM_BASE #define IO_MEM_RESOURCE_END (VR41XX_ISA_MEM_BASE + VR41XX_ISA_MEM_SIZE) #endif /* __CASIO_E55_H */ --- NEW FILE: eagle.h --- /* * FILE NAME * include/asm-mips/vr41xx/eagle.h * * BRIEF MODULE DESCRIPTION * Include file for NEC Eagle board. * * Author: MontaVista Software, Inc. * yy...@mv... or so...@mv... * * Copyright 2001,2002 MontaVista Software Inc. * * 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 __NEC_EAGLE_H #define __NEC_EAGLE_H #include <asm/addrspace.h> #include <asm/vr41xx/vr41xx.h> /* * Board specific address mapping */ #define VR41XX_PCI_MEM_BASE 0x10000000 #define VR41XX_PCI_MEM_SIZE 0x06000000 #define VR41XX_PCI_IO_BASE 0x16000000 #define VR41XX_PCI_IO_SIZE 0x02000000 #define VR41XX_PCI_IO_START 0x01000000 #define VR41XX_PCI_IO_END 0x01ffffff #define VR41XX_PCI_MEM_START 0x12000000 #define VR41XX_PCI_MEM_END 0x15ffffff #define IO_PORT_BASE KSEG1ADDR(VR41XX_PCI_IO_BASE) #define IO_PORT_RESOURCE_START 0 #define IO_PORT_RESOURCE_END VR41XX_PCI_IO_SIZE #define IO_MEM_RESOURCE_START VR41XX_PCI_MEM_BASE #define IO_MEM_RESOURCE_END (VR41XX_PCI_MEM_BASE + VR41XX_PCI_MEM_SIZE) /* * Interrupt Number */ #define VRC4173_IRQ GIUL_IRQ(1) #define PCISLOT_IRQ GIUL_IRQ(4) #define PCIINT_IRQ GIUL_IRQ(5) #define DCD_IRQ GIUL_IRQ(15) #define PCIINT_IRQ_BASE 89 #define CP_INTA_IRQ (PCIINT_IRQ_BASE + 0) #define CP_INTB_IRQ (PCIINT_IRQ_BASE + 1) #define CP_INTC_IRQ (PCIINT_IRQ_BASE + 2) #define CP_INTD_IRQ (PCIINT_IRQ_BASE + 3) #define LANINTA_IRQ (PCIINT_IRQ_BASE + 4) #define PCIINT_IRQ_LAST LANINTA_IRQ /* * On board Devices I/O Mapping */ #define NEC_EAGLE_SIO1RB KSEG1ADDR(0x0DFFFEC0) #define NEC_EAGLE_SIO1TH KSEG1ADDR(0x0DFFFEC0) #define NEC_EAGLE_SIO1IE KSEG1ADDR(0x0DFFFEC2) #define NEC_EAGLE_SIO1IID KSEG1ADDR(0x0DFFFEC4) #define NEC_EAGLE_SIO1FC KSEG1ADDR(0x0DFFFEC4) #define NEC_EAGLE_SIO1LC KSEG1ADDR(0x0DFFFEC6) #define NEC_EAGLE_SIO1MC KSEG1ADDR(0x0DFFFEC8) #define NEC_EAGLE_SIO1LS KSEG1ADDR(0x0DFFFECA) #define NEC_EAGLE_SIO1MS KSEG1ADDR(0x0DFFFECC) #define NEC_EAGLE_SIO1SC KSEG1ADDR(0x0DFFFECE) #define NEC_EAGLE_SIO2TH KSEG1ADDR(0x0DFFFED0) #define NEC_EAGLE_SIO2IE KSEG1ADDR(0x0DFFFED2) #define NEC_EAGLE_SIO2IID KSEG1ADDR(0x0DFFFED4) #define NEC_EAGLE_SIO2FC KSEG1ADDR(0x0DFFFED4) #define NEC_EAGLE_SIO2LC KSEG1ADDR(0x0DFFFED6) #define NEC_EAGLE_SIO2MC KSEG1ADDR(0x0DFFFED8) #define NEC_EAGLE_SIO2LS KSEG1ADDR(0x0DFFFEDA) #define NEC_EAGLE_SIO2MS KSEG1ADDR(0x0DFFFEDC) #define NEC_EAGLE_SIO2SC KSEG1ADDR(0x0DFFFEDE) #define NEC_EAGLE_PIOPP_DATA KSEG1ADDR(0x0DFFFEE0) #define NEC_EAGLE_PIOPP_STATUS KSEG1ADDR(0x0DFFFEE2) #define NEC_EAGLE_PIOPP_CNT KSEG1ADDR(0x0DFFFEE4) #define NEC_EAGLE_PIOPP_EPPADDR KSEG1ADDR(0x0DFFFEE6) #define NEC_EAGLE_PIOPP_EPPDATA0 KSEG1ADDR(0x0DFFFEE8) #define NEC_EAGLE_PIOPP_EPPDATA1 KSEG1ADDR(0x0DFFFEEA) #define NEC_EAGLE_PIOPP_EPPDATA2 KSEG1ADDR(0x0DFFFEEC) #define NEC_EAGLE_PIOECP_DATA KSEG1ADDR(0x0DFFFEF0) #define NEC_EAGLE_PIOECP_CONFIG KSEG1ADDR(0x0DFFFEF2) #define NEC_EAGLE_PIOECP_EXTCNT KSEG1ADDR(0x0DFFFEF4) /* * FLSHCNT Register */ #define NEC_EAGLE_FLSHCNT KSEG1ADDR(0x0DFFFFA0) #define NEC_EAGLE_FLSHCNT_FRDY 0x80 #define NEC_EAGLE_FLSHCNT_VPPE 0x40 #define NEC_EAGLE_FLSHCNT_WP2 0x01 /* * FLSHBANK Register */ #define NEC_EAGLE_FLSHBANK KSEG1ADDR(0x0DFFFFA4) #define NEC_EAGLE_FLSHBANK_S_BANK2 0x40 #define NEC_EAGLE_FLSHBANK_S_BANK1 0x20 #define NEC_EAGLE_FLSHBANK_BNKQ4 0x10 #define NEC_EAGLE_FLSHBANK_BNKQ3 0x08 #define NEC_EAGLE_FLSHBANK_BNKQ2 0x04 #define NEC_EAGLE_FLSHBANK_BNKQ1 0x02 #define NEC_EAGLE_FLSHBANK_BNKQ0 0x01 /* * SWITCH Setting Register */ #define NEC_EAGLE_SWTCHSET KSEG1ADDR(0x0DFFFFA8) #define NEC_EAGLE_SWTCHSET_DP2SW4 0x80 #define NEC_EAGLE_SWTCHSET_DP2SW3 0x40 #define NEC_EAGLE_SWTCHSET_DP2SW2 0x20 #define NEC_EAGLE_SWTCHSET_DP2SW1 0x10 #define NEC_EAGLE_SWTCHSET_DP1SW4 0x08 #define NEC_EAGLE_SWTCHSET_DP1SW3 0x04 #define NEC_EAGLE_SWTCHSET_DP1SW2 0x02 #define NEC_EAGLE_SWTCHSET_DP1SW1 0x01 /* * PPT Parallel Port Device Controller */ #define NEC_EAGLE_PPT_WRITE_DATA KSEG1ADDR(0x0DFFFFB0) #define NEC_EAGLE_PPT_READ_DATA KSEG1ADDR(0x0DFFFFB2) #define NEC_EAGLE_PPT_CNT KSEG1ADDR(0x0DFFFFB4) #define NEC_EAGLE_PPT_CNT2 KSEG1ADDR(0x0DFFFFB4) /* Control Register */ #define NEC_EAGLE_PPT_INTMSK 0x20 #define NEC_EAGLE_PPT_PARIINT 0x10 #define NEC_EAGLE_PPT_SELECTIN 0x08 #define NEC_EAGLE_PPT_INIT 0x04 #define NEC_EAGLE_PPT_AUTOFD 0x02 #define NEC_EAGLE_PPT_STROBE 0x01 /* Control Rgister 2 */ #define NEC_EAGLE_PPT_PAREN 0x80 #define NEC_EAGLE_PPT_AUTOEN 0x20 #define NEC_EAGLE_PPT_BUSY 0x10 #define NEC_EAGLE_PPT_ACK 0x08 #define NEC_EAGLE_PPT_PE 0x04 #define NEC_EAGLE_PPT_SELECT 0x02 #define NEC_EAGLE_PPT_FAULT 0x01 /* * LEDWR Register */ #define NEC_EAGLE_LEDWR1 KSEG1ADDR(0x0DFFFFC0) #define NEC_EAGLE_LEDWR2 KSEG1ADDR(0x0DFFFFC4) /* * SDBINT Register */ #define NEC_EAGLE_SDBINT KSEG1ADDR(0x0DFFFFD0) #define NEC_EAGLE_SDBINT_PARINT 0x20 #define NEC_EAGLE_SDBINT_SIO2INT 0x10 #define NEC_EAGLE_SDBINT_SIO1INT 0x08 #define NEC_EAGLE_SDBINT_ENUM 0x04 #define NEC_EAGLE_SDBINT_DEG 0x02 /* * SDB INTMSK Register */ #define NEC_EAGLE_SDBINTMASK KSEG1ADDR(0x0DFFFFD4) #define NEC_EAGLE_SDBINTMASK_MSKPAR 0x20 #define NEC_EAGLE_SDBINTMASK_MSKSIO2 0x10 #define NEC_EAGLE_SDBINTMASK_MSKSIO1 0x08 #define NEC_EAGLE_SDBINTMASK_MSKENUM 0x04 #define NEC_EAGLE_SDBINTMASK_MSKDEG 0x02 /* * RSTREG Register */ #define NEC_EAGLE_RSTREG KSEG1ADDR(0x0DFFFFD8) #define NEC_EAGLE_RST_RSTSW 0x02 #define NEC_EAGLE_RST_LEDOFF 0x01 /* * PCI INT Rgister */ #define NEC_EAGLE_PCIINTREG KSEG1ADDR(0x0DFFFFDC) #define NEC_EAGLE_PCIINT_LANINT 0x10 #define NEC_EAGLE_PCIINT_CP_INTD 0x08 #define NEC_EAGLE_PCIINT_CP_INTC 0x04 #define NEC_EAGLE_PCIINT_CP_INTB 0x02 #define NEC_EAGLE_PCIINT_CP_INTA 0x01 /* * PCI INT Mask Register */ #define NEC_EAGLE_PCIINTMSKREG KSEG1ADDR(0x0DFFFFE0) #define NEC_EAGLE_PCIINTMSK_MSKLANINT 0x10 #define NEC_EAGLE_PCIINTMSK_MSKCP_INTD 0x08 #define NEC_EAGLE_PCIINTMSK_MSKCP_INTC 0x04 #define NEC_EAGLE_PCIINTMSK_MSKCP_INTB 0x02 #define NEC_EAGLE_PCIINTMSK_MSKCP_INTA 0x01 /* * CLK Division Register */ #define NEC_EAGLE_CLKDIV KSEG1ADDR(0x0DFFFFE4) #define NEC_EAGLE_CLKDIV_PCIDIV1 0x10 #define NEC_EAGLE_CLKDIV_PCIDIV0 0x08 #define NEC_EAGLE_CLKDIV_VTDIV2 0x04 #define NEC_EAGLE_CLKDIV_VTDIV1 0x02 #define NEC_EAGLE_CLKDIV_VTDIV0 0x01 /* * Source Revision Register */ #define NEC_EAGLE_REVISION KSEG1ADDR(0x0DFFFFE8) #endif /* __NEC_EAGLE_H */ --- NEW FILE: mp-c303.h --- /* * FILE NAME * include/asm-mips/vr41xx/mp-c303.h * * BRIEF MODULE DESCRIPTION * Include file for Victor MP-C303/304. * * Copyright 2002 Yoichi Yuasa * yu...@hh... * * 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. */ #ifndef __VICTOR_MPC303_H #define __VICTOR_MPC303_H #include <asm/addrspace.h> #include <asm/vr41xx/vr41xx.h> /* * Board specific address mapping */ #define VR41XX_PCI_MEM_BASE 0x10000000 #define VR41XX_PCI_MEM_SIZE 0x06000000 #define VR41XX_PCI_IO_BASE 0x16000000 #define VR41XX_PCI_IO_SIZE 0x02000000 #define VR41XX_PCI_IO_START 0x01000000 #define VR41XX_PCI_IO_END 0x01ffffff #define VR41XX_PCI_MEM_START 0x12000000 #define VR41XX_PCI_MEM_END 0x15ffffff #define IO_PORT_BASE KSEG1ADDR(VR41XX_PCI_IO_BASE) #define IO_PORT_RESOURCE_START 0 #define IO_PORT_RESOURCE_END VR41XX_PCI_IO_SIZE #define IO_MEM_RESOURCE_START VR41XX_PCI_MEM_BASE #define IO_MEM_RESOURCE_END (VR41XX_PCI_MEM_BASE + VR41XX_PCI_MEM_SIZE) /* * Interrupt Number */ #define VRC4173_IRQ GIUL_IRQ(1) #endif /* __VICTOR_MPC303_H */ --- NEW FILE: workpad.h --- /* * FILE NAME * include/asm-mips/vr41xx/workpad.h * * BRIEF MODULE DESCRIPTION * Include file for IBM WorkPad z50. * * Copyright 2002 Yoichi Yuasa * yu...@hh... * * 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. */ #ifndef __IBM_WORKPAD_H #define __IBM_WORKPAD_H #include <asm/addrspace.h> #include <asm/vr41xx/vr41xx.h> /* * Board specific address mapping */ #define VR41XX_ISA_MEM_BASE 0x100000000 #define VR41XX_ISA_MEM_SIZE 0x04000000 /* VR41XX_ISA_IO_BASE includes offset from real base. */ #define VR41XX_ISA_IO_BASE 0x15000000 #define VR41XX_ISA_IO_SIZE 0x03000000 #define IO_PORT_BASE KSEG1ADDR(VR41XX_ISA_IO_BASE) #define IO_PORT_RESOURCE_START 0 #define IO_PORT_RESOURCE_END VR41XX_ISA_IO_SIZE #define IO_MEM_RESOURCE_START VR41XX_ISA_MEM_BASE #define IO_MEM_RESOURCE_END (VR41XX_ISA_MEM_BASE + VR41XX_ISA_MEM_SIZE) #endif /* __IBM_WORKPAD_H */ |
From: Paul M. <le...@us...> - 2002-03-07 03:16:57
|
Update of /cvsroot/linux-mips/linux/include/asm-mips In directory usw-pr-cvs1:/tmp/cvs-serv28915/include/asm-mips Modified Files: bootinfo.h vr41xx.h Log Message: Imported Yoichi-san's Vr41xx patch, with some minor modifications. Index: bootinfo.h =================================================================== RCS file: /cvsroot/linux-mips/linux/include/asm-mips/bootinfo.h,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- bootinfo.h 19 Feb 2002 17:17:53 -0000 1.28 +++ bootinfo.h 7 Mar 2002 03:16:54 -0000 1.29 @@ -175,6 +175,9 @@ #define MACH_NEC_MOBILEPRO_780 4 /* NEC MobilePro 780 PDA */ #define MACH_CASIO_E15 5 /* Casio Cassiopeia E15 */ #define MACH_CASIO_BE300 6 /* Casio Cassiopeia BE-300 */ +#define MACH_CASIO_E55 7 /* Casio Cassiopeia E-55/65 */ +#define MACH_IBM_WORKPAD 8 /* IBM WorkPad z50 */ +#define MACH_VICTOR_MPC303 9 /* Victor MP-C303/304 */ #define CL_SIZE (256) Index: vr41xx.h =================================================================== RCS file: /cvsroot/linux-mips/linux/include/asm-mips/vr41xx.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- vr41xx.h 29 Oct 2001 08:20:55 -0000 1.2 +++ vr41xx.h 7 Mar 2002 03:16:55 -0000 1.3 @@ -4,7 +4,8 @@ * Primary header for NEC VR41xx processors. * * Copyright (C) 1999 Michael Klar - * Copyright (C) 2001 Paul Mundt <le...@ch...> + * Copyright (C) 2001, 2002 Paul Mundt + * Copyright (C) 2002 MontaVista Software, Inc. * * 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 @@ -15,6 +16,7 @@ #define __ASM_MIPS_VR41XX_H #include <linux/config.h> +#include <linux/interrupt.h> /* * Any code being written for a VR41xx device should be including this @@ -38,6 +40,72 @@ #elif defined(CONFIG_VR4181) #include <asm/vr4181/vr4181.h> #endif + +/* + * Bus Control Uint + */ +extern void vr41xx_bcu_init(void); + +/* + * Clock Mask Unit + */ +extern void vr41xx_clock_supply(u16 mask); +extern void vr41xx_clock_mask(u16 mask); + +/* + * Interrupt Control Unit + */ + +/* GIU Interrupt Numbers */ +#define GIUL_IRQ(x) (40 + (x)) +#define GIUH_IRQ(x) (56 + (x)) + +struct irqcascade { + int cascade; + int (*get_irq_number)(int irq); +}; + +extern void vr41xx_board_irq_init(void); +extern void vr41xx_cascade_irq(unsigned int irq, int (*get_irq_number)(int irq)); + +/* + * Serial Interface Unit + */ +extern void vr41xx_siu_init(int line, int interface, int module); +extern void vr41xx_siu_ifselect(int interface, int module); + +/* SIU interfaces */ +enum { + SIU_RS232C, + SIU_IRDA +}; + +/* IrDA interfaces */ +enum { + IRDA_SHARP = 1, + IRDA_TEMIC, + IRDA_HP +}; + +/* + * Debug Serial Interface Unit + */ +extern void vr41xx_dsiu_init(int line); + +/* + * PCI Control Unit + */ +extern void vr41xx_pciu_init(void); + +/* + * MISC + */ +extern void vr41xx_time_init(void); +extern void vr41xx_timer_setup(struct irqaction *irq); + +extern void vr41xx_restart(char *command); +extern void vr41xx_halt(void); +extern void vr41xx_power_off(void); #endif /* __ASM_MIPS_VR41XX_H */ |
From: Paul M. <le...@us...> - 2002-03-07 03:16:57
|
Update of /cvsroot/linux-mips/linux/arch/mips/vr41xx/vr4122/mp-c303 In directory usw-pr-cvs1:/tmp/cvs-serv28915/arch/mips/vr41xx/vr4122/mp-c303 Added Files: Makefile ide-mpc303.c init.c irq.c pci_fixup.c setup.c Log Message: Imported Yoichi-san's Vr41xx patch, with some minor modifications. --- NEW FILE: Makefile --- # # Makefile for the Victor MP-C303/304 specific parts of the kernel # # Note! Dependencies are done automagically by 'make dep', which also # removes any old dependencies. DON'T put your own dependencies here # unless it's something special (ie not a .c file). # .S.s: $(CPP) $(AFLAGS) $< -o $@ .S.o: $(CC) $(AFLAGS) -c $< -o $@ O_TARGET := mp-c303.o all: mp-c303.o obj-y := init.o irq.o setup.o obj-$(CONFIG_IDE) += ide-mpc303.o obj-$(CONFIG_PCI) += pci_fixup.o include $(TOPDIR)/Rules.make --- NEW FILE: ide-mpc303.c --- /* * 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. * * IDE routines for typical pc-like standard configurations for the Victor MP-C303/304. * * Copyright (C) 1998, 1999, 2001 by Ralf Baechle */ /* * Changes: * Yoichi Yuasa <yu...@hh...> Sun, 24 Feb 2002 * - Added Victor MP-C303/304 support. */ #include <linux/sched.h> #include <linux/ide.h> #include <linux/ioport.h> #include <linux/hdreg.h> #include <asm/ptrace.h> #include <asm/hdreg.h> static int mpc303_ide_default_irq(ide_ioreg_t base) { return 0; } static ide_ioreg_t mpc303_ide_default_io_base(int index) { return 0; } static void mpc303_ide_init_hwif_ports (hw_regs_t *hw, ide_ioreg_t data_port, ide_ioreg_t ctrl_port, int *irq) { ide_ioreg_t reg = data_port; int i; for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++) { hw->io_ports[i] = reg; reg += 1; } if (ctrl_port) { hw->io_ports[IDE_CONTROL_OFFSET] = ctrl_port; } else { hw->io_ports[IDE_CONTROL_OFFSET] = hw->io_ports[IDE_DATA_OFFSET] + 0x206; } if (irq != NULL) *irq = 0; hw->io_ports[IDE_IRQ_OFFSET] = 0; } static int mpc303_ide_request_irq(unsigned int irq, void (*handler)(int,void *, struct pt_regs *), unsigned long flags, const char *device, void *dev_id) { return request_irq(irq, handler, SA_SHIRQ, device, dev_id); } static void mpc303_ide_free_irq(unsigned int irq, void *dev_id) { free_irq(irq, dev_id); } static int mpc303_ide_check_region(ide_ioreg_t from, unsigned int extent) { return check_region(from, extent); } static void mpc303_ide_request_region(ide_ioreg_t from, unsigned int extent, const char *name) { request_region(from, extent, name); } static void mpc303_ide_release_region(ide_ioreg_t from, unsigned int extent) { release_region(from, extent); } struct ide_ops mpc303_ide_ops = { &mpc303_ide_default_irq, &mpc303_ide_default_io_base, &mpc303_ide_init_hwif_ports, &mpc303_ide_request_irq, &mpc303_ide_free_irq, &mpc303_ide_check_region, &mpc303_ide_request_region, &mpc303_ide_release_region }; --- NEW FILE: init.c --- /* * FILE NAME * arch/mips/vr41xx/mp-c303/init.c * * BRIEF MODULE DESCRIPTION * Initialisation code for the Victor MP-C303/304. * * Copyright 2002 Yoichi Yuasa * yu...@hh... * * 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. */ #include <linux/config.h> #include <linux/init.h> #include <linux/kernel.h> #include <linux/string.h> #include <asm/bootinfo.h> char arcs_cmdline[CL_SIZE]; const char *get_system_type(void) { return "Victor MP-C303/304"; } void __init bus_error_init(void) { } void __init prom_init(int argc, char **argv, unsigned long magic, int *prom_vec) { int i; /* * collect args and prepare cmd_line */ for (i = 1; i < argc; i++) { strcat(arcs_cmdline, argv[i]); if (i < (argc - 1)) strcat(arcs_cmdline, " "); } #if defined(CONFIG_SERIAL_CONSOLE) /* to use 38400 ttyS0 serial console */ strcat(arcs_cmdline, " console=ttyS0,38400"); #endif mips_machgroup = MACH_GROUP_NEC_VR41XX; mips_machtype = MACH_VICTOR_MPC303; /* Add memory region */ add_memory_region(0, 32 << 20, BOOT_MEM_RAM); } void __init prom_free_prom_memory (void) { } --- NEW FILE: irq.c --- /* * FILE NAME * arch/mips/vr41xx/mp-c303/irq.c * * BRIEF MODULE DESCRIPTION * Interrupt routines for the Victor MP-C303/304. * * Copyright 2002 Yoichi Yuasa * yu...@hh... * * 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. */ #include <linux/init.h> void __init vr41xx_board_irq_init(void) { } --- NEW FILE: pci_fixup.c --- /* * FILE NAME * arch/mips/vr41xx/mp-c303/pci_fixup.c * * BRIEF MODULE DESCRIPTION * The Victor MP-C303/304 specific PCI fixups. * * Copyright 2002 Yoichi Yuasa * yu...@hh... * * 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. */ #include <linux/config.h> #ifdef CONFIG_PCI #include <linux/init.h> #include <linux/pci.h> #include <asm/pci_channel.h> #include <asm/vr41xx/mp-c303.h> #ifdef CONFIG_VRC4173 #include <asm/vr41xx/vrc4173.h> #endif static struct resource vr41xx_pci_io_resource = { "PCI I/O space", VR41XX_PCI_IO_START, VR41XX_PCI_IO_END, IORESOURCE_IO }; static struct resource vr41xx_pci_mem_resource = { "PCI memory space", VR41XX_PCI_MEM_START, VR41XX_PCI_MEM_END, IORESOURCE_MEM }; extern struct pci_ops vr41xx_pci_ops; struct pci_channel mips_pci_channels[] = { {&vr41xx_pci_ops, &vr41xx_pci_io_resource, &vr41xx_pci_mem_resource, 0, 256}, {NULL, NULL, NULL, 0, 0} }; void __init pcibios_fixup_resources(struct pci_dev *dev) { } void __init pcibios_fixup(void) { } void __init pcibios_fixup_irqs(void) { struct pci_dev *dev; u8 slot, func, pin; pci_for_each_dev(dev) { slot = PCI_SLOT(dev->devfn); func = PCI_FUNC(dev->devfn); dev->irq = 0; switch (slot) { #ifdef CONFIG_VRC4173 case 24: dev->irq = VRC4173_CARDU1_IRQ; break; case 25: dev->irq = VRC4173_CARDU2_IRQ; break; case 30: switch (func) { case 0: dev->irq = VRC4173_IRQ; break; case 1: dev->irq = VRC4173_AC97U_IRQ; break; case 2: dev->irq = VRC4173_USBU_IRQ; break; } break; #endif } pci_write_config_byte(dev, PCI_INTERRUPT_LINE, dev->irq); } } unsigned int pcibios_assign_all_busses(void) { return 0; } #endif --- NEW FILE: setup.c --- /* * FILE NAME * arch/mips/vr41xx/mp-c303/setup.c * * BRIEF MODULE DESCRIPTION * Setup for the Victor MP-C303/304. * * Copyright 2002 Yoichi Yuasa * yu...@hh... * * 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. */ #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/mp-c303.h> #ifdef CONFIG_BLK_DEV_INITRD extern unsigned long initrd_start, initrd_end; extern void * __rd_start, * __rd_end; #endif #ifdef CONFIG_BLK_DEV_IDE extern struct ide_ops mpc303_ide_ops; #endif void __init nec_vr41xx_setup(void) { set_io_port_base(IO_PORT_BASE); ioport_resource.start = IO_PORT_RESOURCE_START; ioport_resource.end = IO_PORT_RESOURCE_END; iomem_resource.start = IO_MEM_RESOURCE_START; iomem_resource.end = IO_MEM_RESOURCE_END; #ifdef CONFIG_BLK_DEV_INITRD ROOT_DEV = MKDEV(RAMDISK_MAJOR, 0); initrd_start = (unsigned long)&__rd_start; initrd_end = (unsigned long)&__rd_end; #endif _machine_restart = vr41xx_restart; _machine_halt = vr41xx_halt; _machine_power_off = vr41xx_power_off; board_time_init = vr41xx_time_init; board_timer_setup = vr41xx_timer_setup; #ifdef CONFIG_FB conswitchp = &dummy_con; #endif #ifdef CONFIG_BLK_DEV_IDE ide_ops = &mpc303_ide_ops; #endif vr41xx_bcu_init(); vr41xx_siu_init(0, SIU_RS232C, 0); #ifdef CONFIG_PCI vr41xx_pciu_init(); #endif #ifdef CONFIG_VRC4173 vrc4173_init(); #endif } |
Update of /cvsroot/linux-mips/linux/arch/mips/vr41xx/vr4122/common In directory usw-pr-cvs1:/tmp/cvs-serv28915/arch/mips/vr41xx/vr4122/common Added Files: Makefile bcu.c cmu.c dbg_io.c icu.c icu.h pciu.c pciu.h siu.c siu.h vrc4173.c Log Message: Imported Yoichi-san's Vr41xx patch, with some minor modifications. --- NEW FILE: Makefile --- # # Makefile for common code of the NEC VR4122 and VR4131. # # Author: Yoichi Yuasa # yy...@mv... or so...@mv... # # Copyright 2001,2002 MontaVista Software Inc. # # Note! Dependencies are done automagically by 'make dep', which also # removes any old dependencies. DON'T put your own dependencies here # unless it's something special (ie not a .c file). # .S.s: $(CPP) $(CFLAGS) $< -o $*.s .S.o: $(CC) $(CFLAGS) -c $< -o $*.o all: vr4122.o O_TARGET := vr4122.o export-objs := vrc4173.o obj-y := bcu.o cmu.o icu.o siu.o obj-$(CONFIG_PCI) += pciu.o obj-$(CONFIG_VRC4173) += vrc4173.o obj-$(CONFIG_REMOTE_DEBUG) += dbg_io.o include $(TOPDIR)/Rules.make --- NEW FILE: bcu.c --- /* * FILE NAME * arch/mips/vr41xx/vr4122/common/bcu.c * * BRIEF MODULE DESCRIPTION * Bus Control Unit routines for the NEC VR4122 and VR4131. * * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * Copyright 2002 MontaVista Software Inc. * * 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. */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * - New creation, NEC VR4122 and VR4131 are supported. */ #include <linux/types.h> #include <asm/io.h> #include <asm/param.h> #include <asm/time.h> #define CLKSPEEDREG KSEG1ADDR(0x0f000014) #define PMUTCLKDIVREG KSEG1ADDR(0x0f0000cc) #define calc_pclock(clksp) ((18432000 * 98) / ((clksp) & 0x001f)) #define calc_tclock(clksp,vtclock) ((vtclock) / (2 << (((clksp) & 0x1000) >> 12))) unsigned long vr41xx_vtclock = 0; static inline unsigned long calc_vtclock(u16 clksp, unsigned long pclock) { #ifdef CONFIG_VR4122_CLKSPEEDREG_FIX if ((clksp & 0x0700) == 0x0100) { u16 div; div = readw(PMUTCLKDIVREG); if ((div & 0x0007) == 0x0002) clksp = (clksp & ~0x0700) | 0x0200; } #endif return pclock / ((clksp & 0x0700) >> 8); } void vr41xx_bcu_init(void) { unsigned long pclock, tclock; u16 clksp; clksp = readw(CLKSPEEDREG); pclock = calc_pclock(clksp); printk(KERN_INFO "PClock: %ldHz\n", pclock); vr41xx_vtclock = calc_vtclock(clksp, pclock); printk(KERN_INFO "VTClock: %ldHz\n", vr41xx_vtclock); tclock = calc_tclock(clksp, vr41xx_vtclock); printk(KERN_INFO "TClock: %ldHz\n", tclock); mips_counter_frequency = tclock / 4; } --- NEW FILE: cmu.c --- /* * FILE NAME * arch/mips/vr41xx/vr4122/common/cmu.c * * BRIEF MODULE DESCRIPTION * Clock Mask Unit routines for the NEC VR4122 and VR4131. * * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * Copyright 2001,2002 MontaVista Software Inc. * * 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. */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * - New creation, NEC VR4122 and VR4131 are supported. */ #include <linux/spinlock.h> #include <linux/types.h> #include <asm/io.h> #define CMUCLKMSK KSEG1ADDR(0x0f000060) rwlock_t vr41xx_cmu_lock = RW_LOCK_UNLOCKED; void vr41xx_clock_supply(u16 mask) { unsigned long flags; u16 val; write_lock_irqsave(&vr41xx_cmu_lock, flags); val = readw(CMUCLKMSK); val |= mask; writew(val, CMUCLKMSK); write_unlock_irqrestore(&vr41xx_cmu_lock, flags); } void vr41xx_clock_mask(u16 mask) { unsigned long flags; u16 val; write_lock_irqsave(&vr41xx_cmu_lock, flags); val = readw(CMUCLKMSK); val &= ~mask; writew(val, CMUCLKMSK); write_unlock_irqrestore(&vr41xx_cmu_lock, flags); } --- NEW FILE: dbg_io.c --- #include <linux/config.h> #ifdef CONFIG_REMOTE_DEBUG /* --- CONFIG --- */ /* we need uint32 uint8 */ typedef unsigned char uint8; typedef unsigned short uint16; typedef unsigned int uint32; /* --- END OF CONFIG --- */ #define UART16550_BAUD_2400 2400 #define UART16550_BAUD_4800 4800 #define UART16550_BAUD_9600 9600 #define UART16550_BAUD_19200 19200 #define UART16550_BAUD_38400 38400 #define UART16550_BAUD_57600 57600 #define UART16550_BAUD_115200 115200 #define UART16550_PARITY_NONE 0 #define UART16550_PARITY_ODD 0x08 #define UART16550_PARITY_EVEN 0x18 #define UART16550_PARITY_MARK 0x28 #define UART16550_PARITY_SPACE 0x38 #define UART16550_DATA_5BIT 0x0 #define UART16550_DATA_6BIT 0x1 #define UART16550_DATA_7BIT 0x2 #define UART16550_DATA_8BIT 0x3 #define UART16550_STOP_1BIT 0x0 #define UART16550_STOP_2BIT 0x4 /* ----------------------------------------------------- */ /* === CONFIG === */ /* [stevel] we use the IT8712 serial port for kgdb */ #define DEBUG_BASE 0xAF000820 /* Vr4122 DSIU base address */ #define MAX_BAUD 115200 /* === END OF CONFIG === */ /* register offset */ #define OFS_RCV_BUFFER 0 #define OFS_TRANS_HOLD 0 #define OFS_SEND_BUFFER 0 #define OFS_INTR_ENABLE 1 #define OFS_INTR_ID 2 #define OFS_DATA_FORMAT 3 #define OFS_LINE_CONTROL 3 #define OFS_MODEM_CONTROL 4 #define OFS_RS232_OUTPUT 4 #define OFS_LINE_STATUS 5 #define OFS_MODEM_STATUS 6 #define OFS_RS232_INPUT 6 #define OFS_SCRATCH_PAD 7 #define OFS_DIVISOR_LSB 0 #define OFS_DIVISOR_MSB 1 /* memory-mapped read/write of the port */ #define UART16550_READ(y) (*((volatile uint8*)(DEBUG_BASE + y))) #define UART16550_WRITE(y,z) ((*((volatile uint8*)(DEBUG_BASE + y))) = z) void debugInit(uint32 baud, uint8 data, uint8 parity, uint8 stop) { uint16 mask; /* disable interrupts */ UART16550_WRITE(OFS_INTR_ENABLE, 0); /* turn on the clocks to the serial port */ mask = *((volatile uint16 *)(0xAF000808)); mask &= ~0x0001; *((volatile uint16 *)(0xAF000808)) = mask; mask = *((volatile uint16 *)(0xAF000060)); mask |= 0x0802; *((volatile uint16 *)(0xAF000060)) = mask; /* set up buad rate */ { uint32 divisor; /* set DIAB bit */ UART16550_WRITE(OFS_LINE_CONTROL, 0x80); /* set divisor */ divisor = MAX_BAUD / baud; UART16550_WRITE(OFS_DIVISOR_LSB, divisor & 0xff); UART16550_WRITE(OFS_DIVISOR_MSB, (divisor & 0xff00)>>8); /* clear DIAB bit */ UART16550_WRITE(OFS_LINE_CONTROL, 0x0); } /* set data format */ UART16550_WRITE(OFS_DATA_FORMAT, data | parity | stop); } static int remoteDebugInitialized = 0; uint8 getDebugChar(void) { if (!remoteDebugInitialized) { remoteDebugInitialized = 1; debugInit(UART16550_BAUD_115200, UART16550_DATA_8BIT, UART16550_PARITY_NONE, UART16550_STOP_1BIT); } while((UART16550_READ(OFS_LINE_STATUS) & 0x1) == 0); return UART16550_READ(OFS_RCV_BUFFER); } int putDebugChar(uint8 byte) { if (!remoteDebugInitialized) { remoteDebugInitialized = 1; debugInit(UART16550_BAUD_115200, UART16550_DATA_8BIT, UART16550_PARITY_NONE, UART16550_STOP_1BIT); } while ((UART16550_READ(OFS_LINE_STATUS) &0x20) == 0); UART16550_WRITE(OFS_SEND_BUFFER, byte); return 1; } #endif --- NEW FILE: icu.c --- /* * FILE NAME * arch/mips/vr41xx/vr4122/common/icu.c * * BRIEF MODULE DESCRIPTION * Interrupt Control Unit routines for the NEC VR4122 and VR4131. * * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * Copyright 2001,2002 MontaVista Software Inc. * * 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. */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * - New creation, NEC VR4122 and VR4131 are supported. */ #include <linux/init.h> #include <linux/interrupt.h> #include <linux/irq.h> #include <linux/types.h> #include <asm/io.h> #include <asm/mipsregs.h> #include <asm/vr41xx.h> #include "icu.h" extern asmlinkage void vr41xx_handle_interrupt(void); extern void __init init_generic_irq(void); extern void mips_cpu_irq_init(u32 irq_base); extern unsigned int do_IRQ(int irq, struct pt_regs *regs); /*=======================================================================*/ static void enable_sysint1_irq(unsigned int irq) { u16 val; val = readw(MSYSINT1REG); val |= (u16)1 << (irq - SYSINT1_IRQ_BASE); writew(val, MSYSINT1REG); } static void disable_sysint1_irq(unsigned int irq) { u16 val; val = readw(MSYSINT1REG); val &= ~((u16)1 << (irq - SYSINT1_IRQ_BASE)); writew(val, MSYSINT1REG); } static unsigned int startup_sysint1_irq(unsigned int irq) { enable_sysint1_irq(irq); return 0; /* never anything pending */ } #define shutdown_sysint1_irq disable_sysint1_irq #define ack_sysint1_irq disable_sysint1_irq static void end_sysint1_irq(unsigned int irq) { if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) enable_sysint1_irq(irq); } static struct hw_interrupt_type sysint1_irq_type = { "SYSINT1", startup_sysint1_irq, shutdown_sysint1_irq, enable_sysint1_irq, disable_sysint1_irq, ack_sysint1_irq, end_sysint1_irq, NULL }; /*=======================================================================*/ static void enable_sysint2_irq(unsigned int irq) { u16 val; val = readw(MSYSINT2REG); val |= (u16)1 << (irq - SYSINT2_IRQ_BASE); writew(val, MSYSINT2REG); } static void disable_sysint2_irq(unsigned int irq) { u16 val; val = readw(MSYSINT2REG); val &= ~((u16)1 << (irq - SYSINT2_IRQ_BASE)); writew(val, MSYSINT2REG); } static unsigned int startup_sysint2_irq(unsigned int irq) { enable_sysint2_irq(irq); return 0; /* never anything pending */ } #define shutdown_sysint2_irq disable_sysint2_irq #define ack_sysint2_irq disable_sysint2_irq static void end_sysint2_irq(unsigned int irq) { if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) enable_sysint2_irq(irq); } static struct hw_interrupt_type sysint2_irq_type = { "SYSINT2", startup_sysint2_irq, shutdown_sysint2_irq, enable_sysint2_irq, disable_sysint2_irq, ack_sysint2_irq, end_sysint2_irq, NULL }; /*=======================================================================*/ static void enable_giuintl_irq(unsigned int irq) { u16 val, mask; mask = (u16)1 << (irq - GIUINTL_IRQ_BASE); writew(mask, GIUINTSTATL); val = readw(MGIUINTLREG); val |= mask; writew(val, MGIUINTLREG); val = readw(GIUINTENL); val |= mask; writew(val, GIUINTENL); } static void disable_giuintl_irq(unsigned int irq) { u16 val, mask; mask = (u16)1 << (irq - GIUINTL_IRQ_BASE); val = readw(GIUINTENL); val &= ~mask; writew(val, GIUINTENL); val = readw(MGIUINTLREG); val &= ~mask; writew(val, MGIUINTLREG); writew(mask, GIUINTSTATL); } static unsigned int startup_giuintl_irq(unsigned int irq) { enable_giuintl_irq(irq); return 0; /* never anything pending */ } #define shutdown_giuintl_irq disable_giuintl_irq #define ack_giuintl_irq disable_giuintl_irq static void end_giuintl_irq(unsigned int irq) { if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) enable_giuintl_irq(irq); } static struct hw_interrupt_type giuintl_irq_type = { "GIUINTL", startup_giuintl_irq, shutdown_giuintl_irq, enable_giuintl_irq, disable_giuintl_irq, ack_giuintl_irq, end_giuintl_irq, NULL }; /*=======================================================================*/ static void enable_giuinth_irq(unsigned int irq) { unsigned short val, mask; mask = (u16)1 << (irq - GIUINTH_IRQ_BASE); writew(mask, GIUINTSTATH); val = readw(MGIUINTHREG); val |= mask; writew(val, MGIUINTHREG); val = readw(GIUINTENH); val |= mask; writew(val, GIUINTENH); } static void disable_giuinth_irq(unsigned int irq) { unsigned short val, mask; mask = (u16)1 << (irq - GIUINTH_IRQ_BASE); val= readw(GIUINTENH); val &= ~mask; writew(val, GIUINTENH); val = readw(MGIUINTHREG); val &= ~mask; writew(val, MGIUINTHREG); writew(mask, GIUINTSTATH); } static unsigned int startup_giuinth_irq(unsigned int irq) { enable_giuinth_irq(irq); return 0; /* never anything pending */ } #define shutdown_giuinth_irq disable_giuinth_irq #define ack_giuinth_irq disable_giuinth_irq static void end_giuinth_irq(unsigned int irq) { if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) enable_giuinth_irq(irq); } static struct hw_interrupt_type giuinth_irq_type = { "GIUINTH", startup_giuinth_irq, shutdown_giuinth_irq, enable_giuinth_irq, disable_giuinth_irq, ack_giuinth_irq, end_giuinth_irq, NULL }; /*=======================================================================*/ static struct irqcascade vr41xx_irqcascade[32]; static struct irqaction cascade = {no_action, 0, 0, "cascade", NULL, NULL}; static int no_cascade_get_irq_number(int irq) { return -1; } void vr41xx_cascade_irq(unsigned int irq, int (*get_irq_number)(int irq)) { if (GIUINTL_IRQ_BASE <= irq < GIUINTH_IRQ_LAST) { vr41xx_irqcascade[irq - GIUINTL_IRQ_BASE].cascade = 1; vr41xx_irqcascade[irq - GIUINTL_IRQ_BASE].get_irq_number = get_irq_number; setup_irq(irq, &cascade); } } static void __init vr41xx_icu_irq_init(void) { int i; writew(0, MSYSINT1REG); writew(0, MSYSINT2REG); writew(0, MGIUINTLREG); writew(0, MGIUINTHREG); writew(0, GIUINTENL); writew(0, GIUINTENH); writew(0xffff, GIUINTSTATL); writew(0xffff, GIUINTSTATH); for (i = SYSINT1_IRQ_BASE; i <= GIUINTH_IRQ_LAST; i++) { if (i >= SYSINT1_IRQ_BASE && i <= SYSINT1_IRQ_LAST) irq_desc[i].handler = &sysint1_irq_type; else if (i >= SYSINT2_IRQ_BASE && i <= SYSINT2_IRQ_LAST) irq_desc[i].handler = &sysint2_irq_type; else if (i >= GIUINTL_IRQ_BASE && i <= GIUINTL_IRQ_LAST) irq_desc[i].handler = &giuintl_irq_type; else if (i >= GIUINTH_IRQ_BASE && i <= GIUINTH_IRQ_LAST) irq_desc[i].handler = &giuinth_irq_type; } for (i = 0; i < 32; i++) { vr41xx_irqcascade[i].cascade = 0; vr41xx_irqcascade[i].get_irq_number = no_cascade_get_irq_number; } } void __init init_IRQ(void) { memset(irq_desc, 0, sizeof(irq_desc)); init_generic_irq(); mips_cpu_irq_init(MIPS_CPU_IRQ_BASE); vr41xx_icu_irq_init(); vr41xx_board_irq_init(); setup_irq(ICU_IRQ, &cascade); setup_irq(GIU_IRQ, &cascade); set_except_vector(0, vr41xx_handle_interrupt); } /*=======================================================================*/ static void giuint_do_IRQ(int giuint_irq, struct pt_regs *regs) { struct irqcascade *irq; int cascade_irq; irq = &vr41xx_irqcascade[giuint_irq - GIUINTL_IRQ_BASE]; if (irq->cascade) { cascade_irq = irq->get_irq_number(giuint_irq); disable_irq(giuint_irq); if (cascade_irq > 0) do_IRQ(cascade_irq, regs); enable_irq(giuint_irq); } else do_IRQ(giuint_irq, regs); } static inline void giuint_irqdispatch(u16 pendl, u16 pendh, struct pt_regs *regs) { int i; if (pendl) { for (i = 0; i < 16; i++) { if (pendl & (0x0001 << i)) { giuint_do_IRQ(GIUINTL_IRQ_BASE + i, regs); return; } } } else if (pendh) { for (i = 0; i < 16; i++) { if (pendh & (0x0001 << i)) { giuint_do_IRQ(GIUINTH_IRQ_BASE + i, regs); return; } } } } asmlinkage void icu_irqdispatch(struct pt_regs *regs) { u16 pend1, pend2, pendl, pendh; u16 mask1, mask2, maskl, maskh; int i; pend1 = readw(SYSINT1REG); mask1 = readw(MSYSINT1REG); pend2 = readw(SYSINT2REG); mask2 = readw(MSYSINT2REG); pendl = readw(GIUINTLREG); maskl = readw(MGIUINTLREG); pendh = readw(GIUINTHREG); maskh = readw(MGIUINTHREG); pend1 &= mask1; pend2 &= mask2; pendl &= maskl; pendh &= maskh; if (pend1) { if ((pend1 & 0x01ff) == 0x0100) { giuint_irqdispatch(pendl, pendh, regs); } else { for (i = 0; i < 16; i++) { if (pend1 & (0x0001 << i)) { do_IRQ(SYSINT1_IRQ_BASE + i, regs); break; } } } return; } else if (pend2) { for (i = 0; i < 16; i++) { if (pend2 & (0x0001 << i)) { do_IRQ(SYSINT2_IRQ_BASE + i, regs); break; } } } } --- NEW FILE: icu.h --- /* * FILE NAME * arch/mips/vr41xx/vr4122/common/icu.h * * BRIEF MODULE DESCRIPTION * Include file for Interrupt Control Unit of the NEC VR4122 and VR4131. * * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * Copyright 2002 MontaVista Software Inc. * * 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. */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * - New creation, NEC VR4122 and VR4131 are supported. */ #ifndef __VR41XX_ICU_H #define __VR41XX_ICU_H #include <linux/config.h> #include <asm/addrspace.h> #define SYSINT1REG KSEG1ADDR(0x0f000080) #define GIUINTLREG KSEG1ADDR(0x0f000088) #define MSYSINT1REG KSEG1ADDR(0x0f00008c) #define MGIUINTLREG KSEG1ADDR(0x0f000094) #define NMIREG KSEG1ADDR(0x0f000098) #define SOFTINTREG KSEG1ADDR(0x0f00009a) #define SYSINT2REG KSEG1ADDR(0x0f0000a0) #define GIUINTHREG KSEG1ADDR(0x0f0000a2) #define MSYSINT2REG KSEG1ADDR(0x0f0000a6) #define MGIUINTHREG KSEG1ADDR(0x0f0000a8) #define GIUINTSTATL KSEG1ADDR(0x0f000148) #define GIUINTSTATH KSEG1ADDR(0x0f00014a) #define GIUINTENL KSEG1ADDR(0x0f00014c) #define GIUINTENH KSEG1ADDR(0x0f00014e) #define GIUINTTYPL KSEG1ADDR(0x0f000150) #define GIUINTTYPH KSEG1ADDR(0x0f000152) #define GIUINTALSELL KSEG1ADDR(0x0f000154) #define GIUINTALSELH KSEG1ADDR(0x0f000156) #define GIUINTHTSELL KSEG1ADDR(0x0f000158) #define GIUINTHTSELH KSEG1ADDR(0x0f00015a) #define MIPS_CPU_IRQ_BASE 0 #define SYSINT1_IRQ_BASE 8 #define SYSINT1_IRQ_LAST 23 #define SYSINT2_IRQ_BASE 24 #define SYSINT2_IRQ_LAST 39 #define GIUINTL_IRQ_BASE 40 #define GIUINTL_IRQ_LAST 55 #define GIUINTH_IRQ_BASE 56 #define GIUINTH_IRQ_LAST 71 #define ICU_IRQ 2 #define GIU_IRQ (SYSINT1_IRQ_BASE + 8) #endif /* __VR41XX_ICU_H */ --- NEW FILE: pciu.c --- /* * FILE NAME * arch/mips/vr41xx/vr4122/common/pciu.c * * BRIEF MODULE DESCRIPTION * PCI Control Unit routines for the NEC VR4122 and VR4131. * * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * Copyright 2001,2002 MontaVista Software Inc. * * 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. */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * - New creation, NEC VR4122 and VR4131 are supported. */ #include <linux/config.h> #include <linux/init.h> #include <linux/pci.h> #include <linux/types.h> #include <asm/io.h> #include <asm/vr41xx.h> #include "pciu.h" extern unsigned long vr41xx_vtclock; static inline int vr41xx_pci_config_access(struct pci_dev *dev, int where) { unsigned char bus = dev->bus->number; unsigned int dev_fn = dev->devfn; if (bus == 0) { /* * Type 0 configuration */ if (PCI_SLOT(dev_fn) < 11 || PCI_SLOT(dev_fn) > 31 || where > 255) return -1; writel((1UL << PCI_SLOT(dev_fn))| (PCI_FUNC(dev_fn) << 8) | (where & 0xfc), PCICONFAREG); } else { /* * Type 1 configuration */ if (bus > 255 || PCI_SLOT(dev_fn) > 31 || where > 255) return -1; writel((bus << 16) | (dev_fn << 8) | (where & 0xfc) | 1UL, PCICONFAREG); } return 0; } static int vr41xx_pci_read_config_byte(struct pci_dev *dev, int where, u8 *val) { u32 data; *val = 0xff; if (vr41xx_pci_config_access(dev, where) < 0) return PCIBIOS_DEVICE_NOT_FOUND; data = readl(PCICONFDREG); *val = (u8)(data >> ((where & 3) << 3)); return PCIBIOS_SUCCESSFUL; } static int vr41xx_pci_read_config_word(struct pci_dev *dev, int where, u16 *val) { u32 data; *val = 0xffff; if (where & 1) return PCIBIOS_BAD_REGISTER_NUMBER; if (vr41xx_pci_config_access(dev, where) < 0) return PCIBIOS_DEVICE_NOT_FOUND; data = readl(PCICONFDREG); *val = (u16)(data >> ((where & 2) << 3)); return PCIBIOS_SUCCESSFUL; } static int vr41xx_pci_read_config_dword(struct pci_dev *dev, int where, u32 *val) { *val = 0xffffffff; if (where & 3) return PCIBIOS_BAD_REGISTER_NUMBER; if (vr41xx_pci_config_access(dev, where) < 0) return PCIBIOS_DEVICE_NOT_FOUND; *val = readl(PCICONFDREG); return PCIBIOS_SUCCESSFUL; } static int vr41xx_pci_write_config_byte(struct pci_dev *dev, int where, u8 val) { u32 data; int shift; if (vr41xx_pci_config_access(dev, where) < 0) return PCIBIOS_DEVICE_NOT_FOUND; data = readl(PCICONFDREG); shift = (where & 3) << 3; data &= ~(0xff << shift); data |= (((u32)val) << shift); writel(data, PCICONFDREG); return PCIBIOS_SUCCESSFUL; } static int vr41xx_pci_write_config_word(struct pci_dev *dev, int where, u16 val) { u32 data; int shift; if (where & 1) return PCIBIOS_BAD_REGISTER_NUMBER; if (vr41xx_pci_config_access(dev, where) < 0) return PCIBIOS_DEVICE_NOT_FOUND; data = readl(PCICONFDREG); shift = (where & 2) << 3; data &= ~(0xffff << shift); data |= (((u32)val) << shift); writel(data, PCICONFDREG); return PCIBIOS_SUCCESSFUL; } static int vr41xx_pci_write_config_dword(struct pci_dev *dev, int where, u32 val) { if (where & 3) return PCIBIOS_BAD_REGISTER_NUMBER; if (vr41xx_pci_config_access(dev, where) < 0) return PCIBIOS_DEVICE_NOT_FOUND; writel(val, PCICONFDREG); return PCIBIOS_SUCCESSFUL; } struct pci_ops vr41xx_pci_ops = { vr41xx_pci_read_config_byte, vr41xx_pci_read_config_word, vr41xx_pci_read_config_dword, vr41xx_pci_write_config_byte, vr41xx_pci_write_config_word, vr41xx_pci_write_config_dword }; void __init vr41xx_pciu_init(void) { int n; /* Disable PCI interrupt */ writew(0, MPCIINTREG); /* Select PCI clock */ if (vr41xx_vtclock < MAX_PCI_CLOCK) writel(EQUAL_VTCLOCK, PCICLKSELREG); else if ((vr41xx_vtclock / 2) < MAX_PCI_CLOCK) writel(HALF_VTCLOCK, PCICLKSELREG); else if ((vr41xx_vtclock / 4) < MAX_PCI_CLOCK) writel(QUARTER_VTCLOCK, PCICLKSELREG); else printk(KERN_INFO "Warning: PCI Clock is over 33MHz.\n"); /* Supply PCI clock by PCI bus */ vr41xx_clock_supply(PCI_CLOCK); /* Set master memory & I/O windows */ writel(0x100f9010, PCIMMAW1REG); writel(0x140fd014, PCIMMAW2REG); writel(0x160fd000, PCIMIOAWREG); /* Set target memory windows */ writel(0x00081000, PCITAW1REG); writel(0UL, PCITAW2REG); pciu_write_config_dword(PCI_BASE_ADDRESS_0, 0UL); pciu_write_config_dword(PCI_BASE_ADDRESS_1, 0UL); /* Clear bus error */ n = readl(BUSERRADREG); writel(100, PCITRDYVREG); pciu_write_config_dword(PCI_CACHE_LINE_SIZE, 0x00008004); writel(CONFIG_DONE, PCIENREG); pciu_write_config_dword(PCI_COMMAND, PCI_COMMAND_IO | PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER | PCI_COMMAND_PARITY | PCI_COMMAND_SERR); } --- NEW FILE: pciu.h --- /* * FILE NAME * arch/mips/vr41xx/vr4122/common/pciu.h * * BRIEF MODULE DESCRIPTION * Include file for PCI Control Unit of the NEC VR4122 and VR4131. * * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * Copyright 2002 MontaVista Software Inc. * * 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. */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * - New creation, NEC VR4122 and VR4131 are supported. */ #ifndef __VR41XX_PCIU_H #define __VR41XX_PCIU_H #include <linux/config.h> #include <asm/addrspace.h> #define BIT(x) (1 << (x)) #define PCIMMAW1REG KSEG1ADDR(0x0f000c00) #define PCIMMAW2REG KSEG1ADDR(0x0f000c04) #define PCITAW1REG KSEG1ADDR(0x0f000c08) #define PCITAW2REG KSEG1ADDR(0x0f000c0c) #define PCIMIOAWREG KSEG1ADDR(0x0f000c10) #define INTERNAL_BUS_BASE_ADDRESS 0xff000000 #define ADDRESS_MASK 0x000fe000 #define PCI_ACCESS_ENABLE BIT(12) #define PCI_ADDRESS_SETTING 0x000000ff #define PCICONFDREG KSEG1ADDR(0x0f000c14) #define PCICONFAREG KSEG1ADDR(0x0f000c18) #define PCIMAILREG KSEG1ADDR(0x0f000c1c) #define BUSERRADREG KSEG1ADDR(0x0f000c24) #define ERROR_ADDRESS 0xfffffffc #define INTCNTSTAREG KSEG1ADDR(0x0f000c28) #define MABTCLR BIT(31) #define TRDYCLR BIT(30) #define PARCLR BIT(29) #define MBCLR BIT(28) #define SERRCLR BIT(27) #define PCIEXACCREG KSEG1ADDR(0x0f000c2c) #define UNLOCK BIT(1) #define EAREQ BIT(0) #define PCIRECONTREG KSEG1ADDR(0x0f000c30) #define RTRYCNT 0x000000ff #define PCIENREG KSEG1ADDR(0x0f000c34) #define CONFIG_DONE BIT(2) #define PCICLKSELREG KSEG1ADDR(0x0f000c38) #define EQUAL_VTCLOCK 0x00000002 #define HALF_VTCLOCK 0x00000000 #define QUARTER_VTCLOCK 0x00000001 #define PCITRDYVREG KSEG1ADDR(0x0f000c3c) #define PCICLKRUNREG KSEG1ADDR(0x0f000c60) #define PCIU_CONFIGREGS_BASE KSEG1ADDR(0x0f000d00) #define VENDORIDREG KSEG1ADDR(0x0f000d00) #define DEVICEIDREG KSEG1ADDR(0x0f000d00) #define COMMANDREG KSEG1ADDR(0x0f000d04) #define STATUSREG KSEG1ADDR(0x0f000d04) #define REVIDREG KSEG1ADDR(0x0f000d08) #define CLASSREG KSEG1ADDR(0x0f000d08) #define CACHELSREG KSEG1ADDR(0x0f000d0c) #define LATTIMEREG KSEG1ADDR(0x0f000d0c) #define MAILBAREG KSEG1ADDR(0x0f000d10) #define PCIMBA1REG KSEG1ADDR(0x0f000d14) #define PCIMBA2REG KSEG1ADDR(0x0f000d18) #define INTLINEREG KSEG1ADDR(0x0f000d3c) #define INTPINREG KSEG1ADDR(0x0f000d3c) #define RETVALREG KSEG1ADDR(0x0f000d40) #define PCIAPCNTREG KSEG1ADDR(0x0f000d40) #define MPCIINTREG KSEG1ADDR(0x0f0000b2) #define MAX_PCI_CLOCK 33333333 #define PCI_CLOCK 0x2000 static inline int pciu_read_config_byte(int where, u8 *val) { u32 data; data = readl(PCIU_CONFIGREGS_BASE + where); *val = (u8)(data >> ((where & 3) << 3)); return PCIBIOS_SUCCESSFUL; } static inline int pciu_read_config_word(int where, u16 *val) { u32 data; if (where & 1) return PCIBIOS_BAD_REGISTER_NUMBER; data = readl(PCIU_CONFIGREGS_BASE + where); *val = (u16)(data >> ((where & 2) << 3)); return PCIBIOS_SUCCESSFUL; } static inline int pciu_read_config_dword(int where, u32 *val) { if (where & 3) return PCIBIOS_BAD_REGISTER_NUMBER; *val = readl(PCIU_CONFIGREGS_BASE + where); return PCIBIOS_SUCCESSFUL; } static inline int pciu_write_config_byte(int where, u8 val) { writel(val, PCIU_CONFIGREGS_BASE + where); return 0; } static inline int pciu_write_config_word(int where, u16 val) { writel(val, PCIU_CONFIGREGS_BASE + where); return 0; } static inline int pciu_write_config_dword(int where, u32 val) { writel(val, PCIU_CONFIGREGS_BASE + where); return 0; } #endif /* __VR41XX_PCIU_H */ --- NEW FILE: siu.c --- /* * FILE NAME * arch/mips/vr41xx/vr4122/common/siu.c * * BRIEF MODULE DESCRIPTION * Serial Interface Unit routines for NEC VR4122 and VR4131. * * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * Copyright 2002 MontaVista Software Inc. * * 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. */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * - New creation, NEC VR4122 and VR4131 are supported. */ #include <linux/init.h> #include <linux/types.h> #include <linux/serial.h> #include <asm/io.h> #include <asm/vr41xx.h> #include "siu.h" void vr41xx_siu_ifselect(int interface, int module) { u16 val; if (interface == SIU_IRDA) { /* Select IrDA */ switch (module) { case IRDA_SHARP: val = SIUIRSEL_IRM_SHARP; break; case IRDA_TEMIC: val = SIUIRSEL_IRM_TEMIC; break; case IRDA_HP: val = SIUIRSEL_IRM_HP; break; } val |= SIUIRSEL_SIRSEL; writew(val, SIUIRSEL); } else { /* Select RS-232C */ writew(0, SIUIRSEL); } } void __init vr41xx_siu_init(int line, int interface, int module) { struct serial_struct s; vr41xx_siu_ifselect(interface, module); memset(&s, 0, sizeof(s)); s.line = line; s.baud_base = SIU_BASE_BAUD; s.irq = SIU_IRQ; s.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST; s.iomem_base = (unsigned char *)SIURB; s.iomem_reg_shift = 0; s.io_type = SERIAL_IO_MEM; if (early_serial_setup(&s) != 0) printk(KERN_ERR "SIU setup failed!\n"); vr41xx_clock_supply(SIU_CLOCK); } void __init vr41xx_dsiu_init(int line) { struct serial_struct s; memset(&s, 0, sizeof(s)); s.line = line; s.baud_base = DSIU_BASE_BAUD; s.irq = DSIU_IRQ; s.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST; s.iomem_base = (unsigned char *)DSIURB; s.iomem_reg_shift = 0; s.io_type = SERIAL_IO_MEM; if (early_serial_setup(&s) != 0) printk(KERN_ERR "DSIU setup failed!\n"); vr41xx_clock_supply(DSIU_CLOCK); writew(INTDSIU, MDSIUINTREG); } --- NEW FILE: siu.h --- /* * FILE NAME * arch/mips/vr41xx/vr4122/common/siu.h * * BRIEF MODULE DESCRIPTION * Include file for Serial Interface Unit of NEC VR4122 and VR4131. * * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * Copyright 2002 MontaVista Software Inc. * * 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. */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * - New creation, NEC VR4122 and VR4131 are supported. */ #ifndef __VR41XX_SIU_H #define __VR41XX_SIU_H #include <linux/config.h> #include <asm/addrspace.h> #define SIURB KSEG1ADDR(0x0f000800) #define SIUTH KSEG1ADDR(0x0f000800) #define SIUDLL KSEG1ADDR(0x0f000800) #define SIUIE KSEG1ADDR(0x0f000801) #define SIUDLM KSEG1ADDR(0x0f000801) #define SIUIID KSEG1ADDR(0x0f000802) #define SIUFC KSEG1ADDR(0x0f000802) #define SIULC KSEG1ADDR(0x0f000803) #define SIUMC KSEG1ADDR(0x0f000804) #define SIULS KSEG1ADDR(0x0f000805) #define SIUMS KSEG1ADDR(0x0f000806) #define SIUSC KSEG1ADDR(0x0f000807) #define SIUIRSEL KSEG1ADDR(0x0f000808) #define SIUIRSEL_SIRSEL 0x01 #define SIUIRSEL_IRUSESEL 0x02 #define SIUIRSEL_IRMSEL 0x0c #define SIUIRSEL_IRM_SHARP 0x00 #define SIUIRSEL_IRM_TEMIC 0x04 #define SIUIRSEL_IRM_HP 0x08 #define SIUIRSEL_TMICTX 0x10 #define SIUIRSEL_TMICMODE 0x20 #define SIURESET KSEG1ADDR(0x0f000809) #define SIUCSEL KSEG1ADDR(0x0f00080a) #define SIU_BASE_BAUD 1152000 #define SIU_CLOCK 0x0102 #define SIU_IRQ 17 #define DSIURB KSEG1ADDR(0x0f000820) #define DSIUTH KSEG1ADDR(0x0f000820) #define DSIUDLL KSEG1ADDR(0x0f000820) #define DSIUIE KSEG1ADDR(0x0f000821) #define DSIUIE KSEG1ADDR(0x0f000821) #define DSIUDLM KSEG1ADDR(0x0f000821) #define DSIUIID KSEG1ADDR(0x0f000822) #define DSIUFC KSEG1ADDR(0x0f000822) #define DSIULC KSEG1ADDR(0x0f000823) #define DSIUMC KSEG1ADDR(0x0f000824) #define DSIULS KSEG1ADDR(0x0f000825) #define DSIUMS KSEG1ADDR(0x0f000826) #define DSIUSC KSEG1ADDR(0x0f000827) #define MDSIUINTREG KSEG1ADDR(0x0f000096) #define INTDSIU 0x0800 #define DSIU_BASE_BAUD 1152000 #define DSIU_CLOCK 0x0802 #define DSIU_IRQ 29 #endif /* __VR41XX_SIU_H */ --- NEW FILE: vrc4173.c --- /* * BRIEF MODULE DESCRIPTION * Setup for NEC VRC4173. * * Copyright 2001,2002 MontaVista Software Inc. * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * 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. */ #include <linux/config.h> #ifdef CONFIG_PCI #include <linux/init.h> #include <linux/pci.h> #include <linux/module.h> #include <asm/pci_channel.h> #include <asm/vr4122/eagle.h> #include <asm/vrc4173.h> extern int early_read_config_byte(struct pci_channel *hose, int top_bus, int bus, int devfn, int offset, u8 *val); extern int early_read_config_word(struct pci_channel *hose, int top_bus, int bus, int devfn, int offset, u16 *val); extern int early_read_config_dword(struct pci_channel *hose, int top_bus, int bus, int devfn, int offset, u32 *val); extern int early_write_config_byte(struct pci_channel *hose, int top_bus, int bus, int devfn, int offset, u8 val); extern int early_write_config_word(struct pci_channel *hose, int top_bus, int bus, int devfn, int offset, u16 val); extern int early_write_config_dword(struct pci_channel *hose, int top_bus, int bus, int devfn, int offset, u32 val); struct pci_dev *vrc4173_pci_dev = NULL; EXPORT_SYMBOL(vrc4173_pci_dev); unsigned long vrc4173_io_port_base = 0; EXPORT_SYMBOL(vrc4173_io_port_base); void __init vrc4173_bcu_init(void) { struct pci_channel *hose; int top_bus; int current_bus; u32 pci_devfn, cmdstat, base; u16 vid, did, cmu_mask; hose = mips_pci_channels; top_bus = 0; current_bus = 0; for (pci_devfn = 0; pci_devfn < 0xff; pci_devfn++) { early_read_config_word(hose, top_bus, current_bus, pci_devfn, PCI_VENDOR_ID, &vid); if (vid != PCI_VENDOR_ID_NEC) continue; early_read_config_word(hose, top_bus, current_bus, pci_devfn, PCI_DEVICE_ID, &did); if (did != PCI_DEVICE_ID_NEC_VRC4173_BCU) continue; /* * Initialized NEC VRC4173 Bus Control Unit */ early_read_config_dword(hose, top_bus, current_bus, pci_devfn, PCI_COMMAND, &cmdstat); early_write_config_dword(hose, top_bus, current_bus, pci_devfn, PCI_COMMAND, cmdstat | PCI_COMMAND_IO | PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER); early_write_config_byte(hose, top_bus, current_bus, pci_devfn, PCI_LATENCY_TIMER, 0x80); early_write_config_dword(hose, top_bus, current_bus, pci_devfn, PCI_BASE_ADDRESS_0, VR4122_PCI_IO_START); early_read_config_dword(hose, top_bus, current_bus, pci_devfn, PCI_BASE_ADDRESS_0, &base); base &= PCI_BASE_ADDRESS_IO_MASK; early_write_config_byte(hose, top_bus, current_bus, pci_devfn, PCI_VRC4173_BUSCNT, VRC4173_BUSCNT_POSTON); /* CARDU1 IDSEL = AD12, CARDU2 IDSEL = AD13 */ early_write_config_byte(hose, top_bus, current_bus, pci_devfn, PCI_VRC4173_IDSELNUM, 0); outw(VRC4173_CMUCLKMSK_MSK48MOSC, base + VRC4173_CMUCLKMSK); cmu_mask = inw(base + VRC4173_CMUCLKMSK); cmu_mask |= VRC4173_CMUCLKMSK_MSK48MPIN; outw(cmu_mask, base + VRC4173_CMUCLKMSK); outw(0x000f, base + VRC4173_CMUSRST); cmu_mask = inw(base + VRC4173_CMUCLKMSK); #ifdef CONFIG_USB_OHCI cmu_mask |= (VRC4173_CMUCLKMSK_MSK48MUSB | VRC4173_CMUCLKMSK_MSKUSB); #endif #ifdef CONFIG_PCMCIA cmu_mask |= (VRC4173_CMUCLKMSK_MSKCARD1 | VRC4173_CMUCLKMSK_MSKCARD2); #endif #ifdef CONFIG_SOUND cmu_mask |= VRC4173_CMUCLKMSK_MSKAC97; #endif outw(cmu_mask, base + VRC4173_CMUCLKMSK); cmu_mask = inw(base + VRC4173_CMUCLKMSK); /* dummy read */ outw(0x0000, base + VRC4173_CMUSRST); } } #endif |
From: Paul M. <le...@us...> - 2002-03-07 03:16:57
|
Update of /cvsroot/linux-mips/linux/arch/mips/vr41xx/vr4122/eagle In directory usw-pr-cvs1:/tmp/cvs-serv28915/arch/mips/vr41xx/vr4122/eagle Added Files: Makefile ide-eagle.c init.c irq.c pci_fixup.c setup.c Log Message: Imported Yoichi-san's Vr41xx patch, with some minor modifications. --- NEW FILE: Makefile --- # # Makefile for the NEC Eagle specific parts of the kernel # # Author: Yoichi Yuasa # yy...@mv... or so...@mv... # # Copyright 2001,2002 MontaVista Software Inc. # # Note! Dependencies are done automagically by 'make dep', which also # removes any old dependencies. DON'T put your own dependencies here # unless it's something special (ie not a .c file). # .S.s: $(CPP) $(AFLAGS) $< -o $@ .S.o: $(CC) $(AFLAGS) -c $< -o $@ O_TARGET := eagle.o all: eagle.o obj-y := init.o irq.o setup.o obj-$(CONFIG_IDE) += ide-eagle.o obj-$(CONFIG_PCI) += pci_fixup.o include $(TOPDIR)/Rules.make --- NEW FILE: ide-eagle.c --- /* * 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. * * IDE routines for typical pc-like standard configurations for the NEC Eagle board. * * Copyright (C) 1998, 1999, 2001 by Ralf Baechle */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * Fri, 1 Mar 2002 * - Added NEC Eagle support. */ #include <linux/sched.h> #include <linux/ide.h> #include <linux/ioport.h> #include <linux/hdreg.h> #include <asm/ptrace.h> #include <asm/hdreg.h> static int eagle_ide_default_irq(ide_ioreg_t base) { return 0; } static ide_ioreg_t eagle_ide_default_io_base(int index) { return 0; } static void eagle_ide_init_hwif_ports(hw_regs_t *hw, ide_ioreg_t data_port, ide_ioreg_t ctrl_port, int *irq) { ide_ioreg_t reg = data_port; int i; for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++) { hw->io_ports[i] = reg; reg += 1; } if (ctrl_port) { hw->io_ports[IDE_CONTROL_OFFSET] = ctrl_port; } else { hw->io_ports[IDE_CONTROL_OFFSET] = hw->io_ports[IDE_DATA_OFFSET] + 0x206; } if (irq != NULL) *irq = 0; hw->io_ports[IDE_IRQ_OFFSET] = 0; } static int eagle_ide_request_irq(unsigned int irq, void (*handler)(int,void *, struct pt_regs *), unsigned long flags, const char *device, void *dev_id) { return request_irq(irq, handler, SA_SHIRQ, device, dev_id); } static void eagle_ide_free_irq(unsigned int irq, void *dev_id) { free_irq(irq, dev_id); } static int eagle_ide_check_region(ide_ioreg_t from, unsigned int extent) { return check_region(from, extent); } static void eagle_ide_request_region(ide_ioreg_t from, unsigned int extent, const char *name) { request_region(from, extent, name); } static void eagle_ide_release_region(ide_ioreg_t from, unsigned int extent) { release_region(from, extent); } struct ide_ops eagle_ide_ops = { &eagle_ide_default_irq, &eagle_ide_default_io_base, &eagle_ide_init_hwif_ports, &eagle_ide_request_irq, &eagle_ide_free_irq, &eagle_ide_check_region, &eagle_ide_request_region, &eagle_ide_release_region }; --- NEW FILE: init.c --- /* * FILE NAME * arch/mips/vr41xx/eagle/init.c * * BRIEF MODULE DESCRIPTION * Initialisation code for the NEC Eagle board. * * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * Copyright 2001,2002 MontaVista Software Inc. * * 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. */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * - New creation, NEC Eagle is supported. */ #include <linux/config.h> #include <linux/init.h> #include <linux/kernel.h> #include <linux/string.h> #include <asm/bootinfo.h> char arcs_cmdline[CL_SIZE]; const char *get_system_type(void) { return "NEC Eagle"; } void __init bus_error_init(void) { } void __init prom_init(int argc, char **argv, unsigned long magic, int *prom_vec) { int mem_size = CONFIG_NEC_EAGLE_MEM_SIZE; int i; /* * collect args and prepare cmd_line */ for (i = 1; i < argc; i++) { strcat(arcs_cmdline, argv[i]); if (i < (argc - 1)) strcat(arcs_cmdline, " "); } #if defined(CONFIG_SERIAL_CONSOLE) /* to use 38400 ttyS0 serial console */ strcat(arcs_cmdline, " console=ttyS0,38400"); #endif mips_machgroup = MACH_GROUP_NEC_VR41XX; mips_machtype = MACH_NEC_EAGLE; /* Add memory region */ switch (mem_size) { case 32: add_memory_region(0, 32 << 20, BOOT_MEM_RAM); break; case 64: add_memory_region(0, 64 << 20, BOOT_MEM_RAM); break; case 128: add_memory_region(0, 128 << 20, BOOT_MEM_RAM); break; default: panic("Memory size error"); } } void __init prom_free_prom_memory (void) { } --- NEW FILE: irq.c --- /* * FILE NAME * arch/mips/vr41xx/eagle/irq.c * * BRIEF MODULE DESCRIPTION * Interrupt routines for the NEC Eagle board. * * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * Copyright 2002 MontaVista Software Inc. * * 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. */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * - New creation, NEC Eagle is supported. */ #include <linux/init.h> #include <linux/interrupt.h> #include <asm/io.h> #include <asm/vr41xx/eagle.h> static void enable_pciint_irq(unsigned int irq) { u8 val; val = readb(NEC_EAGLE_PCIINTMSKREG); val |= (u8)1 << (irq - PCIINT_IRQ_BASE); writeb(val, NEC_EAGLE_PCIINTMSKREG); } static void disable_pciint_irq(unsigned int irq) { u8 val; val = readb(NEC_EAGLE_PCIINTMSKREG); val &= ~((u8)1 << (irq - PCIINT_IRQ_BASE)); writeb(val, NEC_EAGLE_PCIINTMSKREG); } static unsigned int startup_pciint_irq(unsigned int irq) { enable_pciint_irq(irq); return 0; /* never anything pending */ } #define shutdown_pciint_irq disable_pciint_irq #define ack_pciint_irq disable_pciint_irq static void end_pciint_irq(unsigned int irq) { if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) enable_pciint_irq(irq); } static struct hw_interrupt_type pciint_irq_type = { "PCIINT", startup_pciint_irq, shutdown_pciint_irq, enable_pciint_irq, disable_pciint_irq, ack_pciint_irq, end_pciint_irq, NULL }; static int pciint_get_irq_number(int irq) { u8 val; int i; val = readb(NEC_EAGLE_PCIINTREG); val &= (NEC_EAGLE_PCIINT_CP_INTA | NEC_EAGLE_PCIINT_CP_INTB | NEC_EAGLE_PCIINT_CP_INTC | NEC_EAGLE_PCIINT_CP_INTD | NEC_EAGLE_PCIINT_LANINT); for (i = 0; i < 5; i++) if (val & (0x01 << i)) return PCIINT_IRQ_BASE + i; return -1; } void __init vr41xx_board_irq_init(void) { int i; writeb(0, NEC_EAGLE_PCIINTMSKREG); for (i = PCIINT_IRQ_BASE; i <= PCIINT_IRQ_LAST; i++) irq_desc[i].handler = &pciint_irq_type; vr41xx_cascade_irq(PCIINT_IRQ, pciint_get_irq_number); } --- NEW FILE: pci_fixup.c --- /* * FILE NAME * arch/mips/vr41xx/eagle/pci_fixup.c * * BRIEF MODULE DESCRIPTION * The NEC Eagle Board specific PCI fixups. * * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * Copyright 2001,2002 MontaVista Software Inc. * * 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. */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * - New creation, NEC Eagle is supported. */ #include <linux/config.h> #ifdef CONFIG_PCI #include <linux/init.h> #include <linux/pci.h> #include <asm/pci_channel.h> #include <asm/vr41xx/eagle.h> #ifdef CONFIG_VRC4173 #include <asm/vr41xx/vrc4173.h> #endif static struct resource vr41xx_pci_io_resource = { "PCI I/O space", VR41XX_PCI_IO_START, VR41XX_PCI_IO_END, IORESOURCE_IO }; static struct resource vr41xx_pci_mem_resource = { "PCI memory space", VR41XX_PCI_MEM_START, VR41XX_PCI_MEM_END, IORESOURCE_MEM }; extern struct pci_ops vr41xx_pci_ops; struct pci_channel mips_pci_channels[] = { {&vr41xx_pci_ops, &vr41xx_pci_io_resource, &vr41xx_pci_mem_resource, 0, 256}, {NULL, NULL, NULL, 0, 0} }; void __init pcibios_fixup_resources(struct pci_dev *dev) { } void __init pcibios_fixup(void) { } void __init pcibios_fixup_irqs(void) { struct pci_dev *dev; u8 slot, func, pin; pci_for_each_dev(dev) { slot = PCI_SLOT(dev->devfn); func = PCI_FUNC(dev->devfn); dev->irq = 0; switch (slot) { case 11: case 12: case 13: case 14: case 15: pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin); switch (pin) { case 1: dev->irq = CP_INTA_IRQ; break; case 2: break; dev->irq = CP_INTB_IRQ; case 3: break; dev->irq = CP_INTC_IRQ; case 4: break; dev->irq = CP_INTD_IRQ; } break; #ifdef CONFIG_VRC4173 case 24: dev->irq = VRC4173_CARDU1_IRQ; break; case 25: dev->irq = VRC4173_CARDU2_IRQ; break; #endif case 28: dev->irq = LANINTA_IRQ; break; case 29: dev->irq = PCISLOT_IRQ; break; #ifdef CONFIG_VRC4173 case 30: switch (func) { case 0: dev->irq = VRC4173_IRQ; break; case 1: dev->irq = VRC4173_AC97U_IRQ; break; case 2: dev->irq = VRC4173_USBU_IRQ; break; } break; #endif } pci_write_config_byte(dev, PCI_INTERRUPT_LINE, dev->irq); } } unsigned int pcibios_assign_all_busses(void) { return 0; } #endif --- NEW FILE: setup.c --- /* * FILE NAME * arch/mips/vr41xx/eagle/setup.c * * BRIEF MODULE DESCRIPTION * Setup for the NEC Eagle board. * * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * Copyright 2001,2002 MontaVista Software Inc. * * 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. */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * - New creation, NEC Eagle is supported. */ #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/eagle.h> #ifdef CONFIG_BLK_DEV_INITRD extern unsigned long initrd_start, initrd_end; extern void * __rd_start, * __rd_end; #endif #ifdef CONFIG_BLK_DEV_IDE extern struct ide_ops eagle_ide_ops; #endif void __init nec_vr41xx_setup(void) { set_io_port_base(IO_PORT_BASE); ioport_resource.start = IO_PORT_RESOURCE_START; ioport_resource.end = IO_PORT_RESOURCE_END; iomem_resource.start = IO_MEM_RESOURCE_START; iomem_resource.end = IO_MEM_RESOURCE_END; #ifdef CONFIG_BLK_DEV_INITRD ROOT_DEV = MKDEV(RAMDISK_MAJOR, 0); initrd_start = (unsigned long)&__rd_start; initrd_end = (unsigned long)&__rd_end; #endif _machine_restart = vr41xx_restart; _machine_halt = vr41xx_halt; _machine_power_off = vr41xx_power_off; board_time_init = vr41xx_time_init; board_timer_setup = vr41xx_timer_setup; #ifdef CONFIG_FB conswitchp = &dummy_con; #endif #ifdef CONFIG_BLK_DEV_IDE ide_ops = &eagle_ide_ops; #endif vr41xx_bcu_init(); vr41xx_dsiu_init(0); vr41xx_siu_init(1, SIU_RS232C, 0); #ifdef CONFIG_PCI vr41xx_pciu_init(); #endif #ifdef CONFIG_VRC4173 vrc4173_init(); #endif } |
From: Paul M. <le...@us...> - 2002-03-07 03:16:57
|
Update of /cvsroot/linux-mips/linux/arch/mips/vr41xx/vr4121/workpad In directory usw-pr-cvs1:/tmp/cvs-serv28915/arch/mips/vr41xx/vr4121/workpad Added Files: Makefile ide-workpad.c init.c irq.c setup.c Log Message: Imported Yoichi-san's Vr41xx patch, with some minor modifications. --- NEW FILE: Makefile --- # # Makefile for the IBM WorkPad z50 specific parts of the kernel # # Note! Dependencies are done automagically by 'make dep', which also # removes any old dependencies. DON'T put your own dependencies here # unless it's something special (ie not a .c file). # .S.s: $(CPP) $(AFLAGS) $< -o $@ .S.o: $(CC) $(AFLAGS) -c $< -o $@ O_TARGET := workpad.o all: workpad.o obj-y := init.o irq.o setup.o obj-$(CONFIG_IDE) += ide-workpad.o include $(TOPDIR)/Rules.make --- NEW FILE: ide-workpad.c --- /* * 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. * * IDE routines for typical pc-like standard configurations for the IBM WorkPad z50. * * Copyright (C) 1998, 1999, 2001 by Ralf Baechle */ /* * Changes: * Yoichi Yuasa <yu...@hh...> Sun, 24 Feb 2002 * - Added IBM WorkPad z50 support. */ #include <linux/sched.h> #include <linux/ide.h> #include <linux/ioport.h> #include <linux/hdreg.h> #include <asm/ptrace.h> #include <asm/hdreg.h> static int workpad_ide_default_irq(ide_ioreg_t base) { return 49; } static ide_ioreg_t workpad_ide_default_io_base(int index) { switch (index) { case 0: return 0x1f0; case 1: return 0x170; case 2: return 0x1e8; case 3: return 0x168; case 4: return 0x1e0; case 5: return 0x160; } return 0; } static void workpad_ide_init_hwif_ports(hw_regs_t *hw, ide_ioreg_t data_port, ide_ioreg_t ctrl_port, int *irq) { ide_ioreg_t reg = data_port; int i; for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++) { hw->io_ports[i] = reg; reg += 1; } if (ctrl_port) { hw->io_ports[IDE_CONTROL_OFFSET] = ctrl_port; } else { hw->io_ports[IDE_CONTROL_OFFSET] = hw->io_ports[IDE_DATA_OFFSET] + 0x206; } if (irq != NULL) *irq = 0; hw->io_ports[IDE_IRQ_OFFSET] = 0; } static int workpad_ide_request_irq(unsigned int irq, void (*handler)(int,void *, struct pt_regs *), unsigned long flags, const char *device, void *dev_id) { return request_irq(irq, handler, SA_SHIRQ, device, dev_id); } static void workpad_ide_free_irq(unsigned int irq, void *dev_id) { free_irq(irq, dev_id); } static int workpad_ide_check_region(ide_ioreg_t from, unsigned int extent) { return check_region(from, extent); } static void workpad_ide_request_region(ide_ioreg_t from, unsigned int extent, const char *name) { request_region(from, extent, name); } static void workpad_ide_release_region(ide_ioreg_t from, unsigned int extent) { release_region(from, extent); } struct ide_ops workpad_ide_ops = { &workpad_ide_default_irq, &workpad_ide_default_io_base, &workpad_ide_init_hwif_ports, &workpad_ide_request_irq, &workpad_ide_free_irq, &workpad_ide_check_region, &workpad_ide_request_region, &workpad_ide_release_region }; --- NEW FILE: init.c --- /* * FILE NAME * arch/mips/vr41xx/workpad/init.c * * BRIEF MODULE DESCRIPTION * Initialisation code for the IBM WorkPad z50. * * Copyright 2002 Yoichi Yuasa * yu...@hh... * * 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. */ #include <linux/config.h> #include <linux/init.h> #include <linux/kernel.h> #include <linux/string.h> #include <asm/bootinfo.h> char arcs_cmdline[CL_SIZE]; const char *get_system_type(void) { return "IBM WorkPad z50"; } void __init bus_error_init(void) { } void __init prom_init(int argc, char **argv, unsigned long magic, int *prom_vec) { int mem_size = CONFIG_IBM_WORKPAD_MEM_SIZE; int i; /* * collect args and prepare cmd_line */ for (i = 1; i < argc; i++) { strcat(arcs_cmdline, argv[i]); if (i < (argc - 1)) strcat(arcs_cmdline, " "); } #if defined(CONFIG_SERIAL_CONSOLE) /* to use 9600 ttyS0 serial console */ strcat(arcs_cmdline, " console=ttyS0,9600"); #endif #ifdef CONFIG_BLK_DEV_IDEDISK strcat(arcs_cmdline, " root=/dev/hdc1"); #endif mips_machgroup = MACH_GROUP_NEC_VR41XX; mips_machtype = MACH_IBM_WORKPAD; /* Add memory region */ switch (mem_size) { case 16: add_memory_region(0, 16 << 20, BOOT_MEM_RAM); case 32: add_memory_region(0, 32 << 20, BOOT_MEM_RAM); break; case 48: add_memory_region(0, 16 << 20, BOOT_MEM_RAM); add_memory_region(32 << 20, 64 << 20, BOOT_MEM_RAM); break; case 64: add_memory_region(0, 64 << 20, BOOT_MEM_RAM); break; default: panic("Memory size error"); } } void __init prom_free_prom_memory (void) { } --- NEW FILE: irq.c --- /* * FILE NAME * arch/mips/vr41xx/workpad/irq.c * * BRIEF MODULE DESCRIPTION * Interrupt routines for the IBM WorkPad z50. * * Copyright 2002 Yoichi Yuasa * yu...@hh... * * 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. */ #include <linux/init.h> void __init vr41xx_board_irq_init(void) { } --- NEW FILE: setup.c --- /* * FILE NAME * arch/mips/vr41xx/workpad/setup.c * * BRIEF MODULE DESCRIPTION * Setup for the IBM WorkPad z50. * * Copyright 2002 Yoichi Yuasa * yu...@hh... * * 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. */ #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/workpad.h> #ifdef CONFIG_BLK_DEV_INITRD extern unsigned long initrd_start, initrd_end; extern void * __rd_start, * __rd_end; #endif #ifdef CONFIG_BLK_DEV_IDE extern struct ide_ops workpad_ide_ops; #endif void __init nec_vr41xx_setup(void) { set_io_port_base(IO_PORT_BASE); ioport_resource.start = IO_PORT_RESOURCE_START; ioport_resource.end = IO_PORT_RESOURCE_END; iomem_resource.start = IO_MEM_RESOURCE_START; iomem_resource.end = IO_MEM_RESOURCE_END; #ifdef CONFIG_BLK_DEV_INITRD ROOT_DEV = MKDEV(RAMDISK_MAJOR, 0); initrd_start = (unsigned long)&__rd_start; initrd_end = (unsigned long)&__rd_end; #endif _machine_restart = vr41xx_restart; _machine_halt = vr41xx_halt; _machine_power_off = vr41xx_power_off; board_time_init = vr41xx_time_init; board_timer_setup = vr41xx_timer_setup; #ifdef CONFIG_FB conswitchp = &dummy_con; #endif #ifdef CONFIG_BLK_DEV_IDE ide_ops = &workpad_ide_ops; #endif vr41xx_bcu_init(); vr41xx_siu_init(0, SIU_RS232C, 0); } |
From: Paul M. <le...@us...> - 2002-03-07 03:16:56
|
Update of /cvsroot/linux-mips/linux/arch/mips/vr41xx/vr4111/common In directory usw-pr-cvs1:/tmp/cvs-serv28915/arch/mips/vr41xx/vr4111/common Added Files: Makefile bcu.c cmu.c icu.c icu.h siu.c siu.h Log Message: Imported Yoichi-san's Vr41xx patch, with some minor modifications. --- NEW FILE: Makefile --- # # Makefile for common code of the NEC VR4111. # # Note! Dependencies are done automagically by 'make dep', which also # removes any old dependencies. DON'T put your own dependencies here # unless it's something special (ie not a .c file). # .S.s: $(CPP) $(CFLAGS) $< -o $*.s .S.o: $(CC) $(CFLAGS) -c $< -o $*.o all: vr4111.o O_TARGET := vr4111.o obj-y := bcu.o cmu.o icu.o siu.o include $(TOPDIR)/Rules.make --- NEW FILE: bcu.c --- /* * FILE NAME * arch/mips/vr41xx/vr4111/common/bcu.c * * BRIEF MODULE DESCRIPTION * Bus Control Unit routines for the NEC VR4111. * * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * Copyright 2002 MontaVista Software Inc. * * 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. */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * - New creation, NEC VR4122 and VR4131 are supported. * * Yoichi Yuasa <yu...@hh...> Tue, 5 Mar 2002 * - Modified this code for VR4111 support. */ #include <linux/types.h> #include <asm/io.h> #include <asm/param.h> #include <asm/time.h> #define CLKSPEEDREG KSEG1ADDR(0x0b000014) #define calc_pclock(clksp) ((18432000 * 64) / ((clksp) & 0x001f)) static inline unsigned long calc_tclock(u16 clksp, unsigned long pclock) { u16 div; if (!(clksp & 0x8000)) div = 2; else if (!(clksp & 0x4000)) div = 3; else if (!(clksp & 0x2000)) div = 4; return pclock / div; } void vr41xx_bcu_init(void) { unsigned long pclock, tclock; u16 clksp; clksp = readw(CLKSPEEDREG); pclock = calc_pclock(clksp); printk(KERN_INFO "PClock: %ldHz\n", pclock); tclock = calc_tclock(clksp, pclock); printk(KERN_INFO "TClock: %ldHz\n", tclock); mips_counter_frequency = tclock / 4; } --- NEW FILE: cmu.c --- /* * FILE NAME * arch/mips/vr41xx/vr4111/common/cmu.c * * BRIEF MODULE DESCRIPTION * Clock Mask Unit routines for the NEC VR4111. * * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * Copyright 2001,2002 MontaVista Software Inc. * * 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. */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * - New creation, NEC VR4122 and VR4131 are supported. * * Yoichi Yuasa <yu...@hh...> Tue, 5 Mar 2002 * - Modified this code for VR4121 support * * Yoichi Yuasa <yu...@hh...> Tue, 5 Mar 2002 * - This file was copied from arch/mips/vr41xx/vr4121/common/cmu.c. * Only FILE NAME and BRIEF MODULE DESCRIPTION modified this file. */ #include <linux/spinlock.h> #include <linux/types.h> #include <asm/io.h> #define CMUCLKMSK KSEG1ADDR(0x0b000060) rwlock_t vr41xx_cmu_lock = RW_LOCK_UNLOCKED; void vr41xx_clock_supply(u16 mask) { unsigned long flags; u16 val; write_lock_irqsave(&vr41xx_cmu_lock, flags); val = readw(CMUCLKMSK); val |= mask; writew(val, CMUCLKMSK); write_unlock_irqrestore(&vr41xx_cmu_lock, flags); } void vr41xx_clock_mask(u16 mask) { unsigned long flags; u16 val; write_lock_irqsave(&vr41xx_cmu_lock, flags); val = readw(CMUCLKMSK); val &= ~mask; writew(val, CMUCLKMSK); write_unlock_irqrestore(&vr41xx_cmu_lock, flags); } --- NEW FILE: icu.c --- /* * FILE NAME * arch/mips/vr41xx/vr4111/common/icu.c * * BRIEF MODULE DESCRIPTION * Interrupt Control Unit routines for the NEC VR4111. * * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * Copyright 2001,2002 MontaVista Software Inc. * * 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. */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * - New creation, NEC VR4122 and VR4131 are supported. * * Yoichi Yuasa <yu...@hh...> Tue, 5 Mar 2002 * - This file was copied from arch/mips/vr41xx/vr4122/common/icu.c. * Only FILE NAME and BRIEF MODULE DESCRIPTION modified this file. */ #include <linux/init.h> #include <linux/interrupt.h> #include <linux/irq.h> #include <linux/types.h> #include <asm/io.h> #include <asm/mipsregs.h> #include <asm/vr41xx.h> #include "icu.h" extern asmlinkage void vr41xx_handle_interrupt(void); extern void __init init_generic_irq(void); extern void mips_cpu_irq_init(u32 irq_base); extern unsigned int do_IRQ(int irq, struct pt_regs *regs); /*=======================================================================*/ static void enable_sysint1_irq(unsigned int irq) { u16 val; val = readw(MSYSINT1REG); val |= (u16)1 << (irq - SYSINT1_IRQ_BASE); writew(val, MSYSINT1REG); } static void disable_sysint1_irq(unsigned int irq) { u16 val; val = readw(MSYSINT1REG); val &= ~((u16)1 << (irq - SYSINT1_IRQ_BASE)); writew(val, MSYSINT1REG); } static unsigned int startup_sysint1_irq(unsigned int irq) { enable_sysint1_irq(irq); return 0; /* never anything pending */ } #define shutdown_sysint1_irq disable_sysint1_irq #define ack_sysint1_irq disable_sysint1_irq static void end_sysint1_irq(unsigned int irq) { if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) enable_sysint1_irq(irq); } static struct hw_interrupt_type sysint1_irq_type = { "SYSINT1", startup_sysint1_irq, shutdown_sysint1_irq, enable_sysint1_irq, disable_sysint1_irq, ack_sysint1_irq, end_sysint1_irq, NULL }; /*=======================================================================*/ static void enable_sysint2_irq(unsigned int irq) { u16 val; val = readw(MSYSINT2REG); val |= (u16)1 << (irq - SYSINT2_IRQ_BASE); writew(val, MSYSINT2REG); } static void disable_sysint2_irq(unsigned int irq) { u16 val; val = readw(MSYSINT2REG); val &= ~((u16)1 << (irq - SYSINT2_IRQ_BASE)); writew(val, MSYSINT2REG); } static unsigned int startup_sysint2_irq(unsigned int irq) { enable_sysint2_irq(irq); return 0; /* never anything pending */ } #define shutdown_sysint2_irq disable_sysint2_irq #define ack_sysint2_irq disable_sysint2_irq static void end_sysint2_irq(unsigned int irq) { if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) enable_sysint2_irq(irq); } static struct hw_interrupt_type sysint2_irq_type = { "SYSINT2", startup_sysint2_irq, shutdown_sysint2_irq, enable_sysint2_irq, disable_sysint2_irq, ack_sysint2_irq, end_sysint2_irq, NULL }; /*=======================================================================*/ static void enable_giuintl_irq(unsigned int irq) { u16 val, mask; mask = (u16)1 << (irq - GIUINTL_IRQ_BASE); writew(mask, GIUINTSTATL); val = readw(MGIUINTLREG); val |= mask; writew(val, MGIUINTLREG); val = readw(GIUINTENL); val |= mask; writew(val, GIUINTENL); } static void disable_giuintl_irq(unsigned int irq) { u16 val, mask; mask = (u16)1 << (irq - GIUINTL_IRQ_BASE); val = readw(GIUINTENL); val &= ~mask; writew(val, GIUINTENL); val = readw(MGIUINTLREG); val &= ~mask; writew(val, MGIUINTLREG); writew(mask, GIUINTSTATL); } static unsigned int startup_giuintl_irq(unsigned int irq) { enable_giuintl_irq(irq); return 0; /* never anything pending */ } #define shutdown_giuintl_irq disable_giuintl_irq #define ack_giuintl_irq disable_giuintl_irq static void end_giuintl_irq(unsigned int irq) { if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) enable_giuintl_irq(irq); } static struct hw_interrupt_type giuintl_irq_type = { "GIUINTL", startup_giuintl_irq, shutdown_giuintl_irq, enable_giuintl_irq, disable_giuintl_irq, ack_giuintl_irq, end_giuintl_irq, NULL }; /*=======================================================================*/ static void enable_giuinth_irq(unsigned int irq) { unsigned short val, mask; mask = (u16)1 << (irq - GIUINTH_IRQ_BASE); writew(mask, GIUINTSTATH); val = readw(MGIUINTHREG); val |= mask; writew(val, MGIUINTHREG); val = readw(GIUINTENH); val |= mask; writew(val, GIUINTENH); } static void disable_giuinth_irq(unsigned int irq) { unsigned short val, mask; mask = (u16)1 << (irq - GIUINTH_IRQ_BASE); val= readw(GIUINTENH); val &= ~mask; writew(val, GIUINTENH); val = readw(MGIUINTHREG); val &= ~mask; writew(val, MGIUINTHREG); writew(mask, GIUINTSTATH); } static unsigned int startup_giuinth_irq(unsigned int irq) { enable_giuinth_irq(irq); return 0; /* never anything pending */ } #define shutdown_giuinth_irq disable_giuinth_irq #define ack_giuinth_irq disable_giuinth_irq static void end_giuinth_irq(unsigned int irq) { if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) enable_giuinth_irq(irq); } static struct hw_interrupt_type giuinth_irq_type = { "GIUINTH", startup_giuinth_irq, shutdown_giuinth_irq, enable_giuinth_irq, disable_giuinth_irq, ack_giuinth_irq, end_giuinth_irq, NULL }; /*=======================================================================*/ static struct irqcascade vr41xx_irqcascade[32]; static struct irqaction cascade = {no_action, 0, 0, "cascade", NULL, NULL}; static int no_cascade_get_irq_number(int irq) { return -1; } void vr41xx_cascade_irq(unsigned int irq, int (*get_irq_number)(int irq)) { if (GIUINTL_IRQ_BASE <= irq < GIUINTH_IRQ_LAST) { vr41xx_irqcascade[irq - GIUINTL_IRQ_BASE].cascade = 1; vr41xx_irqcascade[irq - GIUINTL_IRQ_BASE].get_irq_number = get_irq_number; setup_irq(irq, &cascade); } } static void __init vr41xx_icu_irq_init(void) { int i; writew(0, MSYSINT1REG); writew(0, MSYSINT2REG); writew(0, MGIUINTLREG); writew(0, MGIUINTHREG); writew(0, GIUINTENL); writew(0, GIUINTENH); writew(0xffff, GIUINTSTATL); writew(0xffff, GIUINTSTATH); for (i = SYSINT1_IRQ_BASE; i <= GIUINTH_IRQ_LAST; i++) { if (i >= SYSINT1_IRQ_BASE && i <= SYSINT1_IRQ_LAST) irq_desc[i].handler = &sysint1_irq_type; else if (i >= SYSINT2_IRQ_BASE && i <= SYSINT2_IRQ_LAST) irq_desc[i].handler = &sysint2_irq_type; else if (i >= GIUINTL_IRQ_BASE && i <= GIUINTL_IRQ_LAST) irq_desc[i].handler = &giuintl_irq_type; else if (i >= GIUINTH_IRQ_BASE && i <= GIUINTH_IRQ_LAST) irq_desc[i].handler = &giuinth_irq_type; } for (i = 0; i < 32; i++) { vr41xx_irqcascade[i].cascade = 0; vr41xx_irqcascade[i].get_irq_number = no_cascade_get_irq_number; } } void __init init_IRQ(void) { memset(irq_desc, 0, sizeof(irq_desc)); init_generic_irq(); mips_cpu_irq_init(MIPS_CPU_IRQ_BASE); vr41xx_icu_irq_init(); vr41xx_board_irq_init(); setup_irq(ICU_IRQ, &cascade); setup_irq(GIU_IRQ, &cascade); set_except_vector(0, vr41xx_handle_interrupt); } /*=======================================================================*/ static void giuint_do_IRQ(int giuint_irq, struct pt_regs *regs) { struct irqcascade *irq; int cascade_irq; irq = &vr41xx_irqcascade[giuint_irq - GIUINTL_IRQ_BASE]; if (irq->cascade) { cascade_irq = irq->get_irq_number(giuint_irq); disable_irq(giuint_irq); if (cascade_irq > 0) do_IRQ(cascade_irq, regs); enable_irq(giuint_irq); } else do_IRQ(giuint_irq, regs); } static inline void giuint_irqdispatch(u16 pendl, u16 pendh, struct pt_regs *regs) { int i; if (pendl) { for (i = 0; i < 16; i++) { if (pendl & (0x0001 << i)) { giuint_do_IRQ(GIUINTL_IRQ_BASE + i, regs); return; } } } else if (pendh) { for (i = 0; i < 16; i++) { if (pendh & (0x0001 << i)) { giuint_do_IRQ(GIUINTH_IRQ_BASE + i, regs); return; } } } } asmlinkage void icu_irqdispatch(struct pt_regs *regs) { u16 pend1, pend2, pendl, pendh; u16 mask1, mask2, maskl, maskh; int i; pend1 = readw(SYSINT1REG); mask1 = readw(MSYSINT1REG); pend2 = readw(SYSINT2REG); mask2 = readw(MSYSINT2REG); pendl = readw(GIUINTLREG); maskl = readw(MGIUINTLREG); pendh = readw(GIUINTHREG); maskh = readw(MGIUINTHREG); pend1 &= mask1; pend2 &= mask2; pendl &= maskl; pendh &= maskh; if (pend1) { if ((pend1 & 0x01ff) == 0x0100) { giuint_irqdispatch(pendl, pendh, regs); } else { for (i = 0; i < 16; i++) { if (pend1 & (0x0001 << i)) { do_IRQ(SYSINT1_IRQ_BASE + i, regs); break; } } } return; } else if (pend2) { for (i = 0; i < 16; i++) { if (pend2 & (0x0001 << i)) { do_IRQ(SYSINT2_IRQ_BASE + i, regs); break; } } } } --- NEW FILE: icu.h --- /* * FILE NAME * arch/mips/vr41xx/vr4111/common/icu.h * * BRIEF MODULE DESCRIPTION * Include file for Interrupt Control Unit of the NEC VR4111. * * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * Copyright 2002 MontaVista Software Inc. * * 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. */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * - New creation, NEC VR4122 and VR4131 are supported. * * Yoichi Yuasa <yu...@hh...> Tue, 5 Mar 2002 * - Modified this code for VR4121 support. * * Yoichi Yuasa <yu...@hh...> Tue, 5 Mar 2002 * - This file was copied from arch/mips/vr41xx/vr4121/common/icu.h. * Only FILE NAME and BRIEF MODULE DESCRIPTION modified this file. */ #ifndef __VR41XX_ICU_H #define __VR41XX_ICU_H #include <linux/config.h> #include <asm/addrspace.h> #define SYSINT1REG KSEG1ADDR(0x0b000080) #define GIUINTLREG KSEG1ADDR(0x0b000088) #define MSYSINT1REG KSEG1ADDR(0x0b00008c) #define MGIUINTLREG KSEG1ADDR(0x0b000094) #define NMIREG KSEG1ADDR(0x0b000098) #define SOFTINTREG KSEG1ADDR(0x0b00009a) #define SYSINT2REG KSEG1ADDR(0x0b000200) #define GIUINTHREG KSEG1ADDR(0x0b000202) #define MSYSINT2REG KSEG1ADDR(0x0b000206) #define MGIUINTHREG KSEG1ADDR(0x0b000208) #define GIUINTSTATL KSEG1ADDR(0x0b000108) #define GIUINTSTATH KSEG1ADDR(0x0b00010a) #define GIUINTENL KSEG1ADDR(0x0b00010c) #define GIUINTENH KSEG1ADDR(0x0b00010e) #define GIUINTTYPL KSEG1ADDR(0x0b000110) #define GIUINTTYPH KSEG1ADDR(0x0b000112) #define GIUINTALSELL KSEG1ADDR(0x0b000114) #define GIUINTALSELH KSEG1ADDR(0x0b000116) #define GIUINTHTSELL KSEG1ADDR(0x0b000118) #define GIUINTHTSELH KSEG1ADDR(0x0b00011a) #define MIPS_CPU_IRQ_BASE 0 #define SYSINT1_IRQ_BASE 8 #define SYSINT1_IRQ_LAST 23 #define SYSINT2_IRQ_BASE 24 #define SYSINT2_IRQ_LAST 39 #define GIUINTL_IRQ_BASE 40 #define GIUINTL_IRQ_LAST 55 #define GIUINTH_IRQ_BASE 56 #define GIUINTH_IRQ_LAST 71 #define ICU_IRQ 2 #define GIU_IRQ (SYSINT1_IRQ_BASE + 8) #endif /* __VR41XX_ICU_H */ --- NEW FILE: siu.c --- /* * FILE NAME * arch/mips/vr41xx/vr4111/common/siu.c * * BRIEF MODULE DESCRIPTION * Serial Interface Unit routines for NEC VR4111. * * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * Copyright 2002 MontaVista Software Inc. * * 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. */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * - New creation, NEC VR4122 and VR4131 are supported. * * Yoichi Yuasa <yu...@hh...> Tue, 5 Mar 2002 * - This file was copied from arch/mips/vr41xx/vr4122/common/siu.c. * I only removed vr41xx_dsiu_init(). * * Yoichi Yuasa <yu...@hh...> Tue, 5 Mar 2002 * - This file was copied from arch/mips/vr41xx/vr4121/common/siu.c. * Only FILE NAME and BRIEF MODULE DESCRIPTION modified this file. */ #include <linux/init.h> #include <linux/types.h> #include <linux/serial.h> #include <asm/io.h> #include <asm/vr41xx.h> #include "siu.h" void vr41xx_siu_ifselect(int interface, int module) { u16 val; if (interface == SIU_IRDA) { /* Select IrDA */ switch (module) { case IRDA_SHARP: val = SIUIRSEL_IRM_SHARP; break; case IRDA_TEMIC: val = SIUIRSEL_IRM_TEMIC; break; case IRDA_HP: val = SIUIRSEL_IRM_HP; break; } val |= SIUIRSEL_SIRSEL; writew(val, SIUIRSEL); } else { /* Select RS-232C */ writew(0, SIUIRSEL); } } void __init vr41xx_siu_init(int line, int interface, int module) { struct serial_struct s; vr41xx_siu_ifselect(interface, module); memset(&s, 0, sizeof(s)); s.line = line; s.baud_base = SIU_BASE_BAUD; s.irq = SIU_IRQ; s.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST; s.iomem_base = (unsigned char *)SIURB; s.iomem_reg_shift = 0; s.io_type = SERIAL_IO_MEM; if (early_serial_setup(&s) != 0) printk(KERN_ERR "SIU setup failed!\n"); vr41xx_clock_supply(SIU_CLOCK); } --- NEW FILE: siu.h --- /* * FILE NAME * arch/mips/vr41xx/vr4111/common/siu.h * * BRIEF MODULE DESCRIPTION * Include file for Serial Interface Unit of NEC VR4111. * * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * Copyright 2002 MontaVista Software Inc. * * 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. */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * - New creation, NEC VR4122 and VR4131 are supported. * * Yoichi Yuasa <yu...@hh...> Tue, 5 Mar 2002 * - This file was copied from arch/mips/vr41xx/vr4122/common/siu.h. * I only removed DSIU. * * Yoichi Yuasa <yu...@hh...> Tue, 5 Mar 2002 * - This file was copied from arch/mips/vr41xx/vr4121/common/siu.h. * Only FILE NAME and BRIEF MODULE DESCRIPTION modified this file. */ #ifndef __VR41XX_SIU_H #define __VR41XX_SIU_H #include <linux/config.h> #include <asm/addrspace.h> #define SIURB KSEG1ADDR(0x0c000000) #define SIUTH KSEG1ADDR(0x0c000000) #define SIUDLL KSEG1ADDR(0x0c000000) #define SIUIE KSEG1ADDR(0x0c000001) #define SIUDLM KSEG1ADDR(0x0c000001) #define SIUIID KSEG1ADDR(0x0c000002) #define SIUFC KSEG1ADDR(0x0c000002) #define SIULC KSEG1ADDR(0x0c000003) #define SIUMC KSEG1ADDR(0x0c000004) #define SIULS KSEG1ADDR(0x0c000005) #define SIUMS KSEG1ADDR(0x0c000006) #define SIUSC KSEG1ADDR(0x0c000007) #define SIUIRSEL KSEG1ADDR(0x0c000008) #define SIUIRSEL_SIRSEL 0x01 #define SIUIRSEL_IRUSESEL 0x02 #define SIUIRSEL_IRMSEL 0x0c #define SIUIRSEL_IRM_SHARP 0x00 #define SIUIRSEL_IRM_TEMIC 0x04 #define SIUIRSEL_IRM_HP 0x08 #define SIUIRSEL_TMICTX 0x10 #define SIUIRSEL_TMICMODE 0x20 #define SIURESET KSEG1ADDR(0x0c000009) #define SIUCSEL KSEG1ADDR(0x0c00000a) #define SIU_BASE_BAUD 1152000 #define SIU_CLOCK 0x0102 #define SIU_IRQ 17 #endif /* __VR41XX_SIU_H */ |
From: Paul M. <le...@us...> - 2002-03-07 03:16:56
|
Update of /cvsroot/linux-mips/linux/arch/mips/vr41xx/vr4121/common In directory usw-pr-cvs1:/tmp/cvs-serv28915/arch/mips/vr41xx/vr4121/common Added Files: Makefile bcu.c cmu.c icu.c icu.h siu.c siu.h Log Message: Imported Yoichi-san's Vr41xx patch, with some minor modifications. --- NEW FILE: Makefile --- # # Makefile for common code of the NEC VR4121. # # Note! Dependencies are done automagically by 'make dep', which also # removes any old dependencies. DON'T put your own dependencies here # unless it's something special (ie not a .c file). # .S.s: $(CPP) $(CFLAGS) $< -o $*.s .S.o: $(CC) $(CFLAGS) -c $< -o $*.o all: vr4121.o O_TARGET := vr4121.o obj-y := bcu.o cmu.o icu.o siu.o include $(TOPDIR)/Rules.make --- NEW FILE: bcu.c --- /* * FILE NAME * arch/mips/vr41xx/vr4121/common/bcu.c * * BRIEF MODULE DESCRIPTION * Bus Control Unit routines for the NEC VR4121. * * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * Copyright 2002 MontaVista Software Inc. * * 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. */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * - New creation, NEC VR4122 and VR4131 are supported. * * Yoichi Yuasa <yu...@hh...> Tue, 5 Mar 2002 * - Modified this code for VR4121 support. */ #include <linux/types.h> #include <asm/io.h> #include <asm/param.h> #include <asm/time.h> #define CLKSPEEDREG KSEG1ADDR(0x0b000014) #define calc_pclock(clksp) ((18432000 * 64) / ((clksp) & 0x001f)) #define calc_tclock(clksp,pclock) ((pclock) / (((clksp) & 0xf000) >> 12)) unsigned long vr41xx_vtclock = 0; static inline unsigned long calc_vtclock(u16 clksp, unsigned long pclock) { u16 div; div = (clksp & 0x0f00) >> 8; switch (div) { case 9: pclock *= 6; break; case 10: pclock *= 4; break; } return pclock / div; } void vr41xx_bcu_init(void) { unsigned long pclock, tclock; u16 clksp; clksp = readw(CLKSPEEDREG); pclock = calc_pclock(clksp); printk(KERN_INFO "PClock: %ldHz\n", pclock); vr41xx_vtclock = calc_vtclock(clksp, pclock); printk(KERN_INFO "VTClock: %ldHz\n", vr41xx_vtclock); tclock = calc_tclock(clksp, pclock); printk(KERN_INFO "TClock: %ldHz\n", tclock); mips_counter_frequency = tclock / 4; } --- NEW FILE: cmu.c --- /* * FILE NAME * arch/mips/vr41xx/vr4121/common/cmu.c * * BRIEF MODULE DESCRIPTION * Clock Mask Unit routines for the NEC VR4121. * * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * Copyright 2001,2002 MontaVista Software Inc. * * 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. */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * - New creation, NEC VR4122 and VR4131 are supported. * * Yoichi Yuasa <yu...@hh...> Tue, 5 Mar 2002 * - Modified this code for VR4121 support */ #include <linux/spinlock.h> #include <linux/types.h> #include <asm/io.h> #define CMUCLKMSK KSEG1ADDR(0x0b000060) rwlock_t vr41xx_cmu_lock = RW_LOCK_UNLOCKED; void vr41xx_clock_supply(u16 mask) { unsigned long flags; u16 val; write_lock_irqsave(&vr41xx_cmu_lock, flags); val = readw(CMUCLKMSK); val |= mask; writew(val, CMUCLKMSK); write_unlock_irqrestore(&vr41xx_cmu_lock, flags); } void vr41xx_clock_mask(u16 mask) { unsigned long flags; u16 val; write_lock_irqsave(&vr41xx_cmu_lock, flags); val = readw(CMUCLKMSK); val &= ~mask; writew(val, CMUCLKMSK); write_unlock_irqrestore(&vr41xx_cmu_lock, flags); } --- NEW FILE: icu.c --- /* * FILE NAME * arch/mips/vr41xx/vr4121/common/icu.c * * BRIEF MODULE DESCRIPTION * Interrupt Control Unit routines for the NEC VR4121. * * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * Copyright 2001,2002 MontaVista Software Inc. * * 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. */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * - New creation, NEC VR4122 and VR4131 are supported. * * Yoichi Yuasa <yu...@hh...> Tue, 5 Mar 2002 * - This file was copied from arch/mips/vr41xx/vr4122/common/icu.c. * Only FILE NAME and BRIEF MODULE DESCRIPTION modified this file. */ #include <linux/init.h> #include <linux/interrupt.h> #include <linux/irq.h> #include <linux/types.h> #include <asm/io.h> #include <asm/mipsregs.h> #include <asm/vr41xx.h> #include "icu.h" extern asmlinkage void vr41xx_handle_interrupt(void); extern void __init init_generic_irq(void); extern void mips_cpu_irq_init(u32 irq_base); extern unsigned int do_IRQ(int irq, struct pt_regs *regs); /*=======================================================================*/ static void enable_sysint1_irq(unsigned int irq) { u16 val; val = readw(MSYSINT1REG); val |= (u16)1 << (irq - SYSINT1_IRQ_BASE); writew(val, MSYSINT1REG); } static void disable_sysint1_irq(unsigned int irq) { u16 val; val = readw(MSYSINT1REG); val &= ~((u16)1 << (irq - SYSINT1_IRQ_BASE)); writew(val, MSYSINT1REG); } static unsigned int startup_sysint1_irq(unsigned int irq) { enable_sysint1_irq(irq); return 0; /* never anything pending */ } #define shutdown_sysint1_irq disable_sysint1_irq #define ack_sysint1_irq disable_sysint1_irq static void end_sysint1_irq(unsigned int irq) { if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) enable_sysint1_irq(irq); } static struct hw_interrupt_type sysint1_irq_type = { "SYSINT1", startup_sysint1_irq, shutdown_sysint1_irq, enable_sysint1_irq, disable_sysint1_irq, ack_sysint1_irq, end_sysint1_irq, NULL }; /*=======================================================================*/ static void enable_sysint2_irq(unsigned int irq) { u16 val; val = readw(MSYSINT2REG); val |= (u16)1 << (irq - SYSINT2_IRQ_BASE); writew(val, MSYSINT2REG); } static void disable_sysint2_irq(unsigned int irq) { u16 val; val = readw(MSYSINT2REG); val &= ~((u16)1 << (irq - SYSINT2_IRQ_BASE)); writew(val, MSYSINT2REG); } static unsigned int startup_sysint2_irq(unsigned int irq) { enable_sysint2_irq(irq); return 0; /* never anything pending */ } #define shutdown_sysint2_irq disable_sysint2_irq #define ack_sysint2_irq disable_sysint2_irq static void end_sysint2_irq(unsigned int irq) { if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) enable_sysint2_irq(irq); } static struct hw_interrupt_type sysint2_irq_type = { "SYSINT2", startup_sysint2_irq, shutdown_sysint2_irq, enable_sysint2_irq, disable_sysint2_irq, ack_sysint2_irq, end_sysint2_irq, NULL }; /*=======================================================================*/ static void enable_giuintl_irq(unsigned int irq) { u16 val, mask; mask = (u16)1 << (irq - GIUINTL_IRQ_BASE); writew(mask, GIUINTSTATL); val = readw(MGIUINTLREG); val |= mask; writew(val, MGIUINTLREG); val = readw(GIUINTENL); val |= mask; writew(val, GIUINTENL); } static void disable_giuintl_irq(unsigned int irq) { u16 val, mask; mask = (u16)1 << (irq - GIUINTL_IRQ_BASE); val = readw(GIUINTENL); val &= ~mask; writew(val, GIUINTENL); val = readw(MGIUINTLREG); val &= ~mask; writew(val, MGIUINTLREG); writew(mask, GIUINTSTATL); } static unsigned int startup_giuintl_irq(unsigned int irq) { enable_giuintl_irq(irq); return 0; /* never anything pending */ } #define shutdown_giuintl_irq disable_giuintl_irq #define ack_giuintl_irq disable_giuintl_irq static void end_giuintl_irq(unsigned int irq) { if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) enable_giuintl_irq(irq); } static struct hw_interrupt_type giuintl_irq_type = { "GIUINTL", startup_giuintl_irq, shutdown_giuintl_irq, enable_giuintl_irq, disable_giuintl_irq, ack_giuintl_irq, end_giuintl_irq, NULL }; /*=======================================================================*/ static void enable_giuinth_irq(unsigned int irq) { unsigned short val, mask; mask = (u16)1 << (irq - GIUINTH_IRQ_BASE); writew(mask, GIUINTSTATH); val = readw(MGIUINTHREG); val |= mask; writew(val, MGIUINTHREG); val = readw(GIUINTENH); val |= mask; writew(val, GIUINTENH); } static void disable_giuinth_irq(unsigned int irq) { unsigned short val, mask; mask = (u16)1 << (irq - GIUINTH_IRQ_BASE); val= readw(GIUINTENH); val &= ~mask; writew(val, GIUINTENH); val = readw(MGIUINTHREG); val &= ~mask; writew(val, MGIUINTHREG); writew(mask, GIUINTSTATH); } static unsigned int startup_giuinth_irq(unsigned int irq) { enable_giuinth_irq(irq); return 0; /* never anything pending */ } #define shutdown_giuinth_irq disable_giuinth_irq #define ack_giuinth_irq disable_giuinth_irq static void end_giuinth_irq(unsigned int irq) { if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) enable_giuinth_irq(irq); } static struct hw_interrupt_type giuinth_irq_type = { "GIUINTH", startup_giuinth_irq, shutdown_giuinth_irq, enable_giuinth_irq, disable_giuinth_irq, ack_giuinth_irq, end_giuinth_irq, NULL }; /*=======================================================================*/ static struct irqcascade vr41xx_irqcascade[32]; static struct irqaction cascade = {no_action, 0, 0, "cascade", NULL, NULL}; static int no_cascade_get_irq_number(int irq) { return -1; } void vr41xx_cascade_irq(unsigned int irq, int (*get_irq_number)(int irq)) { if (GIUINTL_IRQ_BASE <= irq < GIUINTH_IRQ_LAST) { vr41xx_irqcascade[irq - GIUINTL_IRQ_BASE].cascade = 1; vr41xx_irqcascade[irq - GIUINTL_IRQ_BASE].get_irq_number = get_irq_number; setup_irq(irq, &cascade); } } static void __init vr41xx_icu_irq_init(void) { int i; writew(0, MSYSINT1REG); writew(0, MSYSINT2REG); writew(0, MGIUINTLREG); writew(0, MGIUINTHREG); writew(0, GIUINTENL); writew(0, GIUINTENH); writew(0xffff, GIUINTSTATL); writew(0xffff, GIUINTSTATH); for (i = SYSINT1_IRQ_BASE; i <= GIUINTH_IRQ_LAST; i++) { if (i >= SYSINT1_IRQ_BASE && i <= SYSINT1_IRQ_LAST) irq_desc[i].handler = &sysint1_irq_type; else if (i >= SYSINT2_IRQ_BASE && i <= SYSINT2_IRQ_LAST) irq_desc[i].handler = &sysint2_irq_type; else if (i >= GIUINTL_IRQ_BASE && i <= GIUINTL_IRQ_LAST) irq_desc[i].handler = &giuintl_irq_type; else if (i >= GIUINTH_IRQ_BASE && i <= GIUINTH_IRQ_LAST) irq_desc[i].handler = &giuinth_irq_type; } for (i = 0; i < 32; i++) { vr41xx_irqcascade[i].cascade = 0; vr41xx_irqcascade[i].get_irq_number = no_cascade_get_irq_number; } } void __init init_IRQ(void) { memset(irq_desc, 0, sizeof(irq_desc)); init_generic_irq(); mips_cpu_irq_init(MIPS_CPU_IRQ_BASE); vr41xx_icu_irq_init(); vr41xx_board_irq_init(); setup_irq(ICU_IRQ, &cascade); setup_irq(GIU_IRQ, &cascade); set_except_vector(0, vr41xx_handle_interrupt); } /*=======================================================================*/ static void giuint_do_IRQ(int giuint_irq, struct pt_regs *regs) { struct irqcascade *irq; int cascade_irq; irq = &vr41xx_irqcascade[giuint_irq - GIUINTL_IRQ_BASE]; if (irq->cascade) { cascade_irq = irq->get_irq_number(giuint_irq); disable_irq(giuint_irq); if (cascade_irq > 0) do_IRQ(cascade_irq, regs); enable_irq(giuint_irq); } else do_IRQ(giuint_irq, regs); } static inline void giuint_irqdispatch(u16 pendl, u16 pendh, struct pt_regs *regs) { int i; if (pendl) { for (i = 0; i < 16; i++) { if (pendl & (0x0001 << i)) { giuint_do_IRQ(GIUINTL_IRQ_BASE + i, regs); return; } } } else if (pendh) { for (i = 0; i < 16; i++) { if (pendh & (0x0001 << i)) { giuint_do_IRQ(GIUINTH_IRQ_BASE + i, regs); return; } } } } asmlinkage void icu_irqdispatch(struct pt_regs *regs) { u16 pend1, pend2, pendl, pendh; u16 mask1, mask2, maskl, maskh; int i; pend1 = readw(SYSINT1REG); mask1 = readw(MSYSINT1REG); pend2 = readw(SYSINT2REG); mask2 = readw(MSYSINT2REG); pendl = readw(GIUINTLREG); maskl = readw(MGIUINTLREG); pendh = readw(GIUINTHREG); maskh = readw(MGIUINTHREG); pend1 &= mask1; pend2 &= mask2; pendl &= maskl; pendh &= maskh; if (pend1) { if ((pend1 & 0x01ff) == 0x0100) { giuint_irqdispatch(pendl, pendh, regs); } else { for (i = 0; i < 16; i++) { if (pend1 & (0x0001 << i)) { do_IRQ(SYSINT1_IRQ_BASE + i, regs); break; } } } return; } else if (pend2) { for (i = 0; i < 16; i++) { if (pend2 & (0x0001 << i)) { do_IRQ(SYSINT2_IRQ_BASE + i, regs); break; } } } } --- NEW FILE: icu.h --- /* * FILE NAME * arch/mips/vr41xx/vr4121/common/icu.h * * BRIEF MODULE DESCRIPTION * Include file for Interrupt Control Unit of the NEC VR4121. * * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * Copyright 2002 MontaVista Software Inc. * * 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. */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * - New creation, NEC VR4122 and VR4131 are supported. * * Yoichi Yuasa <yu...@hh...> Tue, 5 Mar 2002 * - Modified this code for VR4121 support. */ #ifndef __VR41XX_ICU_H #define __VR41XX_ICU_H #include <linux/config.h> #include <asm/addrspace.h> #define SYSINT1REG KSEG1ADDR(0x0b000080) #define GIUINTLREG KSEG1ADDR(0x0b000088) #define MSYSINT1REG KSEG1ADDR(0x0b00008c) #define MGIUINTLREG KSEG1ADDR(0x0b000094) #define NMIREG KSEG1ADDR(0x0b000098) #define SOFTINTREG KSEG1ADDR(0x0b00009a) #define SYSINT2REG KSEG1ADDR(0x0b000200) #define GIUINTHREG KSEG1ADDR(0x0b000202) #define MSYSINT2REG KSEG1ADDR(0x0b000206) #define MGIUINTHREG KSEG1ADDR(0x0b000208) #define GIUINTSTATL KSEG1ADDR(0x0b000108) #define GIUINTSTATH KSEG1ADDR(0x0b00010a) #define GIUINTENL KSEG1ADDR(0x0b00010c) #define GIUINTENH KSEG1ADDR(0x0b00010e) #define GIUINTTYPL KSEG1ADDR(0x0b000110) #define GIUINTTYPH KSEG1ADDR(0x0b000112) #define GIUINTALSELL KSEG1ADDR(0x0b000114) #define GIUINTALSELH KSEG1ADDR(0x0b000116) #define GIUINTHTSELL KSEG1ADDR(0x0b000118) #define GIUINTHTSELH KSEG1ADDR(0x0b00011a) #define MIPS_CPU_IRQ_BASE 0 #define SYSINT1_IRQ_BASE 8 #define SYSINT1_IRQ_LAST 23 #define SYSINT2_IRQ_BASE 24 #define SYSINT2_IRQ_LAST 39 #define GIUINTL_IRQ_BASE 40 #define GIUINTL_IRQ_LAST 55 #define GIUINTH_IRQ_BASE 56 #define GIUINTH_IRQ_LAST 71 #define ICU_IRQ 2 #define GIU_IRQ (SYSINT1_IRQ_BASE + 8) #endif /* __VR41XX_ICU_H */ --- NEW FILE: siu.c --- /* * FILE NAME * arch/mips/vr41xx/vr4121/common/siu.c * * BRIEF MODULE DESCRIPTION * Serial Interface Unit routines for NEC VR4121. * * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * Copyright 2002 MontaVista Software Inc. * * 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. */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * - New creation, NEC VR4122 and VR4131 are supported. * * Yoichi Yuasa <yu...@hh...> Tue, 5 Mar 2002 * - This file was copied from arch/mips/vr41xx/vr4122/common/siu.c. * I only removed vr41xx_dsiu_init(). */ #include <linux/init.h> #include <linux/types.h> #include <linux/serial.h> #include <asm/io.h> #include <asm/vr41xx.h> #include "siu.h" void vr41xx_siu_ifselect(int interface, int module) { u16 val; if (interface == SIU_IRDA) { /* Select IrDA */ switch (module) { case IRDA_SHARP: val = SIUIRSEL_IRM_SHARP; break; case IRDA_TEMIC: val = SIUIRSEL_IRM_TEMIC; break; case IRDA_HP: val = SIUIRSEL_IRM_HP; break; } val |= SIUIRSEL_SIRSEL; writew(val, SIUIRSEL); } else { /* Select RS-232C */ writew(0, SIUIRSEL); } } void __init vr41xx_siu_init(int line, int interface, int module) { struct serial_struct s; vr41xx_siu_ifselect(interface, module); memset(&s, 0, sizeof(s)); s.line = line; s.baud_base = SIU_BASE_BAUD; s.irq = SIU_IRQ; s.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST; s.iomem_base = (unsigned char *)SIURB; s.iomem_reg_shift = 0; s.io_type = SERIAL_IO_MEM; if (early_serial_setup(&s) != 0) printk(KERN_ERR "SIU setup failed!\n"); vr41xx_clock_supply(SIU_CLOCK); } --- NEW FILE: siu.h --- /* * FILE NAME * arch/mips/vr41xx/vr4121/common/siu.h * * BRIEF MODULE DESCRIPTION * Include file for Serial Interface Unit of NEC VR4121. * * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * Copyright 2002 MontaVista Software Inc. * * 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. */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * - New creation, NEC VR4122 and VR4131 are supported. * * Yoichi Yuasa <yu...@hh...> Tue, 5 Mar 2002 * - This file was copied from arch/mips/vr41xx/vr4122/common/siu.h. * I only removed DSIU. */ #ifndef __VR41XX_SIU_H #define __VR41XX_SIU_H #include <linux/config.h> #include <asm/addrspace.h> #define SIURB KSEG1ADDR(0x0c000000) #define SIUTH KSEG1ADDR(0x0c000000) #define SIUDLL KSEG1ADDR(0x0c000000) #define SIUIE KSEG1ADDR(0x0c000001) #define SIUDLM KSEG1ADDR(0x0c000001) #define SIUIID KSEG1ADDR(0x0c000002) #define SIUFC KSEG1ADDR(0x0c000002) #define SIULC KSEG1ADDR(0x0c000003) #define SIUMC KSEG1ADDR(0x0c000004) #define SIULS KSEG1ADDR(0x0c000005) #define SIUMS KSEG1ADDR(0x0c000006) #define SIUSC KSEG1ADDR(0x0c000007) #define SIUIRSEL KSEG1ADDR(0x0c000008) #define SIUIRSEL_SIRSEL 0x01 #define SIUIRSEL_IRUSESEL 0x02 #define SIUIRSEL_IRMSEL 0x0c #define SIUIRSEL_IRM_SHARP 0x00 #define SIUIRSEL_IRM_TEMIC 0x04 #define SIUIRSEL_IRM_HP 0x08 #define SIUIRSEL_TMICTX 0x10 #define SIUIRSEL_TMICMODE 0x20 #define SIURESET KSEG1ADDR(0x0c000009) #define SIUCSEL KSEG1ADDR(0x0c00000a) #define SIU_BASE_BAUD 1152000 #define SIU_CLOCK 0x0102 #define SIU_IRQ 17 #endif /* __VR41XX_SIU_H */ |
From: Paul M. <le...@us...> - 2002-03-07 03:16:56
|
Update of /cvsroot/linux-mips/linux/arch/mips/vr41xx/vr4111/casio-e55 In directory usw-pr-cvs1:/tmp/cvs-serv28915/arch/mips/vr41xx/vr4111/casio-e55 Added Files: Makefile ide-e55.c init.c irq.c setup.c Log Message: Imported Yoichi-san's Vr41xx patch, with some minor modifications. --- NEW FILE: Makefile --- # # Makefile for the CASIO CASSIOPEIA E-55/65 specific parts of the kernel # # Note! Dependencies are done automagically by 'make dep', which also # removes any old dependencies. DON'T put your own dependencies here # unless it's something special (ie not a .c file). # .S.s: $(CPP) $(AFLAGS) $< -o $@ .S.o: $(CC) $(AFLAGS) -c $< -o $@ O_TARGET := casio-e55.o all: casio-e55.o obj-y := init.o irq.o setup.o obj-$(CONFIG_IDE) += ide-e55.o include $(TOPDIR)/Rules.make --- NEW FILE: ide-e55.c --- /* * 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. * * IDE routines for typical pc-like standard configurations * for the CASIO CASSIOPEIA E-55/65. * * Copyright (C) 1998, 1999, 2001 by Ralf Baechle */ /* * Changes: * Yoichi Yuasa <yu...@hh...> Sun, 24 Feb 2002 * - Added CASIO CASSIOPEIA E-55/65 support. */ #include <linux/sched.h> #include <linux/ide.h> #include <linux/ioport.h> #include <linux/hdreg.h> #include <asm/ptrace.h> #include <asm/hdreg.h> static int e55_ide_default_irq(ide_ioreg_t base) { return 40; } static ide_ioreg_t e55_ide_default_io_base(int index) { switch (index) { case 0: return 0xc1f0; case 1: return 0xc170; case 2: return 0xc1e8; case 3: return 0xc168; case 4: return 0xc1e0; case 5: return 0xc160; } return 0; } static void e55_ide_init_hwif_ports(hw_regs_t *hw, ide_ioreg_t data_port, ide_ioreg_t ctrl_port, int *irq) { ide_ioreg_t reg = data_port; int i; for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++) { hw->io_ports[i] = reg; reg += 1; } if (ctrl_port) { hw->io_ports[IDE_CONTROL_OFFSET] = ctrl_port; } else { hw->io_ports[IDE_CONTROL_OFFSET] = hw->io_ports[IDE_DATA_OFFSET] + 0x206; } if (irq != NULL) *irq = 0; hw->io_ports[IDE_IRQ_OFFSET] = 0; } static int e55_ide_request_irq(unsigned int irq, void (*handler)(int,void *, struct pt_regs *), unsigned long flags, const char *device, void *dev_id) { return request_irq(irq, handler, flags, device, dev_id); } static void e55_ide_free_irq(unsigned int irq, void *dev_id) { free_irq(irq, dev_id); } static int e55_ide_check_region(ide_ioreg_t from, unsigned int extent) { return check_region(from, extent); } static void e55_ide_request_region(ide_ioreg_t from, unsigned int extent, const char *name) { request_region(from, extent, name); } static void e55_ide_release_region(ide_ioreg_t from, unsigned int extent) { release_region(from, extent); } struct ide_ops e55_ide_ops = { &e55_ide_default_irq, &e55_ide_default_io_base, &e55_ide_init_hwif_ports, &e55_ide_request_irq, &e55_ide_free_irq, &e55_ide_check_region, &e55_ide_request_region, &e55_ide_release_region }; --- NEW FILE: init.c --- /* * FILE NAME * arch/mips/vr41xx/e55/init.c * * BRIEF MODULE DESCRIPTION * Initialisation code for the CASIO CASSIOPEIA E-55/65. * * Copyright 2002 Yoichi Yuasa * yu...@hh... * * 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. */ #include <linux/config.h> #include <linux/init.h> #include <linux/kernel.h> #include <linux/string.h> #include <asm/bootinfo.h> char arcs_cmdline[CL_SIZE]; const char *get_system_type(void) { return "CASIO CASSIOPEIA E-55/65"; } void __init bus_error_init(void) { } void __init prom_init(int argc, char **argv, unsigned long magic, int *prom_vec) { int i; /* * collect args and prepare cmd_line */ for (i = 1; i < argc; i++) { strcat(arcs_cmdline, argv[i]); if (i < (argc - 1)) strcat(arcs_cmdline, " "); } #if defined(CONFIG_SERIAL_CONSOLE) /* to use 9600 ttyS0 serial console */ strcat(arcs_cmdline, " console=ttyS0,9600"); #endif #ifdef CONFIG_BLK_DEV_IDEDISK strcat(arcs_cmdline, " root=/dev/hdc1"); #endif mips_machgroup = MACH_GROUP_NEC_VR41XX; mips_machtype = MACH_CASIO_E55; /* Add memory region */ add_memory_region(0, 16 << 20, BOOT_MEM_RAM); } void __init prom_free_prom_memory (void) { } --- NEW FILE: irq.c --- /* * FILE NAME * arch/mips/vr41xx/e55/irq.c * * BRIEF MODULE DESCRIPTION * Interrupt routines for the CASIO CASSIOPEIA E-55/65. * * Copyright 2002 Yoichi Yuasa * yu...@hh... * * 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. */ #include <linux/init.h> void __init vr41xx_board_irq_init(void) { } --- NEW FILE: setup.c --- /* * FILE NAME * arch/mips/vr41xx/e55/setup.c * * BRIEF MODULE DESCRIPTION * Setup for the CASIO CASSIOPEIA E-55/65. * * Copyright 2002 Yoichi Yuasa * yu...@hh... * * 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. */ #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/e55.h> #ifdef CONFIG_BLK_DEV_INITRD extern unsigned long initrd_start, initrd_end; extern void * __rd_start, * __rd_end; #endif #ifdef CONFIG_BLK_DEV_IDE extern struct ide_ops e55_ide_ops; #endif void __init nec_vr41xx_setup(void) { set_io_port_base(IO_PORT_BASE); ioport_resource.start = IO_PORT_RESOURCE_START; ioport_resource.end = IO_PORT_RESOURCE_END; iomem_resource.start = IO_MEM_RESOURCE_START; iomem_resource.end = IO_MEM_RESOURCE_END; #ifdef CONFIG_BLK_DEV_INITRD ROOT_DEV = MKDEV(RAMDISK_MAJOR, 0); initrd_start = (unsigned long)&__rd_start; initrd_end = (unsigned long)&__rd_end; #endif _machine_restart = vr41xx_restart; _machine_halt = vr41xx_halt; _machine_power_off = vr41xx_power_off; board_time_init = vr41xx_time_init; board_timer_setup = vr41xx_timer_setup; #ifdef CONFIG_FB conswitchp = &dummy_con; #endif #ifdef CONFIG_BLK_DEV_IDE ide_ops = &e55_ide_ops; #endif vr41xx_bcu_init(); vr41xx_siu_init(0, SIU_RS232C, 0); } |
From: Paul M. <le...@us...> - 2002-03-07 03:16:56
|
Update of /cvsroot/linux-mips/linux/arch/mips/vr41xx/common In directory usw-pr-cvs1:/tmp/cvs-serv28915/arch/mips/vr41xx/common Modified Files: Makefile reset.c Added Files: int-handler.S time.c Removed Files: cmu.c Log Message: Imported Yoichi-san's Vr41xx patch, with some minor modifications. --- NEW FILE: int-handler.S --- /* * FILE NAME * arch/mips/vr41xx/common/int-handler.S * * BRIEF MODULE DESCRIPTION * Interrupt dispatcher for the NEC VR4100 series. * * Author: Yoichi Yuasa * yy...@mv... or so...@mv... * * Copyright 2001 MontaVista Software Inc. * * 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. */ /* * Changes: * MontaVista Software Inc. <yy...@mv...> or <so...@mv...> * - New creation, NEC VR4100 series are supported. */ #include <asm/asm.h> #include <asm/regdef.h> #include <asm/mipsregs.h> #include <asm/stackframe.h> .text .set noreorder .align 5 NESTED(vr41xx_handle_interrupt, PT_SIZE, ra) .set noat SAVE_ALL CLI .set at .set noreorder /* * Get the pending interrupts */ mfc0 t0, CP0_CAUSE mfc0 t1, CP0_STATUS andi t0, 0xff00 and t0, t0, t1 andi t1, t0, CAUSEF_IP7 # timer interrupt beqz t1, 1f li a0, 7 jal ll_timer_interrupt move a1, sp j ret_from_irq 1: andi t1, t0, 0x7800 # check for IP3-6 beqz t1, 2f andi t1, t0, CAUSEF_IP3 # check for IP3 bnez t1, handle_it li a0, 3 andi t1, t0, CAUSEF_IP4 # check for IP4 bnez t1, handle_it li a0, 4 andi t1, t0, CAUSEF_IP5 # check for IP5 bnez t1, handle_it li a0, 5 andi t1, t0, CAUSEF_IP6 # check for IP6 bnez t1, handle_it li a0, 6 2: andi t1, t0, CAUSEF_IP2 # check for IP2 beqz t1, 3f move a0, sp jal icu_irqdispatch nop j ret_from_irq nop 3: andi t1, t0, CAUSEF_IP0 # check for IP0 bnez t1, handle_it li a0, 0 andi t1, t0, CAUSEF_IP1 # check for IP1 bnez t1, handle_it li a0, 1 j spurious_interrupt nop handle_it: jal do_IRQ move a1, sp j ret_from_irq END(vr41xx_handle_interrupt) Index: Makefile =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/vr41xx/common/Makefile,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- Makefile 27 Nov 2001 18:49:22 -0000 1.4 +++ Makefile 7 Mar 2002 03:16:53 -0000 1.5 @@ -1,13 +1,22 @@ # -# Makefile for common code for the NEC VR41xx family +# Makefile for common code of the NEC VR4100 series. # # Note! Dependencies are done automagically by 'make dep', which also # removes any old dependencies. DON'T put your own dependencies here # unless it's something special (ie not a .c file). # -O_TARGET:= vr41xx.o +.S.s: + $(CPP) $(CFLAGS) $< -o $*.s +.S.o: + $(CC) $(CFLAGS) -c $< -o $*.o -obj-y := reset.o cmu.o +all: vr41xx.o + +O_TARGET := vr41xx.o + +obj-y := int-handler.o reset.o + +obj-$(CONFIG_VR41XX_TIME_C) += time.o include $(TOPDIR)/Rules.make Index: reset.c =================================================================== RCS file: /cvsroot/linux-mips/linux/arch/mips/vr41xx/common/reset.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- reset.c 27 Nov 2001 01:16:41 -0000 1.3 +++ reset.c 7 Mar 2002 03:16:53 -0000 1.4 @@ -1,43 +1,37 @@ /* - * VR41xx reset - * - * Copyright (C) 2000 Michael Klar - * Copyright (C) 2000 SATO Kazumi - * Copyright (C) 2001 Jim Paris <ji...@jt...> - * - * 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. + * 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. * + * Copyright (C) 1997, 2001 Ralf Baechle + * Copyright 2001 MontaVista Software Inc. + * Author: js...@mv... or js...@ju... */ - -#include <linux/kernel.h> -#include <linux/init.h> -#include <linux/config.h> -#include <linux/delay.h> +#include <linux/sched.h> #include <linux/mm.h> -#include <linux/sysctl.h> -#include <linux/pm.h> -#include <linux/acpi.h> -#include <asm/vr41xx.h> -#include <asm/cacheops.h> -#include <asm/mipsregs.h> -#include <asm/pgalloc.h> +#include <asm/io.h> +#include <asm/pgtable.h> +#include <asm/processor.h> +#include <asm/reboot.h> +#include <asm/system.h> -void vr41xx_restart(char *c) +void vr41xx_restart(char *command) { - void *reset_addr = (void *)0xbfc00000; + change_cp0_status((ST0_BEV | ST0_ERL), (ST0_BEV | ST0_ERL)); + change_cp0_config(CONF_CM_CMASK, CONF_CM_UNCACHED); + flush_cache_all(); + write_32bit_cp0_register(CP0_WIRED, 0); + __asm__ __volatile__("jr\t%0"::"r"(0xbfc00000)); +} - /* - * Try deadman's reset: set it to 1 second and wait for 2 - */ - *(volatile int *)VR41XX_DSUCLRREG = 1; /* clear last one */ - *(volatile int *)VR41XX_DSUSETREG = 1; /* 1sec */ - *(volatile int *)VR41XX_DSUCNTREG = 1; /* enable deadman switch */ - mdelay(2000); /* wait 2 second */ +void vr41xx_halt(void) +{ + printk(KERN_NOTICE "\n** You can safely turn off the power\n"); + while (1); +} - /* - * That didn't work, so try jumping to the start address - */ - goto *reset_addr; +void vr41xx_power_off(void) +{ + vr41xx_halt(); } --- cmu.c DELETED --- |
From: Paul M. <le...@us...> - 2002-03-07 03:16:56
|
Update of /cvsroot/linux-mips/linux/arch/mips/vr4122/eagle In directory usw-pr-cvs1:/tmp/cvs-serv28915/arch/mips/vr4122/eagle Removed Files: Makefile irq.c pci_fixup.c prom.c setup.c Log Message: Imported Yoichi-san's Vr41xx patch, with some minor modifications. --- Makefile DELETED --- --- irq.c DELETED --- --- pci_fixup.c DELETED --- --- prom.c DELETED --- --- setup.c DELETED --- |
Update of /cvsroot/linux-mips/linux/arch/mips/vr4122/common In directory usw-pr-cvs1:/tmp/cvs-serv28915/arch/mips/vr4122/common Removed Files: Makefile cmu.c dbg_io.c icu.c int-handler.S pci_ops.c reset.c time.c vrc4173.c Log Message: Imported Yoichi-san's Vr41xx patch, with some minor modifications. --- Makefile DELETED --- --- cmu.c DELETED --- --- dbg_io.c DELETED --- --- icu.c DELETED --- --- int-handler.S DELETED --- --- pci_ops.c DELETED --- --- reset.c DELETED --- --- time.c DELETED --- --- vrc4173.c DELETED --- |
From: Paul M. <le...@us...> - 2002-03-07 03:15:39
|
Update of /cvsroot/linux-mips/linux/arch/mips/vr41xx/vr4121/workpad In directory usw-pr-cvs1:/tmp/cvs-serv28759/arch/mips/vr41xx/vr4121/workpad Log Message: Directory /cvsroot/linux-mips/linux/arch/mips/vr41xx/vr4121/workpad added to the repository |
From: Paul M. <le...@us...> - 2002-03-07 03:15:07
|
Update of /cvsroot/linux-mips/linux/arch/mips/vr41xx/vr4121/common In directory usw-pr-cvs1:/tmp/cvs-serv28580/arch/mips/vr41xx/vr4121/common Log Message: Directory /cvsroot/linux-mips/linux/arch/mips/vr41xx/vr4121/common added to the repository |
From: Paul M. <le...@us...> - 2002-03-07 03:14:28
|
Update of /cvsroot/linux-mips/linux/arch/mips/vr41xx/vr4122/mp-c303 In directory usw-pr-cvs1:/tmp/cvs-serv28339/arch/mips/vr41xx/vr4122/mp-c303 Log Message: Directory /cvsroot/linux-mips/linux/arch/mips/vr41xx/vr4122/mp-c303 added to the repository |
From: Paul M. <le...@us...> - 2002-03-07 03:13:58
|
Update of /cvsroot/linux-mips/linux/arch/mips/vr41xx/vr4122/eagle In directory usw-pr-cvs1:/tmp/cvs-serv28185/arch/mips/vr41xx/vr4122/eagle Log Message: Directory /cvsroot/linux-mips/linux/arch/mips/vr41xx/vr4122/eagle added to the repository |
From: Paul M. <le...@us...> - 2002-03-07 03:13:16
|
Update of /cvsroot/linux-mips/linux/arch/mips/vr41xx/vr4122/common In directory usw-pr-cvs1:/tmp/cvs-serv28017/arch/mips/vr41xx/vr4122/common Log Message: Directory /cvsroot/linux-mips/linux/arch/mips/vr41xx/vr4122/common added to the repository |
From: Paul M. <le...@us...> - 2002-03-07 03:13:09
|
Update of /cvsroot/linux-mips/linux/arch/mips/vr41xx/vr4122 In directory usw-pr-cvs1:/tmp/cvs-serv27986/arch/mips/vr41xx/vr4122 Log Message: Directory /cvsroot/linux-mips/linux/arch/mips/vr41xx/vr4122 added to the repository |
From: Paul M. <le...@us...> - 2002-03-07 03:11:20
|
Update of /cvsroot/linux-mips/linux/arch/mips/vr41xx/vr4111/common In directory usw-pr-cvs1:/tmp/cvs-serv27426/arch/mips/vr41xx/vr4111/common Log Message: Directory /cvsroot/linux-mips/linux/arch/mips/vr41xx/vr4111/common added to the repository |
From: Paul M. <le...@us...> - 2002-03-07 03:11:20
|
Update of /cvsroot/linux-mips/linux/arch/mips/vr41xx/vr4111/casio-e55 In directory usw-pr-cvs1:/tmp/cvs-serv27426/arch/mips/vr41xx/vr4111/casio-e55 Log Message: Directory /cvsroot/linux-mips/linux/arch/mips/vr41xx/vr4111/casio-e55 added to the repository |
From: Paul M. <le...@us...> - 2002-03-07 03:10:49
|
Update of /cvsroot/linux-mips/linux/arch/mips/vr41xx/vr4111 In directory usw-pr-cvs1:/tmp/cvs-serv27261/arch/mips/vr41xx/vr4111 Log Message: Directory /cvsroot/linux-mips/linux/arch/mips/vr41xx/vr4111 added to the repository |