···362362load-$(CONFIG_BASLER_EXCITE) += 0x80100000363363364364#365365+# LASAT platforms366366+#367367+core-$(CONFIG_LASAT) += arch/mips/lasat/368368+cflags-$(CONFIG_LASAT) += -Iinclude/asm-mips/mach-lasat369369+load-$(CONFIG_LASAT) += 0xffffffff80000000370370+371371+#365372# Common VR41xx366373#367374core-$(CONFIG_MACH_VR41XX) += arch/mips/vr41xx/common/···635628636629drivers-$(CONFIG_OPROFILE) += arch/mips/oprofile/637630631631+ifdef CONFIG_LASAT632632+rom.bin rom.sw: vmlinux633633+ $(Q)$(MAKE) $(build)=arch/mips/lasat/image $@634634+endif635635+638636#639637# Some machines like the Indy need 32-bit ELF binaries for booting purposes.640638# Other need ECOFF, so we build a 32-bit ELF binary for them which we then···683671684672archclean:685673 @$(MAKE) $(clean)=arch/mips/boot674674+ @$(MAKE) $(clean)=arch/mips/lasat686675687676define archhelp688677 echo ' vmlinux.ecoff - ECOFF boot image'
+828
arch/mips/configs/lasat_defconfig
···11+#22+# Automatically generated make config: don't edit33+# Linux kernel version: 2.6.23-rc344+# Sat Aug 18 17:37:58 200755+#66+CONFIG_MIPS=y77+88+#99+# Machine selection1010+#1111+# CONFIG_MACH_ALCHEMY is not set1212+# CONFIG_BASLER_EXCITE is not set1313+# CONFIG_MIPS_COBALT is not set1414+# CONFIG_MACH_DECSTATION is not set1515+# CONFIG_MACH_JAZZ is not set1616+CONFIG_LASAT=y1717+# CONFIG_LEMOTE_FULONG is not set1818+# CONFIG_MIPS_ATLAS is not set1919+# CONFIG_MIPS_MALTA is not set2020+# CONFIG_MIPS_SEAD is not set2121+# CONFIG_MIPS_SIM is not set2222+# CONFIG_MARKEINS is not set2323+# CONFIG_MACH_VR41XX is not set2424+# CONFIG_PNX8550_JBS is not set2525+# CONFIG_PNX8550_STB810 is not set2626+# CONFIG_PMC_MSP is not set2727+# CONFIG_PMC_YOSEMITE is not set2828+# CONFIG_QEMU is not set2929+# CONFIG_SGI_IP22 is not set3030+# CONFIG_SGI_IP27 is not set3131+# CONFIG_SGI_IP32 is not set3232+# CONFIG_SIBYTE_CRHINE is not set3333+# CONFIG_SIBYTE_CARMEL is not set3434+# CONFIG_SIBYTE_CRHONE is not set3535+# CONFIG_SIBYTE_RHONE is not set3636+# CONFIG_SIBYTE_SWARM is not set3737+# CONFIG_SIBYTE_LITTLESUR is not set3838+# CONFIG_SIBYTE_SENTOSA is not set3939+# CONFIG_SIBYTE_PTSWARM is not set4040+# CONFIG_SIBYTE_BIGSUR is not set4141+# CONFIG_SNI_RM is not set4242+# CONFIG_TOSHIBA_JMR3927 is not set4343+# CONFIG_TOSHIBA_RBTX4927 is not set4444+# CONFIG_TOSHIBA_RBTX4938 is not set4545+# CONFIG_WR_PPMC is not set4646+CONFIG_PICVUE=y4747+CONFIG_PICVUE_PROC=y4848+CONFIG_DS1603=y4949+CONFIG_LASAT_SYSCTL=y5050+CONFIG_RWSEM_GENERIC_SPINLOCK=y5151+# CONFIG_ARCH_HAS_ILOG2_U32 is not set5252+# CONFIG_ARCH_HAS_ILOG2_U64 is not set5353+CONFIG_GENERIC_FIND_NEXT_BIT=y5454+CONFIG_GENERIC_HWEIGHT=y5555+CONFIG_GENERIC_CALIBRATE_DELAY=y5656+CONFIG_GENERIC_TIME=y5757+CONFIG_GENERIC_CMOS_UPDATE=y5858+CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y5959+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y6060+CONFIG_DMA_NONCOHERENT=y6161+CONFIG_DMA_NEED_PCI_MAP_STATE=y6262+CONFIG_EARLY_PRINTK=y6363+CONFIG_SYS_HAS_EARLY_PRINTK=y6464+# CONFIG_HOTPLUG_CPU is not set6565+CONFIG_MIPS_NILE4=y6666+# CONFIG_NO_IOPORT is not set6767+# CONFIG_CPU_BIG_ENDIAN is not set6868+CONFIG_CPU_LITTLE_ENDIAN=y6969+CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y7070+CONFIG_PCI_GT64XXX_PCI0=y7171+CONFIG_MIPS_L1_CACHE_SHIFT=57272+7373+#7474+# CPU selection7575+#7676+# CONFIG_CPU_LOONGSON2 is not set7777+# CONFIG_CPU_MIPS32_R1 is not set7878+# CONFIG_CPU_MIPS32_R2 is not set7979+# CONFIG_CPU_MIPS64_R1 is not set8080+# CONFIG_CPU_MIPS64_R2 is not set8181+# CONFIG_CPU_R3000 is not set8282+# CONFIG_CPU_TX39XX is not set8383+# CONFIG_CPU_VR41XX is not set8484+# CONFIG_CPU_R4300 is not set8585+# CONFIG_CPU_R4X00 is not set8686+# CONFIG_CPU_TX49XX is not set8787+CONFIG_CPU_R5000=y8888+# CONFIG_CPU_R5432 is not set8989+# CONFIG_CPU_R6000 is not set9090+# CONFIG_CPU_NEVADA is not set9191+# CONFIG_CPU_R8000 is not set9292+# CONFIG_CPU_R10000 is not set9393+# CONFIG_CPU_RM7000 is not set9494+# CONFIG_CPU_RM9000 is not set9595+# CONFIG_CPU_SB1 is not set9696+CONFIG_SYS_HAS_CPU_R5000=y9797+CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y9898+CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y9999+CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y100100+101101+#102102+# Kernel type103103+#104104+CONFIG_32BIT=y105105+# CONFIG_64BIT is not set106106+CONFIG_PAGE_SIZE_4KB=y107107+# CONFIG_PAGE_SIZE_8KB is not set108108+# CONFIG_PAGE_SIZE_16KB is not set109109+# CONFIG_PAGE_SIZE_64KB is not set110110+CONFIG_BOARD_SCACHE=y111111+CONFIG_R5000_CPU_SCACHE=y112112+CONFIG_MIPS_MT_DISABLED=y113113+# CONFIG_MIPS_MT_SMP is not set114114+# CONFIG_MIPS_MT_SMTC is not set115115+CONFIG_CPU_HAS_LLSC=y116116+CONFIG_CPU_HAS_SYNC=y117117+CONFIG_GENERIC_HARDIRQS=y118118+CONFIG_GENERIC_IRQ_PROBE=y119119+CONFIG_ARCH_FLATMEM_ENABLE=y120120+CONFIG_SELECT_MEMORY_MODEL=y121121+CONFIG_FLATMEM_MANUAL=y122122+# CONFIG_DISCONTIGMEM_MANUAL is not set123123+# CONFIG_SPARSEMEM_MANUAL is not set124124+CONFIG_FLATMEM=y125125+CONFIG_FLAT_NODE_MEM_MAP=y126126+# CONFIG_SPARSEMEM_STATIC is not set127127+CONFIG_SPLIT_PTLOCK_CPUS=4128128+# CONFIG_RESOURCES_64BIT is not set129129+CONFIG_ZONE_DMA_FLAG=0130130+CONFIG_VIRT_TO_BUS=y131131+# CONFIG_HZ_48 is not set132132+# CONFIG_HZ_100 is not set133133+# CONFIG_HZ_128 is not set134134+# CONFIG_HZ_250 is not set135135+# CONFIG_HZ_256 is not set136136+CONFIG_HZ_1000=y137137+# CONFIG_HZ_1024 is not set138138+CONFIG_SYS_SUPPORTS_ARBIT_HZ=y139139+CONFIG_HZ=1000140140+CONFIG_PREEMPT_NONE=y141141+# CONFIG_PREEMPT_VOLUNTARY is not set142142+# CONFIG_PREEMPT is not set143143+# CONFIG_KEXEC is not set144144+# CONFIG_SECCOMP is not set145145+CONFIG_LOCKDEP_SUPPORT=y146146+CONFIG_STACKTRACE_SUPPORT=y147147+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"148148+149149+#150150+# General setup151151+#152152+CONFIG_EXPERIMENTAL=y153153+CONFIG_BROKEN_ON_SMP=y154154+CONFIG_INIT_ENV_ARG_LIMIT=32155155+CONFIG_LOCALVERSION=""156156+CONFIG_LOCALVERSION_AUTO=y157157+CONFIG_SWAP=y158158+CONFIG_SYSVIPC=y159159+CONFIG_SYSVIPC_SYSCTL=y160160+# CONFIG_POSIX_MQUEUE is not set161161+# CONFIG_BSD_PROCESS_ACCT is not set162162+# CONFIG_TASKSTATS is not set163163+# CONFIG_USER_NS is not set164164+# CONFIG_AUDIT is not set165165+# CONFIG_IKCONFIG is not set166166+CONFIG_LOG_BUF_SHIFT=14167167+# CONFIG_SYSFS_DEPRECATED is not set168168+# CONFIG_RELAY is not set169169+# CONFIG_BLK_DEV_INITRD is not set170170+CONFIG_CC_OPTIMIZE_FOR_SIZE=y171171+CONFIG_SYSCTL=y172172+CONFIG_EMBEDDED=y173173+# CONFIG_SYSCTL_SYSCALL is not set174174+# CONFIG_KALLSYMS is not set175175+# CONFIG_HOTPLUG is not set176176+CONFIG_PRINTK=y177177+CONFIG_BUG=y178178+CONFIG_ELF_CORE=y179179+CONFIG_BASE_FULL=y180180+CONFIG_FUTEX=y181181+# CONFIG_EPOLL is not set182182+# CONFIG_SIGNALFD is not set183183+# CONFIG_TIMERFD is not set184184+# CONFIG_EVENTFD is not set185185+CONFIG_SHMEM=y186186+CONFIG_VM_EVENT_COUNTERS=y187187+CONFIG_SLAB=y188188+# CONFIG_SLUB is not set189189+# CONFIG_SLOB is not set190190+CONFIG_RT_MUTEXES=y191191+# CONFIG_TINY_SHMEM is not set192192+CONFIG_BASE_SMALL=0193193+# CONFIG_MODULES is not set194194+CONFIG_BLOCK=y195195+# CONFIG_LBD is not set196196+# CONFIG_BLK_DEV_IO_TRACE is not set197197+# CONFIG_LSF is not set198198+# CONFIG_BLK_DEV_BSG is not set199199+200200+#201201+# IO Schedulers202202+#203203+CONFIG_IOSCHED_NOOP=y204204+CONFIG_IOSCHED_AS=y205205+# CONFIG_IOSCHED_DEADLINE is not set206206+# CONFIG_IOSCHED_CFQ is not set207207+CONFIG_DEFAULT_AS=y208208+# CONFIG_DEFAULT_DEADLINE is not set209209+# CONFIG_DEFAULT_CFQ is not set210210+# CONFIG_DEFAULT_NOOP is not set211211+CONFIG_DEFAULT_IOSCHED="anticipatory"212212+213213+#214214+# Bus options (PCI, PCMCIA, EISA, ISA, TC)215215+#216216+CONFIG_HW_HAS_PCI=y217217+CONFIG_PCI=y218218+# CONFIG_ARCH_SUPPORTS_MSI is not set219219+CONFIG_MMU=y220220+221221+#222222+# PCCARD (PCMCIA/CardBus) support223223+#224224+225225+#226226+# Executable file formats227227+#228228+CONFIG_BINFMT_ELF=y229229+# CONFIG_BINFMT_MISC is not set230230+CONFIG_TRAD_SIGNALS=y231231+232232+#233233+# Power management options234234+#235235+# CONFIG_PM is not set236236+237237+#238238+# Networking239239+#240240+CONFIG_NET=y241241+242242+#243243+# Networking options244244+#245245+CONFIG_PACKET=y246246+CONFIG_PACKET_MMAP=y247247+CONFIG_UNIX=y248248+# CONFIG_NET_KEY is not set249249+CONFIG_INET=y250250+# CONFIG_IP_MULTICAST is not set251251+# CONFIG_IP_ADVANCED_ROUTER is not set252252+CONFIG_IP_FIB_HASH=y253253+# CONFIG_IP_PNP is not set254254+# CONFIG_NET_IPIP is not set255255+# CONFIG_NET_IPGRE is not set256256+# CONFIG_ARPD is not set257257+# CONFIG_SYN_COOKIES is not set258258+# CONFIG_INET_AH is not set259259+# CONFIG_INET_ESP is not set260260+# CONFIG_INET_IPCOMP is not set261261+# CONFIG_INET_XFRM_TUNNEL is not set262262+# CONFIG_INET_TUNNEL is not set263263+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set264264+# CONFIG_INET_XFRM_MODE_TUNNEL is not set265265+# CONFIG_INET_XFRM_MODE_BEET is not set266266+# CONFIG_INET_DIAG is not set267267+# CONFIG_TCP_CONG_ADVANCED is not set268268+CONFIG_TCP_CONG_CUBIC=y269269+CONFIG_DEFAULT_TCP_CONG="cubic"270270+# CONFIG_TCP_MD5SIG is not set271271+# CONFIG_IPV6 is not set272272+# CONFIG_INET6_XFRM_TUNNEL is not set273273+# CONFIG_INET6_TUNNEL is not set274274+# CONFIG_NETWORK_SECMARK is not set275275+# CONFIG_NETFILTER is not set276276+# CONFIG_IP_DCCP is not set277277+# CONFIG_IP_SCTP is not set278278+# CONFIG_TIPC is not set279279+# CONFIG_ATM is not set280280+# CONFIG_BRIDGE is not set281281+# CONFIG_VLAN_8021Q is not set282282+# CONFIG_DECNET is not set283283+# CONFIG_LLC2 is not set284284+# CONFIG_IPX is not set285285+# CONFIG_ATALK is not set286286+# CONFIG_X25 is not set287287+# CONFIG_LAPB is not set288288+# CONFIG_ECONET is not set289289+# CONFIG_WAN_ROUTER is not set290290+291291+#292292+# QoS and/or fair queueing293293+#294294+# CONFIG_NET_SCHED is not set295295+296296+#297297+# Network testing298298+#299299+# CONFIG_NET_PKTGEN is not set300300+# CONFIG_HAMRADIO is not set301301+# CONFIG_IRDA is not set302302+# CONFIG_BT is not set303303+# CONFIG_AF_RXRPC is not set304304+305305+#306306+# Wireless307307+#308308+# CONFIG_CFG80211 is not set309309+# CONFIG_WIRELESS_EXT is not set310310+# CONFIG_MAC80211 is not set311311+# CONFIG_IEEE80211 is not set312312+# CONFIG_RFKILL is not set313313+# CONFIG_NET_9P is not set314314+315315+#316316+# Device Drivers317317+#318318+319319+#320320+# Generic Driver Options321321+#322322+CONFIG_STANDALONE=y323323+CONFIG_PREVENT_FIRMWARE_BUILD=y324324+# CONFIG_SYS_HYPERVISOR is not set325325+# CONFIG_CONNECTOR is not set326326+CONFIG_MTD=y327327+# CONFIG_MTD_DEBUG is not set328328+# CONFIG_MTD_CONCAT is not set329329+CONFIG_MTD_PARTITIONS=y330330+# CONFIG_MTD_REDBOOT_PARTS is not set331331+# CONFIG_MTD_CMDLINE_PARTS is not set332332+333333+#334334+# User Modules And Translation Layers335335+#336336+CONFIG_MTD_CHAR=y337337+CONFIG_MTD_BLKDEVS=y338338+CONFIG_MTD_BLOCK=y339339+# CONFIG_FTL is not set340340+# CONFIG_NFTL is not set341341+# CONFIG_INFTL is not set342342+# CONFIG_RFD_FTL is not set343343+# CONFIG_SSFDC is not set344344+345345+#346346+# RAM/ROM/Flash chip drivers347347+#348348+CONFIG_MTD_CFI=y349349+# CONFIG_MTD_JEDECPROBE is not set350350+CONFIG_MTD_GEN_PROBE=y351351+# CONFIG_MTD_CFI_ADV_OPTIONS is not set352352+CONFIG_MTD_MAP_BANK_WIDTH_1=y353353+CONFIG_MTD_MAP_BANK_WIDTH_2=y354354+CONFIG_MTD_MAP_BANK_WIDTH_4=y355355+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set356356+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set357357+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set358358+CONFIG_MTD_CFI_I1=y359359+CONFIG_MTD_CFI_I2=y360360+# CONFIG_MTD_CFI_I4 is not set361361+# CONFIG_MTD_CFI_I8 is not set362362+# CONFIG_MTD_CFI_INTELEXT is not set363363+CONFIG_MTD_CFI_AMDSTD=y364364+# CONFIG_MTD_CFI_STAA is not set365365+CONFIG_MTD_CFI_UTIL=y366366+# CONFIG_MTD_RAM is not set367367+# CONFIG_MTD_ROM is not set368368+# CONFIG_MTD_ABSENT is not set369369+370370+#371371+# Mapping drivers for chip access372372+#373373+# CONFIG_MTD_COMPLEX_MAPPINGS is not set374374+# CONFIG_MTD_PHYSMAP is not set375375+CONFIG_MTD_LASAT=y376376+# CONFIG_MTD_PLATRAM is not set377377+378378+#379379+# Self-contained MTD device drivers380380+#381381+# CONFIG_MTD_PMC551 is not set382382+# CONFIG_MTD_SLRAM is not set383383+# CONFIG_MTD_PHRAM is not set384384+# CONFIG_MTD_MTDRAM is not set385385+# CONFIG_MTD_BLOCK2MTD is not set386386+387387+#388388+# Disk-On-Chip Device Drivers389389+#390390+# CONFIG_MTD_DOC2000 is not set391391+# CONFIG_MTD_DOC2001 is not set392392+# CONFIG_MTD_DOC2001PLUS is not set393393+# CONFIG_MTD_NAND is not set394394+# CONFIG_MTD_ONENAND is not set395395+396396+#397397+# UBI - Unsorted block images398398+#399399+# CONFIG_MTD_UBI is not set400400+# CONFIG_PARPORT is not set401401+CONFIG_BLK_DEV=y402402+# CONFIG_BLK_CPQ_DA is not set403403+# CONFIG_BLK_CPQ_CISS_DA is not set404404+# CONFIG_BLK_DEV_DAC960 is not set405405+# CONFIG_BLK_DEV_UMEM is not set406406+# CONFIG_BLK_DEV_COW_COMMON is not set407407+# CONFIG_BLK_DEV_LOOP is not set408408+# CONFIG_BLK_DEV_NBD is not set409409+# CONFIG_BLK_DEV_SX8 is not set410410+# CONFIG_BLK_DEV_RAM is not set411411+# CONFIG_CDROM_PKTCDVD is not set412412+# CONFIG_ATA_OVER_ETH is not set413413+# CONFIG_MISC_DEVICES is not set414414+CONFIG_IDE=y415415+CONFIG_IDE_MAX_HWIFS=4416416+CONFIG_BLK_DEV_IDE=y417417+418418+#419419+# Please see Documentation/ide.txt for help/info on IDE drives420420+#421421+# CONFIG_BLK_DEV_IDE_SATA is not set422422+CONFIG_BLK_DEV_IDEDISK=y423423+CONFIG_IDEDISK_MULTI_MODE=y424424+# CONFIG_BLK_DEV_IDECD is not set425425+# CONFIG_BLK_DEV_IDETAPE is not set426426+# CONFIG_BLK_DEV_IDEFLOPPY is not set427427+# CONFIG_IDE_TASK_IOCTL is not set428428+CONFIG_IDE_PROC_FS=y429429+430430+#431431+# IDE chipset support/bugfixes432432+#433433+CONFIG_IDE_GENERIC=y434434+CONFIG_BLK_DEV_IDEPCI=y435435+# CONFIG_IDEPCI_SHARE_IRQ is not set436436+CONFIG_IDEPCI_PCIBUS_ORDER=y437437+# CONFIG_BLK_DEV_OFFBOARD is not set438438+CONFIG_BLK_DEV_GENERIC=y439439+# CONFIG_BLK_DEV_OPTI621 is not set440440+CONFIG_BLK_DEV_IDEDMA_PCI=y441441+# CONFIG_BLK_DEV_IDEDMA_FORCED is not set442442+# CONFIG_IDEDMA_ONLYDISK is not set443443+# CONFIG_BLK_DEV_AEC62XX is not set444444+# CONFIG_BLK_DEV_ALI15X3 is not set445445+# CONFIG_BLK_DEV_AMD74XX is not set446446+CONFIG_BLK_DEV_CMD64X=y447447+# CONFIG_BLK_DEV_TRIFLEX is not set448448+# CONFIG_BLK_DEV_CY82C693 is not set449449+# CONFIG_BLK_DEV_CS5520 is not set450450+# CONFIG_BLK_DEV_CS5530 is not set451451+# CONFIG_BLK_DEV_HPT34X is not set452452+# CONFIG_BLK_DEV_HPT366 is not set453453+# CONFIG_BLK_DEV_JMICRON is not set454454+# CONFIG_BLK_DEV_SC1200 is not set455455+# CONFIG_BLK_DEV_PIIX is not set456456+# CONFIG_BLK_DEV_IT8213 is not set457457+# CONFIG_BLK_DEV_IT821X is not set458458+# CONFIG_BLK_DEV_NS87415 is not set459459+# CONFIG_BLK_DEV_PDC202XX_OLD is not set460460+# CONFIG_BLK_DEV_PDC202XX_NEW is not set461461+# CONFIG_BLK_DEV_SVWKS is not set462462+# CONFIG_BLK_DEV_SIIMAGE is not set463463+# CONFIG_BLK_DEV_SLC90E66 is not set464464+# CONFIG_BLK_DEV_TRM290 is not set465465+# CONFIG_BLK_DEV_VIA82CXXX is not set466466+# CONFIG_BLK_DEV_TC86C001 is not set467467+# CONFIG_IDE_ARM is not set468468+CONFIG_BLK_DEV_IDEDMA=y469469+# CONFIG_IDEDMA_IVB is not set470470+# CONFIG_BLK_DEV_HD is not set471471+472472+#473473+# SCSI device support474474+#475475+# CONFIG_RAID_ATTRS is not set476476+# CONFIG_SCSI is not set477477+# CONFIG_SCSI_DMA is not set478478+# CONFIG_SCSI_NETLINK is not set479479+# CONFIG_ATA is not set480480+# CONFIG_MD is not set481481+482482+#483483+# Fusion MPT device support484484+#485485+# CONFIG_FUSION is not set486486+487487+#488488+# IEEE 1394 (FireWire) support489489+#490490+# CONFIG_FIREWIRE is not set491491+# CONFIG_IEEE1394 is not set492492+# CONFIG_I2O is not set493493+CONFIG_NETDEVICES=y494494+# CONFIG_NETDEVICES_MULTIQUEUE is not set495495+# CONFIG_DUMMY is not set496496+# CONFIG_BONDING is not set497497+# CONFIG_MACVLAN is not set498498+# CONFIG_EQUALIZER is not set499499+# CONFIG_TUN is not set500500+# CONFIG_ARCNET is not set501501+# CONFIG_PHYLIB is not set502502+CONFIG_NET_ETHERNET=y503503+CONFIG_MII=y504504+# CONFIG_AX88796 is not set505505+# CONFIG_HAPPYMEAL is not set506506+# CONFIG_SUNGEM is not set507507+# CONFIG_CASSINI is not set508508+# CONFIG_NET_VENDOR_3COM is not set509509+# CONFIG_DM9000 is not set510510+# CONFIG_NET_TULIP is not set511511+# CONFIG_HP100 is not set512512+CONFIG_NET_PCI=y513513+CONFIG_PCNET32=y514514+# CONFIG_PCNET32_NAPI is not set515515+# CONFIG_AMD8111_ETH is not set516516+# CONFIG_ADAPTEC_STARFIRE is not set517517+# CONFIG_B44 is not set518518+# CONFIG_FORCEDETH is not set519519+# CONFIG_TC35815 is not set520520+# CONFIG_DGRS is not set521521+# CONFIG_EEPRO100 is not set522522+# CONFIG_E100 is not set523523+# CONFIG_FEALNX is not set524524+# CONFIG_NATSEMI is not set525525+# CONFIG_NE2K_PCI is not set526526+# CONFIG_8139CP is not set527527+# CONFIG_8139TOO is not set528528+# CONFIG_SIS900 is not set529529+# CONFIG_EPIC100 is not set530530+# CONFIG_SUNDANCE is not set531531+# CONFIG_TLAN is not set532532+# CONFIG_VIA_RHINE is not set533533+# CONFIG_SC92031 is not set534534+# CONFIG_NETDEV_1000 is not set535535+# CONFIG_NETDEV_10000 is not set536536+# CONFIG_TR is not set537537+538538+#539539+# Wireless LAN540540+#541541+# CONFIG_WLAN_PRE80211 is not set542542+# CONFIG_WLAN_80211 is not set543543+# CONFIG_WAN is not set544544+# CONFIG_FDDI is not set545545+# CONFIG_HIPPI is not set546546+# CONFIG_PPP is not set547547+# CONFIG_SLIP is not set548548+# CONFIG_SHAPER is not set549549+# CONFIG_NETCONSOLE is not set550550+# CONFIG_NETPOLL is not set551551+# CONFIG_NET_POLL_CONTROLLER is not set552552+# CONFIG_ISDN is not set553553+# CONFIG_PHONE is not set554554+555555+#556556+# Input device support557557+#558558+CONFIG_INPUT=y559559+# CONFIG_INPUT_FF_MEMLESS is not set560560+# CONFIG_INPUT_POLLDEV is not set561561+562562+#563563+# Userland interfaces564564+#565565+# CONFIG_INPUT_MOUSEDEV is not set566566+# CONFIG_INPUT_JOYDEV is not set567567+# CONFIG_INPUT_TSDEV is not set568568+# CONFIG_INPUT_EVDEV is not set569569+# CONFIG_INPUT_EVBUG is not set570570+571571+#572572+# Input Device Drivers573573+#574574+# CONFIG_INPUT_KEYBOARD is not set575575+# CONFIG_INPUT_MOUSE is not set576576+# CONFIG_INPUT_JOYSTICK is not set577577+# CONFIG_INPUT_TABLET is not set578578+# CONFIG_INPUT_TOUCHSCREEN is not set579579+# CONFIG_INPUT_MISC is not set580580+581581+#582582+# Hardware I/O ports583583+#584584+CONFIG_SERIO=y585585+CONFIG_SERIO_I8042=y586586+CONFIG_SERIO_SERPORT=y587587+# CONFIG_SERIO_PCIPS2 is not set588588+# CONFIG_SERIO_LIBPS2 is not set589589+CONFIG_SERIO_RAW=y590590+# CONFIG_GAMEPORT is not set591591+592592+#593593+# Character devices594594+#595595+# CONFIG_VT is not set596596+# CONFIG_SERIAL_NONSTANDARD is not set597597+598598+#599599+# Serial drivers600600+#601601+CONFIG_SERIAL_8250=y602602+CONFIG_SERIAL_8250_CONSOLE=y603603+# CONFIG_SERIAL_8250_PCI is not set604604+CONFIG_SERIAL_8250_NR_UARTS=4605605+CONFIG_SERIAL_8250_RUNTIME_UARTS=4606606+# CONFIG_SERIAL_8250_EXTENDED is not set607607+608608+#609609+# Non-8250 serial port support610610+#611611+CONFIG_SERIAL_CORE=y612612+CONFIG_SERIAL_CORE_CONSOLE=y613613+# CONFIG_SERIAL_JSM is not set614614+CONFIG_UNIX98_PTYS=y615615+CONFIG_LEGACY_PTYS=y616616+CONFIG_LEGACY_PTY_COUNT=256617617+# CONFIG_IPMI_HANDLER is not set618618+# CONFIG_WATCHDOG is not set619619+# CONFIG_HW_RANDOM is not set620620+# CONFIG_RTC is not set621621+# CONFIG_R3964 is not set622622+# CONFIG_APPLICOM is not set623623+# CONFIG_DRM is not set624624+# CONFIG_RAW_DRIVER is not set625625+# CONFIG_TCG_TPM is not set626626+CONFIG_DEVPORT=y627627+# CONFIG_I2C is not set628628+629629+#630630+# SPI support631631+#632632+# CONFIG_SPI is not set633633+# CONFIG_SPI_MASTER is not set634634+# CONFIG_W1 is not set635635+# CONFIG_POWER_SUPPLY is not set636636+# CONFIG_HWMON is not set637637+638638+#639639+# Multifunction device drivers640640+#641641+# CONFIG_MFD_SM501 is not set642642+643643+#644644+# Multimedia devices645645+#646646+# CONFIG_VIDEO_DEV is not set647647+# CONFIG_DVB_CORE is not set648648+# CONFIG_DAB is not set649649+650650+#651651+# Graphics support652652+#653653+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set654654+655655+#656656+# Display device support657657+#658658+# CONFIG_DISPLAY_SUPPORT is not set659659+# CONFIG_VGASTATE is not set660660+# CONFIG_VIDEO_OUTPUT_CONTROL is not set661661+# CONFIG_FB is not set662662+663663+#664664+# Sound665665+#666666+# CONFIG_SOUND is not set667667+# CONFIG_HID_SUPPORT is not set668668+# CONFIG_USB_SUPPORT is not set669669+# CONFIG_MMC is not set670670+# CONFIG_NEW_LEDS is not set671671+# CONFIG_INFINIBAND is not set672672+# CONFIG_RTC_CLASS is not set673673+674674+#675675+# DMA Engine support676676+#677677+# CONFIG_DMA_ENGINE is not set678678+679679+#680680+# DMA Clients681681+#682682+683683+#684684+# DMA Devices685685+#686686+687687+#688688+# Userspace I/O689689+#690690+# CONFIG_UIO is not set691691+692692+#693693+# File systems694694+#695695+CONFIG_EXT2_FS=y696696+# CONFIG_EXT2_FS_XATTR is not set697697+# CONFIG_EXT2_FS_XIP is not set698698+CONFIG_EXT3_FS=y699699+# CONFIG_EXT3_FS_XATTR is not set700700+# CONFIG_EXT4DEV_FS is not set701701+CONFIG_JBD=y702702+# CONFIG_JBD_DEBUG is not set703703+# CONFIG_REISERFS_FS is not set704704+# CONFIG_JFS_FS is not set705705+# CONFIG_FS_POSIX_ACL is not set706706+# CONFIG_XFS_FS is not set707707+# CONFIG_GFS2_FS is not set708708+# CONFIG_OCFS2_FS is not set709709+# CONFIG_MINIX_FS is not set710710+# CONFIG_ROMFS_FS is not set711711+# CONFIG_INOTIFY is not set712712+# CONFIG_QUOTA is not set713713+# CONFIG_DNOTIFY is not set714714+# CONFIG_AUTOFS_FS is not set715715+# CONFIG_AUTOFS4_FS is not set716716+# CONFIG_FUSE_FS is not set717717+718718+#719719+# CD-ROM/DVD Filesystems720720+#721721+# CONFIG_ISO9660_FS is not set722722+# CONFIG_UDF_FS is not set723723+724724+#725725+# DOS/FAT/NT Filesystems726726+#727727+# CONFIG_MSDOS_FS is not set728728+# CONFIG_VFAT_FS is not set729729+# CONFIG_NTFS_FS is not set730730+731731+#732732+# Pseudo filesystems733733+#734734+CONFIG_PROC_FS=y735735+CONFIG_PROC_KCORE=y736736+CONFIG_PROC_SYSCTL=y737737+CONFIG_SYSFS=y738738+CONFIG_TMPFS=y739739+# CONFIG_TMPFS_POSIX_ACL is not set740740+# CONFIG_HUGETLB_PAGE is not set741741+CONFIG_RAMFS=y742742+CONFIG_CONFIGFS_FS=y743743+744744+#745745+# Miscellaneous filesystems746746+#747747+# CONFIG_ADFS_FS is not set748748+# CONFIG_AFFS_FS is not set749749+# CONFIG_HFS_FS is not set750750+# CONFIG_HFSPLUS_FS is not set751751+# CONFIG_BEFS_FS is not set752752+# CONFIG_BFS_FS is not set753753+# CONFIG_EFS_FS is not set754754+# CONFIG_JFFS2_FS is not set755755+# CONFIG_CRAMFS is not set756756+# CONFIG_VXFS_FS is not set757757+# CONFIG_HPFS_FS is not set758758+# CONFIG_QNX4FS_FS is not set759759+# CONFIG_SYSV_FS is not set760760+# CONFIG_UFS_FS is not set761761+762762+#763763+# Network File Systems764764+#765765+# CONFIG_NFS_FS is not set766766+# CONFIG_NFSD is not set767767+# CONFIG_SMB_FS is not set768768+# CONFIG_CIFS is not set769769+# CONFIG_NCP_FS is not set770770+# CONFIG_CODA_FS is not set771771+# CONFIG_AFS_FS is not set772772+773773+#774774+# Partition Types775775+#776776+# CONFIG_PARTITION_ADVANCED is not set777777+CONFIG_MSDOS_PARTITION=y778778+779779+#780780+# Native Language Support781781+#782782+# CONFIG_NLS is not set783783+784784+#785785+# Distributed Lock Manager786786+#787787+# CONFIG_DLM is not set788788+789789+#790790+# Profiling support791791+#792792+# CONFIG_PROFILING is not set793793+794794+#795795+# Kernel hacking796796+#797797+CONFIG_TRACE_IRQFLAGS_SUPPORT=y798798+# CONFIG_PRINTK_TIME is not set799799+CONFIG_ENABLE_MUST_CHECK=y800800+CONFIG_MAGIC_SYSRQ=y801801+# CONFIG_UNUSED_SYMBOLS is not set802802+# CONFIG_DEBUG_FS is not set803803+# CONFIG_HEADERS_CHECK is not set804804+# CONFIG_DEBUG_KERNEL is not set805805+CONFIG_CROSSCOMPILE=y806806+CONFIG_CMDLINE=""807807+808808+#809809+# Security options810810+#811811+# CONFIG_KEYS is not set812812+# CONFIG_SECURITY is not set813813+# CONFIG_CRYPTO is not set814814+815815+#816816+# Library routines817817+#818818+CONFIG_BITREVERSE=y819819+# CONFIG_CRC_CCITT is not set820820+# CONFIG_CRC16 is not set821821+# CONFIG_CRC_ITU_T is not set822822+CONFIG_CRC32=y823823+# CONFIG_CRC7 is not set824824+# CONFIG_LIBCRC32C is not set825825+CONFIG_PLIST=y826826+CONFIG_HAS_IOMEM=y827827+CONFIG_HAS_IOPORT=y828828+CONFIG_HAS_DMA=y
+15
arch/mips/lasat/Kconfig
···11+config PICVUE22+ tristate "PICVUE LCD display driver"33+ depends on LASAT44+55+config PICVUE_PROC66+ tristate "PICVUE LCD display driver /proc interface"77+ depends on PICVUE88+99+config DS16031010+ bool "DS1603 RTC driver"1111+ depends on LASAT1212+1313+config LASAT_SYSCTL1414+ bool "LASAT sysctl interface"1515+ depends on LASAT
+16
arch/mips/lasat/Makefile
···11+#22+# Makefile for the LASAT specific kernel interface routines under Linux.33+#44+55+obj-y += reset.o setup.o prom.o lasat_board.o \66+ at93c.o interrupt.o serial.o77+88+obj-$(CONFIG_LASAT_SYSCTL) += sysctl.o99+obj-$(CONFIG_DS1603) += ds1603.o1010+obj-$(CONFIG_PICVUE) += picvue.o1111+obj-$(CONFIG_PICVUE_PROC) += picvue_proc.o1212+1313+clean:1414+ make -C image clean1515+1616+EXTRA_CFLAGS += -Werror
···11+#include <asm/lasat/head.h>22+33+ .text44+ .section .text.start, "ax"55+ .set noreorder66+ .set mips377+88+ /* Magic words identifying a software image */99+ .word LASAT_K_MAGIC0_VAL1010+ .word LASAT_K_MAGIC1_VAL1111+1212+ /* Image header version */1313+ .word 0x000000021414+1515+ /* image start and size */1616+ .word _image_start1717+ .word _image_size1818+1919+ /* start of kernel and entrypoint in uncompressed image */2020+ .word _kernel_start2121+ .word _kernel_entry2222+2323+ /* Here we have room for future flags */2424+2525+ .org 0x402626+reldate:2727+ .word TIMESTAMP2828+2929+ .org 0x503030+release:3131+ .string VERSION
+23
arch/mips/lasat/image/romscript.normal
···11+OUTPUT_ARCH(mips)22+33+SECTIONS44+{55+ .text :66+ {77+ *(.text.start)88+ }99+1010+ /* Data in ROM */1111+1212+ .data ALIGN(0x10) :1313+ {1414+ *(.data)1515+ }1616+ _image_start = ADDR(.data);1717+ _image_size = SIZEOF(.data);1818+1919+ .other :2020+ {2121+ *(.*)2222+ }2323+}
+130
arch/mips/lasat/interrupt.c
···11+/*22+ * Carsten Langgaard, carstenl@mips.com33+ * Copyright (C) 1999,2000 MIPS Technologies, Inc. All rights reserved.44+ *55+ * This program is free software; you can distribute it and/or modify it66+ * under the terms of the GNU General Public License (Version 2) as77+ * published by the Free Software Foundation.88+ *99+ * This program is distributed in the hope it will be useful, but WITHOUT1010+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or1111+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License1212+ * for more details.1313+ *1414+ * You should have received a copy of the GNU General Public License along1515+ * with this program; if not, write to the Free Software Foundation, Inc.,1616+ * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.1717+ *1818+ * Routines for generic manipulation of the interrupts found on the1919+ * Lasat boards.2020+ */2121+#include <linux/init.h>2222+#include <linux/irq.h>2323+#include <linux/sched.h>2424+#include <linux/slab.h>2525+#include <linux/interrupt.h>2626+#include <linux/kernel_stat.h>2727+2828+#include <asm/bootinfo.h>2929+#include <asm/lasat/lasatint.h>3030+#include <asm/time.h>3131+#include <asm/gdb-stub.h>3232+3333+static volatile int *lasat_int_status;3434+static volatile int *lasat_int_mask;3535+static volatile int lasat_int_mask_shift;3636+3737+void disable_lasat_irq(unsigned int irq_nr)3838+{3939+ *lasat_int_mask &= ~(1 << irq_nr) << lasat_int_mask_shift;4040+}4141+4242+void enable_lasat_irq(unsigned int irq_nr)4343+{4444+ *lasat_int_mask |= (1 << irq_nr) << lasat_int_mask_shift;4545+}4646+4747+static struct irq_chip lasat_irq_type = {4848+ .name = "Lasat",4949+ .ack = disable_lasat_irq,5050+ .mask = disable_lasat_irq,5151+ .mask_ack = disable_lasat_irq,5252+ .unmask = enable_lasat_irq,5353+};5454+5555+static inline int ls1bit32(unsigned int x)5656+{5757+ int b = 31, s;5858+5959+ s = 16; if (x << 16 == 0) s = 0; b -= s; x <<= s;6060+ s = 8; if (x << 8 == 0) s = 0; b -= s; x <<= s;6161+ s = 4; if (x << 4 == 0) s = 0; b -= s; x <<= s;6262+ s = 2; if (x << 2 == 0) s = 0; b -= s; x <<= s;6363+ s = 1; if (x << 1 == 0) s = 0; b -= s;6464+6565+ return b;6666+}6767+6868+static unsigned long (*get_int_status)(void);6969+7070+static unsigned long get_int_status_100(void)7171+{7272+ return *lasat_int_status & *lasat_int_mask;7373+}7474+7575+static unsigned long get_int_status_200(void)7676+{7777+ unsigned long int_status;7878+7979+ int_status = *lasat_int_status;8080+ int_status &= (int_status >> LASATINT_MASK_SHIFT_200) & 0xffff;8181+ return int_status;8282+}8383+8484+asmlinkage void plat_irq_dispatch(void)8585+{8686+ unsigned long int_status;8787+ unsigned int cause = read_c0_cause();8888+ int irq;8989+9090+ if (cause & CAUSEF_IP7) { /* R4000 count / compare IRQ */9191+ ll_timer_interrupt(7);9292+ return;9393+ }9494+9595+ int_status = get_int_status();9696+9797+ /* if int_status == 0, then the interrupt has already been cleared */9898+ if (int_status) {9999+ irq = ls1bit32(int_status);100100+101101+ do_IRQ(irq);102102+ }103103+}104104+105105+void __init arch_init_irq(void)106106+{107107+ int i;108108+109109+ switch (mips_machtype) {110110+ case MACH_LASAT_100:111111+ lasat_int_status = (void *)LASAT_INT_STATUS_REG_100;112112+ lasat_int_mask = (void *)LASAT_INT_MASK_REG_100;113113+ lasat_int_mask_shift = LASATINT_MASK_SHIFT_100;114114+ get_int_status = get_int_status_100;115115+ *lasat_int_mask = 0;116116+ break;117117+ case MACH_LASAT_200:118118+ lasat_int_status = (void *)LASAT_INT_STATUS_REG_200;119119+ lasat_int_mask = (void *)LASAT_INT_MASK_REG_200;120120+ lasat_int_mask_shift = LASATINT_MASK_SHIFT_200;121121+ get_int_status = get_int_status_200;122122+ *lasat_int_mask &= 0xffff;123123+ break;124124+ default:125125+ panic("arch_init_irq: mips_machtype incorrect");126126+ }127127+128128+ for (i = 0; i <= LASATINT_END; i++)129129+ set_irq_chip_and_handler(i, &lasat_irq_type, handle_level_irq);130130+}
+280
arch/mips/lasat/lasat_board.c
···11+/*22+ * Thomas Horsten <thh@lasat.com>33+ * Copyright (C) 2000 LASAT Networks A/S.44+ *55+ * This program is free software; you can distribute it and/or modify it66+ * under the terms of the GNU General Public License (Version 2) as77+ * published by the Free Software Foundation.88+ *99+ * This program is distributed in the hope it will be useful, but WITHOUT1010+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or1111+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License1212+ * for more details.1313+ *1414+ * You should have received a copy of the GNU General Public License along1515+ * with this program; if not, write to the Free Software Foundation, Inc.,1616+ * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.1717+ *1818+ * Routines specific to the LASAT boards1919+ */2020+#include <linux/types.h>2121+#include <linux/crc32.h>2222+#include <asm/lasat/lasat.h>2323+#include <linux/kernel.h>2424+#include <linux/string.h>2525+#include <linux/ctype.h>2626+#include <asm/bootinfo.h>2727+#include <asm/addrspace.h>2828+#include "at93c.h"2929+/* New model description table */3030+#include "lasat_models.h"3131+3232+#define EEPROM_CRC(data, len) (~crc32(~0, data, len))3333+3434+struct lasat_info lasat_board_info;3535+3636+void update_bcastaddr(void);3737+3838+int EEPROMRead(unsigned int pos, unsigned char *data, int len)3939+{4040+ int i;4141+4242+ for (i = 0; i < len; i++)4343+ *data++ = at93c_read(pos++);4444+4545+ return 0;4646+}4747+4848+int EEPROMWrite(unsigned int pos, unsigned char *data, int len)4949+{5050+ int i;5151+5252+ for (i = 0; i < len; i++)5353+ at93c_write(pos++, *data++);5454+5555+ return 0;5656+}5757+5858+static void init_flash_sizes(void)5959+{6060+ unsigned long *lb = lasat_board_info.li_flashpart_base;6161+ unsigned long *ls = lasat_board_info.li_flashpart_size;6262+ int i;6363+6464+ ls[LASAT_MTD_BOOTLOADER] = 0x40000;6565+ ls[LASAT_MTD_SERVICE] = 0xC0000;6666+ ls[LASAT_MTD_NORMAL] = 0x100000;6767+6868+ if (mips_machtype == MACH_LASAT_100) {6969+ lasat_board_info.li_flash_base = 0x1e000000;7070+7171+ lb[LASAT_MTD_BOOTLOADER] = 0x1e400000;7272+7373+ if (lasat_board_info.li_flash_size > 0x200000) {7474+ ls[LASAT_MTD_CONFIG] = 0x100000;7575+ ls[LASAT_MTD_FS] = 0x500000;7676+ }7777+ } else {7878+ lasat_board_info.li_flash_base = 0x10000000;7979+8080+ if (lasat_board_info.li_flash_size < 0x1000000) {8181+ lb[LASAT_MTD_BOOTLOADER] = 0x10000000;8282+ ls[LASAT_MTD_CONFIG] = 0x100000;8383+ if (lasat_board_info.li_flash_size >= 0x400000)8484+ ls[LASAT_MTD_FS] =8585+ lasat_board_info.li_flash_size - 0x300000;8686+ }8787+ }8888+8989+ for (i = 1; i < LASAT_MTD_LAST; i++)9090+ lb[i] = lb[i-1] + ls[i-1];9191+}9292+9393+int lasat_init_board_info(void)9494+{9595+ int c;9696+ unsigned long crc;9797+ unsigned long cfg0, cfg1;9898+ const struct product_info *ppi;9999+ int i_n_base_models = N_BASE_MODELS;100100+ const char * const * i_txt_base_models = txt_base_models;101101+ int i_n_prids = N_PRIDS;102102+103103+ memset(&lasat_board_info, 0, sizeof(lasat_board_info));104104+105105+ /* First read the EEPROM info */106106+ EEPROMRead(0, (unsigned char *)&lasat_board_info.li_eeprom_info,107107+ sizeof(struct lasat_eeprom_struct));108108+109109+ /* Check the CRC */110110+ crc = EEPROM_CRC((unsigned char *)(&lasat_board_info.li_eeprom_info),111111+ sizeof(struct lasat_eeprom_struct) - 4);112112+113113+ if (crc != lasat_board_info.li_eeprom_info.crc32) {114114+ printk(KERN_WARNING "WARNING...\nWARNING...\nEEPROM CRC does "115115+ "not match calculated, attempting to soldier on...\n");116116+ }117117+118118+ if (lasat_board_info.li_eeprom_info.version != LASAT_EEPROM_VERSION) {119119+ printk(KERN_WARNING "WARNING...\nWARNING...\nEEPROM version "120120+ "%d, wanted version %d, attempting to soldier on...\n",121121+ (unsigned int)lasat_board_info.li_eeprom_info.version,122122+ LASAT_EEPROM_VERSION);123123+ }124124+125125+ cfg0 = lasat_board_info.li_eeprom_info.cfg[0];126126+ cfg1 = lasat_board_info.li_eeprom_info.cfg[1];127127+128128+ if (LASAT_W0_DSCTYPE(cfg0) != 1) {129129+ printk(KERN_WARNING "WARNING...\nWARNING...\n"130130+ "Invalid configuration read from EEPROM, attempting to "131131+ "soldier on...");132132+ }133133+ /* We have a valid configuration */134134+135135+ switch (LASAT_W0_SDRAMBANKSZ(cfg0)) {136136+ case 0:137137+ lasat_board_info.li_memsize = 0x0800000;138138+ break;139139+ case 1:140140+ lasat_board_info.li_memsize = 0x1000000;141141+ break;142142+ case 2:143143+ lasat_board_info.li_memsize = 0x2000000;144144+ break;145145+ case 3:146146+ lasat_board_info.li_memsize = 0x4000000;147147+ break;148148+ case 4:149149+ lasat_board_info.li_memsize = 0x8000000;150150+ break;151151+ default:152152+ lasat_board_info.li_memsize = 0;153153+ }154154+155155+ switch (LASAT_W0_SDRAMBANKS(cfg0)) {156156+ case 0:157157+ break;158158+ case 1:159159+ lasat_board_info.li_memsize *= 2;160160+ break;161161+ default:162162+ break;163163+ }164164+165165+ switch (LASAT_W0_BUSSPEED(cfg0)) {166166+ case 0x0:167167+ lasat_board_info.li_bus_hz = 60000000;168168+ break;169169+ case 0x1:170170+ lasat_board_info.li_bus_hz = 66000000;171171+ break;172172+ case 0x2:173173+ lasat_board_info.li_bus_hz = 66666667;174174+ break;175175+ case 0x3:176176+ lasat_board_info.li_bus_hz = 80000000;177177+ break;178178+ case 0x4:179179+ lasat_board_info.li_bus_hz = 83333333;180180+ break;181181+ case 0x5:182182+ lasat_board_info.li_bus_hz = 100000000;183183+ break;184184+ }185185+186186+ switch (LASAT_W0_CPUCLK(cfg0)) {187187+ case 0x0:188188+ lasat_board_info.li_cpu_hz =189189+ lasat_board_info.li_bus_hz;190190+ break;191191+ case 0x1:192192+ lasat_board_info.li_cpu_hz =193193+ lasat_board_info.li_bus_hz +194194+ (lasat_board_info.li_bus_hz >> 1);195195+ break;196196+ case 0x2:197197+ lasat_board_info.li_cpu_hz =198198+ lasat_board_info.li_bus_hz +199199+ lasat_board_info.li_bus_hz;200200+ break;201201+ case 0x3:202202+ lasat_board_info.li_cpu_hz =203203+ lasat_board_info.li_bus_hz +204204+ lasat_board_info.li_bus_hz +205205+ (lasat_board_info.li_bus_hz >> 1);206206+ break;207207+ case 0x4:208208+ lasat_board_info.li_cpu_hz =209209+ lasat_board_info.li_bus_hz +210210+ lasat_board_info.li_bus_hz +211211+ lasat_board_info.li_bus_hz;212212+ break;213213+ }214214+215215+ /* Flash size */216216+ switch (LASAT_W1_FLASHSIZE(cfg1)) {217217+ case 0:218218+ lasat_board_info.li_flash_size = 0x200000;219219+ break;220220+ case 1:221221+ lasat_board_info.li_flash_size = 0x400000;222222+ break;223223+ case 2:224224+ lasat_board_info.li_flash_size = 0x800000;225225+ break;226226+ case 3:227227+ lasat_board_info.li_flash_size = 0x1000000;228228+ break;229229+ case 4:230230+ lasat_board_info.li_flash_size = 0x2000000;231231+ break;232232+ }233233+234234+ init_flash_sizes();235235+236236+ lasat_board_info.li_bmid = LASAT_W0_BMID(cfg0);237237+ lasat_board_info.li_prid = lasat_board_info.li_eeprom_info.prid;238238+ if (lasat_board_info.li_prid == 0xffff || lasat_board_info.li_prid == 0)239239+ lasat_board_info.li_prid = lasat_board_info.li_bmid;240240+241241+ /* Base model stuff */242242+ if (lasat_board_info.li_bmid > i_n_base_models)243243+ lasat_board_info.li_bmid = i_n_base_models;244244+ strcpy(lasat_board_info.li_bmstr,245245+ i_txt_base_models[lasat_board_info.li_bmid]);246246+247247+ /* Product ID dependent values */248248+ c = lasat_board_info.li_prid;249249+ if (c >= i_n_prids) {250250+ strcpy(lasat_board_info.li_namestr, "Unknown Model");251251+ strcpy(lasat_board_info.li_typestr, "Unknown Type");252252+ } else {253253+ ppi = &vendor_info_table[0].vi_product_info[c];254254+ strcpy(lasat_board_info.li_namestr, ppi->pi_name);255255+ if (ppi->pi_type)256256+ strcpy(lasat_board_info.li_typestr, ppi->pi_type);257257+ else258258+ sprintf(lasat_board_info.li_typestr, "%d", 10 * c);259259+ }260260+261261+#if defined(CONFIG_INET) && defined(CONFIG_SYSCTL)262262+ update_bcastaddr();263263+#endif264264+265265+ return 0;266266+}267267+268268+void lasat_write_eeprom_info(void)269269+{270270+ unsigned long crc;271271+272272+ /* Generate the CRC */273273+ crc = EEPROM_CRC((unsigned char *)(&lasat_board_info.li_eeprom_info),274274+ sizeof(struct lasat_eeprom_struct) - 4);275275+ lasat_board_info.li_eeprom_info.crc32 = crc;276276+277277+ /* Write the EEPROM info */278278+ EEPROMWrite(0, (unsigned char *)&lasat_board_info.li_eeprom_info,279279+ sizeof(struct lasat_eeprom_struct));280280+}
···11+#ifndef __PROM_H22+#define __PROM_H33+44+extern void (*prom_display)(const char *string, int pos, int clear);55+extern void (*prom_monitor)(void);66+77+#endif /* __PROM_H */
+61
arch/mips/lasat/reset.c
···11+/*22+ * Thomas Horsten <thh@lasat.com>33+ * Copyright (C) 2000 LASAT Networks A/S.44+ *55+ * This program is free software; you can distribute it and/or modify it66+ * under the terms of the GNU General Public License (Version 2) as77+ * published by the Free Software Foundation.88+ *99+ * This program is distributed in the hope it will be useful, but WITHOUT1010+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or1111+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License1212+ * for more details.1313+ *1414+ * You should have received a copy of the GNU General Public License along1515+ * with this program; if not, write to the Free Software Foundation, Inc.,1616+ * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.1717+ *1818+ * Reset the LASAT board.1919+ */2020+#include <linux/kernel.h>2121+#include <linux/pm.h>2222+2323+#include <asm/reboot.h>2424+#include <asm/system.h>2525+#include <asm/lasat/lasat.h>2626+2727+#include "picvue.h"2828+#include "prom.h"2929+3030+static void lasat_machine_restart(char *command);3131+static void lasat_machine_halt(void);3232+3333+/* Used to set machine to boot in service mode via /proc interface */3434+int lasat_boot_to_service;3535+3636+static void lasat_machine_restart(char *command)3737+{3838+ local_irq_disable();3939+4040+ if (lasat_boot_to_service) {4141+ *(volatile unsigned int *)0xa0000024 = 0xdeadbeef;4242+ *(volatile unsigned int *)0xa00000fc = 0xfedeabba;4343+ }4444+ *lasat_misc->reset_reg = 0xbedead;4545+ for (;;) ;4646+}4747+4848+static void lasat_machine_halt(void)4949+{5050+ local_irq_disable();5151+5252+ prom_monitor();5353+ for (;;) ;5454+}5555+5656+void lasat_reboot_setup(void)5757+{5858+ _machine_restart = lasat_machine_restart;5959+ _machine_halt = lasat_machine_halt;6060+ pm_power_off = lasat_machine_halt;6161+}
+94
arch/mips/lasat/serial.c
···11+/*22+ * Registration of Lasat UART platform device.33+ *44+ * Copyright (C) 2007 Brian Murphy <brian@murphy.dk>55+ *66+ * This program is free software; you can redistribute it and/or modify77+ * it under the terms of the GNU General Public License as published by88+ * the Free Software Foundation; either version 2 of the License, or99+ * (at your option) any later version.1010+ *1111+ * This program is distributed in the hope that it will be useful,1212+ * but WITHOUT ANY WARRANTY; without even the implied warranty of1313+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the1414+ * GNU General Public License for more details.1515+ *1616+ * You should have received a copy of the GNU General Public License1717+ * along with this program; if not, write to the Free Software1818+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA1919+ */2020+#include <linux/errno.h>2121+#include <linux/init.h>2222+#include <linux/ioport.h>2323+#include <linux/platform_device.h>2424+#include <linux/serial_8250.h>2525+2626+#include <asm/bootinfo.h>2727+#include <asm/lasat/lasat.h>2828+#include <asm/lasat/serial.h>2929+3030+static struct resource lasat_serial_res[2] __initdata;3131+3232+static struct plat_serial8250_port lasat_serial8250_port[] = {3333+ {3434+ .iotype = UPIO_MEM,3535+ .flags = UPF_IOREMAP | UPF_BOOT_AUTOCONF |3636+ UPF_SKIP_TEST,3737+ },3838+ {},3939+};4040+4141+static __init int lasat_uart_add(void)4242+{4343+ struct platform_device *pdev;4444+ int retval;4545+4646+ pdev = platform_device_alloc("serial8250", -1);4747+ if (!pdev)4848+ return -ENOMEM;4949+5050+ if (mips_machtype == MACH_LASAT_100) {5151+ lasat_serial_res[0].start = KSEG1ADDR(LASAT_UART_REGS_BASE_100);5252+ lasat_serial_res[0].end = lasat_serial_res[0].start + LASAT_UART_REGS_SHIFT_100 * 8 - 1;5353+ lasat_serial_res[0].flags = IORESOURCE_MEM;5454+ lasat_serial_res[1].start = LASATINT_UART_100;5555+ lasat_serial_res[1].end = LASATINT_UART_100;5656+ lasat_serial_res[1].flags = IORESOURCE_IRQ;5757+5858+ lasat_serial8250_port[0].mapbase = LASAT_UART_REGS_BASE_100;5959+ lasat_serial8250_port[0].uartclk = LASAT_BASE_BAUD_100 * 16;6060+ lasat_serial8250_port[0].regshift = LASAT_UART_REGS_SHIFT_100;6161+ lasat_serial8250_port[0].irq = LASATINT_UART_100;6262+ } else {6363+ lasat_serial_res[0].start = KSEG1ADDR(LASAT_UART_REGS_BASE_200);6464+ lasat_serial_res[0].end = lasat_serial_res[0].start + LASAT_UART_REGS_SHIFT_200 * 8 - 1;6565+ lasat_serial_res[0].flags = IORESOURCE_MEM;6666+ lasat_serial_res[1].start = LASATINT_UART_200;6767+ lasat_serial_res[1].end = LASATINT_UART_200;6868+ lasat_serial_res[1].flags = IORESOURCE_IRQ;6969+7070+ lasat_serial8250_port[0].mapbase = LASAT_UART_REGS_BASE_200;7171+ lasat_serial8250_port[0].uartclk = LASAT_BASE_BAUD_200 * 16;7272+ lasat_serial8250_port[0].regshift = LASAT_UART_REGS_SHIFT_200;7373+ lasat_serial8250_port[0].irq = LASATINT_UART_200;7474+ }7575+7676+ pdev->id = PLAT8250_DEV_PLATFORM;7777+ pdev->dev.platform_data = lasat_serial8250_port;7878+7979+ retval = platform_device_add_resources(pdev, lasat_serial_res, ARRAY_SIZE(lasat_serial_res));8080+ if (retval)8181+ goto err_free_device;8282+8383+ retval = platform_device_add(pdev);8484+ if (retval)8585+ goto err_free_device;8686+8787+ return 0;8888+8989+err_free_device:9090+ platform_device_put(pdev);9191+9292+ return retval;9393+}9494+device_initcall(lasat_uart_add);
+158
arch/mips/lasat/setup.c
···11+/*22+ * Carsten Langgaard, carstenl@mips.com33+ * Copyright (C) 1999 MIPS Technologies, Inc. All rights reserved.44+ *55+ * Thomas Horsten <thh@lasat.com>66+ * Copyright (C) 2000 LASAT Networks A/S.77+ *88+ * Brian Murphy <brian@murphy.dk>99+ *1010+ * This program is free software; you can distribute it and/or modify it1111+ * under the terms of the GNU General Public License (Version 2) as1212+ * published by the Free Software Foundation.1313+ *1414+ * This program is distributed in the hope it will be useful, but WITHOUT1515+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or1616+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License1717+ * for more details.1818+ *1919+ * You should have received a copy of the GNU General Public License along2020+ * with this program; if not, write to the Free Software Foundation, Inc.,2121+ * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.2222+ *2323+ * Lasat specific setup.2424+ */2525+#include <linux/init.h>2626+#include <linux/sched.h>2727+#include <linux/pci.h>2828+#include <linux/interrupt.h>2929+#include <linux/tty.h>3030+3131+#include <asm/time.h>3232+#include <asm/cpu.h>3333+#include <asm/bootinfo.h>3434+#include <asm/irq.h>3535+#include <asm/lasat/lasat.h>3636+#include <asm/lasat/serial.h>3737+3838+#ifdef CONFIG_PICVUE3939+#include <linux/notifier.h>4040+#endif4141+4242+#include "ds1603.h"4343+#include <asm/lasat/ds1603.h>4444+#include <asm/lasat/picvue.h>4545+#include <asm/lasat/eeprom.h>4646+4747+#include "prom.h"4848+4949+int lasat_command_line;5050+void lasatint_init(void);5151+5252+extern void lasat_reboot_setup(void);5353+extern void pcisetup(void);5454+extern void edhac_init(void *, void *, void *);5555+extern void addrflt_init(void);5656+5757+struct lasat_misc lasat_misc_info[N_MACHTYPES] = {5858+ {5959+ .reset_reg = (void *)KSEG1ADDR(0x1c840000),6060+ .flash_wp_reg = (void *)KSEG1ADDR(0x1c800000), 26161+ }, {6262+ .reset_reg = (void *)KSEG1ADDR(0x11080000),6363+ .flash_wp_reg = (void *)KSEG1ADDR(0x11000000), 66464+ }6565+};6666+6767+struct lasat_misc *lasat_misc;6868+6969+#ifdef CONFIG_DS16037070+static struct ds_defs ds_defs[N_MACHTYPES] = {7171+ { (void *)DS1603_REG_100, (void *)DS1603_REG_100,7272+ DS1603_RST_100, DS1603_CLK_100, DS1603_DATA_100,7373+ DS1603_DATA_SHIFT_100, 0, 0 },7474+ { (void *)DS1603_REG_200, (void *)DS1603_DATA_REG_200,7575+ DS1603_RST_200, DS1603_CLK_200, DS1603_DATA_200,7676+ DS1603_DATA_READ_SHIFT_200, 1, 2000 }7777+};7878+#endif7979+8080+#ifdef CONFIG_PICVUE8181+#include "picvue.h"8282+static struct pvc_defs pvc_defs[N_MACHTYPES] = {8383+ { (void *)PVC_REG_100, PVC_DATA_SHIFT_100, PVC_DATA_M_100,8484+ PVC_E_100, PVC_RW_100, PVC_RS_100 },8585+ { (void *)PVC_REG_200, PVC_DATA_SHIFT_200, PVC_DATA_M_200,8686+ PVC_E_200, PVC_RW_200, PVC_RS_200 }8787+};8888+#endif8989+9090+static int lasat_panic_display(struct notifier_block *this,9191+ unsigned long event, void *ptr)9292+{9393+#ifdef CONFIG_PICVUE9494+ unsigned char *string = ptr;9595+ if (string == NULL)9696+ string = "Kernel Panic";9797+ pvc_dump_string(string);9898+#endif9999+ return NOTIFY_DONE;100100+}101101+102102+static int lasat_panic_prom_monitor(struct notifier_block *this,103103+ unsigned long event, void *ptr)104104+{105105+ prom_monitor();106106+ return NOTIFY_DONE;107107+}108108+109109+static struct notifier_block lasat_panic_block[] =110110+{111111+ {112112+ .notifier_call = lasat_panic_display,113113+ .priority = INT_MAX114114+ }, {115115+ .notifier_call = lasat_panic_prom_monitor,116116+ .priority = INT_MIN117117+ }118118+};119119+120120+static void lasat_time_init(void)121121+{122122+ mips_hpt_frequency = lasat_board_info.li_cpu_hz / 2;123123+}124124+125125+void __init plat_timer_setup(struct irqaction *irq)126126+{127127+ change_c0_status(ST0_IM, IE_IRQ0 | IE_IRQ5);128128+}129129+130130+void __init plat_mem_setup(void)131131+{132132+ int i;133133+ lasat_misc = &lasat_misc_info[mips_machtype];134134+#ifdef CONFIG_PICVUE135135+ picvue = &pvc_defs[mips_machtype];136136+#endif137137+138138+ /* Set up panic notifier */139139+ for (i = 0; i < ARRAY_SIZE(lasat_panic_block); i++)140140+ atomic_notifier_chain_register(&panic_notifier_list,141141+ &lasat_panic_block[i]);142142+143143+ lasat_reboot_setup();144144+145145+ board_time_init = lasat_time_init;146146+147147+#ifdef CONFIG_DS1603148148+ ds1603 = &ds_defs[mips_machtype];149149+ rtc_mips_get_time = ds1603_read;150150+ rtc_mips_set_time = ds1603_set;151151+#endif152152+153153+#ifdef DYNAMIC_SERIAL_INIT154154+ serial_init();155155+#endif156156+157157+ pr_info("Lasat specific initialization complete\n");158158+}
+454
arch/mips/lasat/sysctl.c
···11+/*22+ * Thomas Horsten <thh@lasat.com>33+ * Copyright (C) 2000 LASAT Networks A/S.44+ *55+ * This program is free software; you can distribute it and/or modify it66+ * under the terms of the GNU General Public License (Version 2) as77+ * published by the Free Software Foundation.88+ *99+ * This program is distributed in the hope it will be useful, but WITHOUT1010+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or1111+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License1212+ * for more details.1313+ *1414+ * You should have received a copy of the GNU General Public License along1515+ * with this program; if not, write to the Free Software Foundation, Inc.,1616+ * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.1717+ *1818+ * Routines specific to the LASAT boards1919+ */2020+#include <linux/types.h>2121+#include <asm/lasat/lasat.h>2222+2323+#include <linux/module.h>2424+#include <linux/sysctl.h>2525+#include <linux/stddef.h>2626+#include <linux/init.h>2727+#include <linux/fs.h>2828+#include <linux/ctype.h>2929+#include <linux/string.h>3030+#include <linux/net.h>3131+#include <linux/inet.h>3232+#include <linux/mutex.h>3333+#include <linux/uaccess.h>3434+3535+#include "sysctl.h"3636+#include "ds1603.h"3737+3838+static DEFINE_MUTEX(lasat_info_mutex);3939+4040+/* Strategy function to write EEPROM after changing string entry */4141+int sysctl_lasatstring(ctl_table *table, int *name, int nlen,4242+ void *oldval, size_t *oldlenp,4343+ void *newval, size_t newlen)4444+{4545+ int r;4646+4747+ mutex_lock(&lasat_info_mutex);4848+ r = sysctl_string(table, name,4949+ nlen, oldval, oldlenp, newval, newlen);5050+ if (r < 0) {5151+ mutex_unlock(&lasat_info_mutex);5252+ return r;5353+ }5454+ if (newval && newlen)5555+ lasat_write_eeprom_info();5656+ mutex_unlock(&lasat_info_mutex);5757+5858+ return 1;5959+}6060+6161+6262+/* And the same for proc */6363+int proc_dolasatstring(ctl_table *table, int write, struct file *filp,6464+ void *buffer, size_t *lenp, loff_t *ppos)6565+{6666+ int r;6767+6868+ mutex_lock(&lasat_info_mutex);6969+ r = proc_dostring(table, write, filp, buffer, lenp, ppos);7070+ if ((!write) || r) {7171+ mutex_unlock(&lasat_info_mutex);7272+ return r;7373+ }7474+ lasat_write_eeprom_info();7575+ mutex_unlock(&lasat_info_mutex);7676+7777+ return 0;7878+}7979+8080+/* proc function to write EEPROM after changing int entry */8181+int proc_dolasatint(ctl_table *table, int write, struct file *filp,8282+ void *buffer, size_t *lenp, loff_t *ppos)8383+{8484+ int r;8585+8686+ mutex_lock(&lasat_info_mutex);8787+ r = proc_dointvec(table, write, filp, buffer, lenp, ppos);8888+ if ((!write) || r) {8989+ mutex_unlock(&lasat_info_mutex);9090+ return r;9191+ }9292+ lasat_write_eeprom_info();9393+ mutex_unlock(&lasat_info_mutex);9494+9595+ return 0;9696+}9797+9898+static int rtctmp;9999+100100+#ifdef CONFIG_DS1603101101+/* proc function to read/write RealTime Clock */102102+int proc_dolasatrtc(ctl_table *table, int write, struct file *filp,103103+ void *buffer, size_t *lenp, loff_t *ppos)104104+{105105+ int r;106106+107107+ mutex_lock(&lasat_info_mutex);108108+ if (!write) {109109+ rtctmp = ds1603_read();110110+ /* check for time < 0 and set to 0 */111111+ if (rtctmp < 0)112112+ rtctmp = 0;113113+ }114114+ r = proc_dointvec(table, write, filp, buffer, lenp, ppos);115115+ if ((!write) || r) {116116+ mutex_unlock(&lasat_info_mutex);117117+ return r;118118+ }119119+ ds1603_set(rtctmp);120120+ mutex_unlock(&lasat_info_mutex);121121+122122+ return 0;123123+}124124+#endif125125+126126+/* Sysctl for setting the IP addresses */127127+int sysctl_lasat_intvec(ctl_table *table, int *name, int nlen,128128+ void *oldval, size_t *oldlenp,129129+ void *newval, size_t newlen)130130+{131131+ int r;132132+133133+ mutex_lock(&lasat_info_mutex);134134+ r = sysctl_intvec(table, name, nlen, oldval, oldlenp, newval, newlen);135135+ if (r < 0) {136136+ mutex_unlock(&lasat_info_mutex);137137+ return r;138138+ }139139+ if (newval && newlen)140140+ lasat_write_eeprom_info();141141+ mutex_unlock(&lasat_info_mutex);142142+143143+ return 1;144144+}145145+146146+#ifdef CONFIG_DS1603147147+/* Same for RTC */148148+int sysctl_lasat_rtc(ctl_table *table, int *name, int nlen,149149+ void *oldval, size_t *oldlenp,150150+ void *newval, size_t newlen)151151+{152152+ int r;153153+154154+ mutex_lock(&lasat_info_mutex);155155+ rtctmp = ds1603_read();156156+ if (rtctmp < 0)157157+ rtctmp = 0;158158+ r = sysctl_intvec(table, name, nlen, oldval, oldlenp, newval, newlen);159159+ if (r < 0) {160160+ mutex_unlock(&lasat_info_mutex);161161+ return r;162162+ }163163+ if (newval && newlen)164164+ ds1603_set(rtctmp);165165+ mutex_unlock(&lasat_info_mutex);166166+167167+ return 1;168168+}169169+#endif170170+171171+#ifdef CONFIG_INET172172+static char lasat_bcastaddr[16];173173+174174+void update_bcastaddr(void)175175+{176176+ unsigned int ip;177177+178178+ ip = (lasat_board_info.li_eeprom_info.ipaddr &179179+ lasat_board_info.li_eeprom_info.netmask) |180180+ ~lasat_board_info.li_eeprom_info.netmask;181181+182182+ sprintf(lasat_bcastaddr, "%d.%d.%d.%d",183183+ (ip) & 0xff,184184+ (ip >> 8) & 0xff,185185+ (ip >> 16) & 0xff,186186+ (ip >> 24) & 0xff);187187+}188188+189189+static char proc_lasat_ipbuf[32];190190+191191+/* Parsing of IP address */192192+int proc_lasat_ip(ctl_table *table, int write, struct file *filp,193193+ void *buffer, size_t *lenp, loff_t *ppos)194194+{195195+ unsigned int ip;196196+ char *p, c;197197+ int len;198198+199199+ if (!table->data || !table->maxlen || !*lenp ||200200+ (*ppos && !write)) {201201+ *lenp = 0;202202+ return 0;203203+ }204204+205205+ mutex_lock(&lasat_info_mutex);206206+ if (write) {207207+ len = 0;208208+ p = buffer;209209+ while (len < *lenp) {210210+ if (get_user(c, p++)) {211211+ mutex_unlock(&lasat_info_mutex);212212+ return -EFAULT;213213+ }214214+ if (c == 0 || c == '\n')215215+ break;216216+ len++;217217+ }218218+ if (len >= sizeof(proc_lasat_ipbuf)-1)219219+ len = sizeof(proc_lasat_ipbuf) - 1;220220+ if (copy_from_user(proc_lasat_ipbuf, buffer, len)) {221221+ mutex_unlock(&lasat_info_mutex);222222+ return -EFAULT;223223+ }224224+ proc_lasat_ipbuf[len] = 0;225225+ *ppos += *lenp;226226+ /* Now see if we can convert it to a valid IP */227227+ ip = in_aton(proc_lasat_ipbuf);228228+ *(unsigned int *)(table->data) = ip;229229+ lasat_write_eeprom_info();230230+ } else {231231+ ip = *(unsigned int *)(table->data);232232+ sprintf(proc_lasat_ipbuf, "%d.%d.%d.%d",233233+ (ip) & 0xff,234234+ (ip >> 8) & 0xff,235235+ (ip >> 16) & 0xff,236236+ (ip >> 24) & 0xff);237237+ len = strlen(proc_lasat_ipbuf);238238+ if (len > *lenp)239239+ len = *lenp;240240+ if (len)241241+ if (copy_to_user(buffer, proc_lasat_ipbuf, len)) {242242+ mutex_unlock(&lasat_info_mutex);243243+ return -EFAULT;244244+ }245245+ if (len < *lenp) {246246+ if (put_user('\n', ((char *) buffer) + len)) {247247+ mutex_unlock(&lasat_info_mutex);248248+ return -EFAULT;249249+ }250250+ len++;251251+ }252252+ *lenp = len;253253+ *ppos += len;254254+ }255255+ update_bcastaddr();256256+ mutex_unlock(&lasat_info_mutex);257257+258258+ return 0;259259+}260260+#endif /* defined(CONFIG_INET) */261261+262262+static int sysctl_lasat_eeprom_value(ctl_table *table, int *name, int nlen,263263+ void *oldval, size_t *oldlenp,264264+ void *newval, size_t newlen)265265+{266266+ int r;267267+268268+ mutex_lock(&lasat_info_mutex);269269+ r = sysctl_intvec(table, name, nlen, oldval, oldlenp, newval, newlen);270270+ if (r < 0) {271271+ mutex_unlock(&lasat_info_mutex);272272+ return r;273273+ }274274+275275+ if (newval && newlen) {276276+ if (name && *name == LASAT_PRID)277277+ lasat_board_info.li_eeprom_info.prid = *(int *)newval;278278+279279+ lasat_write_eeprom_info();280280+ lasat_init_board_info();281281+ }282282+ mutex_unlock(&lasat_info_mutex);283283+284284+ return 0;285285+}286286+287287+int proc_lasat_eeprom_value(ctl_table *table, int write, struct file *filp,288288+ void *buffer, size_t *lenp, loff_t *ppos)289289+{290290+ int r;291291+292292+ mutex_lock(&lasat_info_mutex);293293+ r = proc_dointvec(table, write, filp, buffer, lenp, ppos);294294+ if ((!write) || r) {295295+ mutex_unlock(&lasat_info_mutex);296296+ return r;297297+ }298298+ if (filp && filp->f_path.dentry) {299299+ if (!strcmp(filp->f_path.dentry->d_name.name, "prid"))300300+ lasat_board_info.li_eeprom_info.prid =301301+ lasat_board_info.li_prid;302302+ if (!strcmp(filp->f_path.dentry->d_name.name, "debugaccess"))303303+ lasat_board_info.li_eeprom_info.debugaccess =304304+ lasat_board_info.li_debugaccess;305305+ }306306+ lasat_write_eeprom_info();307307+ mutex_unlock(&lasat_info_mutex);308308+309309+ return 0;310310+}311311+312312+extern int lasat_boot_to_service;313313+314314+#ifdef CONFIG_SYSCTL315315+316316+static ctl_table lasat_table[] = {317317+ {318318+ .ctl_name = CTL_UNNUMBERED,319319+ .procname = "cpu-hz",320320+ .data = &lasat_board_info.li_cpu_hz,321321+ .maxlen = sizeof(int),322322+ .mode = 0444,323323+ .proc_handler = &proc_dointvec,324324+ .strategy = &sysctl_intvec325325+ },326326+ {327327+ .ctl_name = CTL_UNNUMBERED,328328+ .procname = "bus-hz",329329+ .data = &lasat_board_info.li_bus_hz,330330+ .maxlen = sizeof(int),331331+ .mode = 0444,332332+ .proc_handler = &proc_dointvec,333333+ .strategy = &sysctl_intvec334334+ },335335+ {336336+ .ctl_name = CTL_UNNUMBERED,337337+ .procname = "bmid",338338+ .data = &lasat_board_info.li_bmid,339339+ .maxlen = sizeof(int),340340+ .mode = 0444,341341+ .proc_handler = &proc_dointvec,342342+ .strategy = &sysctl_intvec343343+ },344344+ {345345+ .ctl_name = CTL_UNNUMBERED,346346+ .procname = "prid",347347+ .data = &lasat_board_info.li_prid,348348+ .maxlen = sizeof(int),349349+ .mode = 0644,350350+ .proc_handler = &proc_lasat_eeprom_value,351351+ .strategy = &sysctl_lasat_eeprom_value352352+ },353353+#ifdef CONFIG_INET354354+ {355355+ .ctl_name = CTL_UNNUMBERED,356356+ .procname = "ipaddr",357357+ .data = &lasat_board_info.li_eeprom_info.ipaddr,358358+ .maxlen = sizeof(int),359359+ .mode = 0644,360360+ .proc_handler = &proc_lasat_ip,361361+ .strategy = &sysctl_lasat_intvec362362+ },363363+ {364364+ .ctl_name = LASAT_NETMASK,365365+ .procname = "netmask",366366+ .data = &lasat_board_info.li_eeprom_info.netmask,367367+ .maxlen = sizeof(int),368368+ .mode = 0644,369369+ .proc_handler = &proc_lasat_ip,370370+ .strategy = &sysctl_lasat_intvec371371+ },372372+ {373373+ .ctl_name = CTL_UNNUMBERED,374374+ .procname = "bcastaddr",375375+ .data = &lasat_bcastaddr,376376+ .maxlen = sizeof(lasat_bcastaddr),377377+ .mode = 0600,378378+ .proc_handler = &proc_dostring,379379+ .strategy = &sysctl_string380380+ },381381+#endif382382+ {383383+ .ctl_name = CTL_UNNUMBERED,384384+ .procname = "passwd_hash",385385+ .data = &lasat_board_info.li_eeprom_info.passwd_hash,386386+ .maxlen =387387+ sizeof(lasat_board_info.li_eeprom_info.passwd_hash),388388+ .mode = 0600,389389+ .proc_handler = &proc_dolasatstring,390390+ .strategy = &sysctl_lasatstring391391+ },392392+ {393393+ .ctl_name = CTL_UNNUMBERED,394394+ .procname = "boot-service",395395+ .data = &lasat_boot_to_service,396396+ .maxlen = sizeof(int),397397+ .mode = 0644,398398+ .proc_handler = &proc_dointvec,399399+ .strategy = &sysctl_intvec400400+ },401401+#ifdef CONFIG_DS1603402402+ {403403+ .ctl_name = CTL_UNNUMBERED,404404+ .procname = "rtc",405405+ .data = &rtctmp,406406+ .maxlen = sizeof(int),407407+ .mode = 0644,408408+ .proc_handler = &proc_dolasatrtc,409409+ .strategy = &sysctl_lasat_rtc410410+ },411411+#endif412412+ {413413+ .ctl_name = CTL_UNNUMBERED,414414+ .procname = "namestr",415415+ .data = &lasat_board_info.li_namestr,416416+ .maxlen = sizeof(lasat_board_info.li_namestr),417417+ .mode = 0444,418418+ .proc_handler = &proc_dostring,419419+ .strategy = &sysctl_string420420+ },421421+ {422422+ .ctl_name = CTL_UNNUMBERED,423423+ .procname = "typestr",424424+ .data = &lasat_board_info.li_typestr,425425+ .maxlen = sizeof(lasat_board_info.li_typestr),426426+ .mode = 0444,427427+ .proc_handler = &proc_dostring,428428+ .strategy = &sysctl_string429429+ },430430+ {}431431+};432432+433433+static ctl_table lasat_root_table[] = {434434+ {435435+ .ctl_name = CTL_UNNUMBERED,436436+ .procname = "lasat",437437+ .mode = 0555,438438+ .child = lasat_table439439+ },440440+ {}441441+};442442+443443+static int __init lasat_register_sysctl(void)444444+{445445+ struct ctl_table_header *lasat_table_header;446446+447447+ lasat_table_header =448448+ register_sysctl_table(lasat_root_table);449449+450450+ return 0;451451+}452452+453453+__initcall(lasat_register_sysctl);454454+#endif /* CONFIG_SYSCTL */
···11+/*22+ * This is a direct copy of the ev96100.h file, with a global33+ * search and replace. The numbers are the same.44+ *55+ * The reason I'm duplicating this is so that the 64120/9610066+ * defines won't be confusing in the source code.77+ */88+#ifndef _ASM_GT64120_LASAT_GT64120_DEP_H99+#define _ASM_GT64120_LASAT_GT64120_DEP_H1010+1111+/*1212+ * GT64120 config space base address on Lasat 1001313+ */1414+#define GT64120_BASE (KSEG1ADDR(0x14000000))1515+1616+/*1717+ * PCI Bus allocation1818+ *1919+ * (Guessing ...)2020+ */2121+#define GT_PCI_MEM_BASE 0x12000000UL2222+#define GT_PCI_MEM_SIZE 0x02000000UL2323+#define GT_PCI_IO_BASE 0x10000000UL2424+#define GT_PCI_IO_SIZE 0x02000000UL2525+#define GT_ISA_IO_BASE PCI_IO_BASE2626+2727+#endif /* _ASM_GT64120_LASAT_GT64120_DEP_H */