···530530 simulate actual MIPS hardware platforms. More information on Qemu531531 can be found at http://www.linux-mips.org/wiki/Qemu.532532533533+config MARKEINS534534+ bool "Support for NEC EMMA2RH Mark-eins"535535+ select DMA_NONCOHERENT536536+ select HW_HAS_PCI537537+ select IRQ_CPU538538+ select SWAP_IO_SPACE539539+ select SYS_SUPPORTS_32BIT_KERNEL540540+ select SYS_SUPPORTS_BIG_ENDIAN541541+ select SYS_SUPPORTS_LITTLE_ENDIAN542542+ select SYS_HAS_CPU_R5000543543+ help544544+ This enables support for the R5432-based NEC Mark-eins545545+ boards with R5500 CPU.546546+533547config SGI_IP22534548 bool "SGI IP22 (Indy/Indigo2)"535549 select ARC···981967982968config SWAP_IO_SPACE983969 bool970970+971971+config EMMA2RH972972+ bool973973+ depends on MARKEINS974974+ default y984975985976#986977# Unfortunately not all GT64120 systems run the chip at the same clock.
···11+#22+# Automatically generated make config: don't edit33+# Linux kernel version: 2.6.1744+# Sun Jun 18 13:46:53 200655+#66+CONFIG_MIPS=y77+88+#99+# Machine selection1010+#1111+# CONFIG_MIPS_MTX1 is not set1212+# CONFIG_MIPS_BOSPORUS is not set1313+# CONFIG_MIPS_PB1000 is not set1414+# CONFIG_MIPS_PB1100 is not set1515+# CONFIG_MIPS_PB1500 is not set1616+# CONFIG_MIPS_PB1550 is not set1717+# CONFIG_MIPS_PB1200 is not set1818+# CONFIG_MIPS_DB1000 is not set1919+# CONFIG_MIPS_DB1100 is not set2020+# CONFIG_MIPS_DB1500 is not set2121+# CONFIG_MIPS_DB1550 is not set2222+# CONFIG_MIPS_DB1200 is not set2323+# CONFIG_MIPS_MIRAGE is not set2424+# CONFIG_MIPS_COBALT is not set2525+# CONFIG_MACH_DECSTATION is not set2626+# CONFIG_MIPS_EV64120 is not set2727+# CONFIG_MIPS_EV96100 is not set2828+# CONFIG_MIPS_IVR is not set2929+# CONFIG_MIPS_ITE8172 is not set3030+# CONFIG_MACH_JAZZ is not set3131+# CONFIG_LASAT is not set3232+# CONFIG_MIPS_ATLAS is not set3333+# CONFIG_MIPS_MALTA is not set3434+# CONFIG_MIPS_SEAD is not set3535+# CONFIG_WR_PPMC is not set3636+# CONFIG_MIPS_SIM is not set3737+# CONFIG_MOMENCO_JAGUAR_ATX is not set3838+# CONFIG_MOMENCO_OCELOT is not set3939+# CONFIG_MOMENCO_OCELOT_3 is not set4040+# CONFIG_MOMENCO_OCELOT_C is not set4141+# CONFIG_MOMENCO_OCELOT_G is not set4242+# CONFIG_MIPS_XXS1500 is not set4343+# CONFIG_PNX8550_V2PCI is not set4444+# CONFIG_PNX8550_JBS is not set4545+# CONFIG_DDB5477 is not set4646+# CONFIG_MACH_VR41XX is not set4747+# CONFIG_PMC_YOSEMITE is not set4848+# CONFIG_QEMU is not set4949+CONFIG_MARKEINS=y5050+# CONFIG_SGI_IP22 is not set5151+# CONFIG_SGI_IP27 is not set5252+# CONFIG_SGI_IP32 is not set5353+# CONFIG_SIBYTE_BIGSUR is not set5454+# CONFIG_SIBYTE_SWARM is not set5555+# CONFIG_SIBYTE_SENTOSA is not set5656+# CONFIG_SIBYTE_RHONE is not set5757+# CONFIG_SIBYTE_CARMEL is not set5858+# CONFIG_SIBYTE_PTSWARM is not set5959+# CONFIG_SIBYTE_LITTLESUR is not set6060+# CONFIG_SIBYTE_CRHINE is not set6161+# CONFIG_SIBYTE_CRHONE is not set6262+# CONFIG_SNI_RM200_PCI is not set6363+# CONFIG_TOSHIBA_JMR3927 is not set6464+# CONFIG_TOSHIBA_RBTX4927 is not set6565+# CONFIG_TOSHIBA_RBTX4938 is not set6666+CONFIG_RWSEM_GENERIC_SPINLOCK=y6767+CONFIG_GENERIC_FIND_NEXT_BIT=y6868+CONFIG_GENERIC_HWEIGHT=y6969+CONFIG_GENERIC_CALIBRATE_DELAY=y7070+CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y7171+CONFIG_DMA_NONCOHERENT=y7272+CONFIG_DMA_NEED_PCI_MAP_STATE=y7373+CONFIG_CPU_BIG_ENDIAN=y7474+# CONFIG_CPU_LITTLE_ENDIAN is not set7575+CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y7676+CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y7777+CONFIG_IRQ_CPU=y7878+CONFIG_SWAP_IO_SPACE=y7979+CONFIG_EMMA2RH=y8080+CONFIG_MIPS_L1_CACHE_SHIFT=58181+8282+#8383+# CPU selection8484+#8585+# CONFIG_CPU_MIPS32_R1 is not set8686+# CONFIG_CPU_MIPS32_R2 is not set8787+# CONFIG_CPU_MIPS64_R1 is not set8888+# CONFIG_CPU_MIPS64_R2 is not set8989+# CONFIG_CPU_R3000 is not set9090+# CONFIG_CPU_TX39XX is not set9191+# CONFIG_CPU_VR41XX is not set9292+# CONFIG_CPU_R4300 is not set9393+# CONFIG_CPU_R4X00 is not set9494+# CONFIG_CPU_TX49XX is not set9595+CONFIG_CPU_R5000=y9696+# CONFIG_CPU_R5432 is not set9797+# CONFIG_CPU_R6000 is not set9898+# CONFIG_CPU_NEVADA is not set9999+# CONFIG_CPU_R8000 is not set100100+# CONFIG_CPU_R10000 is not set101101+# CONFIG_CPU_RM7000 is not set102102+# CONFIG_CPU_RM9000 is not set103103+# CONFIG_CPU_SB1 is not set104104+CONFIG_SYS_HAS_CPU_R5000=y105105+CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y106106+CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y107107+CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y108108+109109+#110110+# Kernel type111111+#112112+CONFIG_32BIT=y113113+# CONFIG_64BIT is not set114114+CONFIG_PAGE_SIZE_4KB=y115115+# CONFIG_PAGE_SIZE_8KB is not set116116+# CONFIG_PAGE_SIZE_16KB is not set117117+# CONFIG_PAGE_SIZE_64KB is not set118118+CONFIG_MIPS_MT_DISABLED=y119119+# CONFIG_MIPS_MT_SMTC is not set120120+# CONFIG_MIPS_MT_SMP is not set121121+# CONFIG_MIPS_VPE_LOADER is not set122122+# CONFIG_64BIT_PHYS_ADDR is not set123123+CONFIG_CPU_HAS_LLSC=y124124+CONFIG_CPU_HAS_SYNC=y125125+CONFIG_GENERIC_HARDIRQS=y126126+CONFIG_GENERIC_IRQ_PROBE=y127127+CONFIG_ARCH_FLATMEM_ENABLE=y128128+CONFIG_SELECT_MEMORY_MODEL=y129129+CONFIG_FLATMEM_MANUAL=y130130+# CONFIG_DISCONTIGMEM_MANUAL is not set131131+# CONFIG_SPARSEMEM_MANUAL is not set132132+CONFIG_FLATMEM=y133133+CONFIG_FLAT_NODE_MEM_MAP=y134134+# CONFIG_SPARSEMEM_STATIC is not set135135+CONFIG_SPLIT_PTLOCK_CPUS=4136136+# CONFIG_PREEMPT_NONE is not set137137+# CONFIG_PREEMPT_VOLUNTARY is not set138138+CONFIG_PREEMPT=y139139+CONFIG_PREEMPT_BKL=y140140+141141+#142142+# Code maturity level options143143+#144144+CONFIG_EXPERIMENTAL=y145145+CONFIG_BROKEN_ON_SMP=y146146+CONFIG_LOCK_KERNEL=y147147+CONFIG_INIT_ENV_ARG_LIMIT=32148148+149149+#150150+# General setup151151+#152152+CONFIG_LOCALVERSION=""153153+CONFIG_LOCALVERSION_AUTO=y154154+CONFIG_SWAP=y155155+CONFIG_SYSVIPC=y156156+CONFIG_POSIX_MQUEUE=y157157+CONFIG_BSD_PROCESS_ACCT=y158158+# CONFIG_BSD_PROCESS_ACCT_V3 is not set159159+CONFIG_SYSCTL=y160160+# CONFIG_AUDIT is not set161161+CONFIG_IKCONFIG=y162162+CONFIG_IKCONFIG_PROC=y163163+# CONFIG_RELAY is not set164164+CONFIG_INITRAMFS_SOURCE=""165165+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set166166+CONFIG_EMBEDDED=y167167+CONFIG_KALLSYMS=y168168+# CONFIG_KALLSYMS_EXTRA_PASS is not set169169+CONFIG_HOTPLUG=y170170+CONFIG_PRINTK=y171171+CONFIG_BUG=y172172+CONFIG_ELF_CORE=y173173+CONFIG_BASE_FULL=y174174+CONFIG_FUTEX=y175175+CONFIG_EPOLL=y176176+CONFIG_SHMEM=y177177+CONFIG_SLAB=y178178+# CONFIG_TINY_SHMEM is not set179179+CONFIG_BASE_SMALL=0180180+# CONFIG_SLOB is not set181181+CONFIG_OBSOLETE_INTERMODULE=y182182+183183+#184184+# Loadable module support185185+#186186+CONFIG_MODULES=y187187+CONFIG_MODULE_UNLOAD=y188188+CONFIG_MODULE_FORCE_UNLOAD=y189189+CONFIG_MODVERSIONS=y190190+# CONFIG_MODULE_SRCVERSION_ALL is not set191191+CONFIG_KMOD=y192192+193193+#194194+# Block layer195195+#196196+CONFIG_LBD=y197197+# CONFIG_BLK_DEV_IO_TRACE is not set198198+# CONFIG_LSF is not set199199+200200+#201201+# IO Schedulers202202+#203203+CONFIG_IOSCHED_NOOP=y204204+CONFIG_IOSCHED_AS=y205205+CONFIG_IOSCHED_DEADLINE=y206206+CONFIG_IOSCHED_CFQ=y207207+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_MMU=y219219+220220+#221221+# PCCARD (PCMCIA/CardBus) support222222+#223223+# CONFIG_PCCARD is not set224224+225225+#226226+# PCI Hotplug Support227227+#228228+# CONFIG_HOTPLUG_PCI is not set229229+230230+#231231+# Executable file formats232232+#233233+CONFIG_BINFMT_ELF=y234234+# CONFIG_BINFMT_MISC is not set235235+CONFIG_TRAD_SIGNALS=y236236+237237+#238238+# Networking239239+#240240+CONFIG_NET=y241241+242242+#243243+# Networking options244244+#245245+# CONFIG_NETDEBUG is not set246246+CONFIG_PACKET=y247247+CONFIG_PACKET_MMAP=y248248+CONFIG_UNIX=y249249+CONFIG_XFRM=y250250+# CONFIG_XFRM_USER is not set251251+CONFIG_NET_KEY=y252252+CONFIG_INET=y253253+CONFIG_IP_MULTICAST=y254254+CONFIG_IP_ADVANCED_ROUTER=y255255+CONFIG_ASK_IP_FIB_HASH=y256256+# CONFIG_IP_FIB_TRIE is not set257257+CONFIG_IP_FIB_HASH=y258258+CONFIG_IP_MULTIPLE_TABLES=y259259+# CONFIG_IP_ROUTE_FWMARK is not set260260+CONFIG_IP_ROUTE_MULTIPATH=y261261+# CONFIG_IP_ROUTE_MULTIPATH_CACHED is not set262262+CONFIG_IP_ROUTE_VERBOSE=y263263+CONFIG_IP_PNP=y264264+# CONFIG_IP_PNP_DHCP is not set265265+CONFIG_IP_PNP_BOOTP=y266266+# CONFIG_IP_PNP_RARP is not set267267+# CONFIG_NET_IPIP is not set268268+# CONFIG_NET_IPGRE is not set269269+# CONFIG_IP_MROUTE is not set270270+# CONFIG_ARPD is not set271271+CONFIG_SYN_COOKIES=y272272+# CONFIG_INET_AH is not set273273+# CONFIG_INET_ESP is not set274274+# CONFIG_INET_IPCOMP is not set275275+# CONFIG_INET_XFRM_TUNNEL is not set276276+# CONFIG_INET_TUNNEL is not set277277+CONFIG_INET_DIAG=y278278+CONFIG_INET_TCP_DIAG=y279279+# CONFIG_TCP_CONG_ADVANCED is not set280280+CONFIG_TCP_CONG_BIC=y281281+282282+#283283+# IP: Virtual Server Configuration284284+#285285+# CONFIG_IP_VS is not set286286+CONFIG_IPV6=m287287+# CONFIG_IPV6_PRIVACY is not set288288+# CONFIG_IPV6_ROUTER_PREF is not set289289+# CONFIG_INET6_AH is not set290290+# CONFIG_INET6_ESP is not set291291+# CONFIG_INET6_IPCOMP is not set292292+# CONFIG_INET6_XFRM_TUNNEL is not set293293+# CONFIG_INET6_TUNNEL is not set294294+# CONFIG_IPV6_TUNNEL is not set295295+CONFIG_NETFILTER=y296296+# CONFIG_NETFILTER_DEBUG is not set297297+298298+#299299+# Core Netfilter Configuration300300+#301301+# CONFIG_NETFILTER_NETLINK is not set302302+# CONFIG_NF_CONNTRACK is not set303303+# CONFIG_NETFILTER_XTABLES is not set304304+305305+#306306+# IP: Netfilter Configuration307307+#308308+# CONFIG_IP_NF_CONNTRACK is not set309309+# CONFIG_IP_NF_QUEUE is not set310310+311311+#312312+# IPv6: Netfilter Configuration (EXPERIMENTAL)313313+#314314+# CONFIG_IP6_NF_QUEUE is not set315315+316316+#317317+# DCCP Configuration (EXPERIMENTAL)318318+#319319+# CONFIG_IP_DCCP is not set320320+321321+#322322+# SCTP Configuration (EXPERIMENTAL)323323+#324324+CONFIG_IP_SCTP=m325325+# CONFIG_SCTP_DBG_MSG is not set326326+# CONFIG_SCTP_DBG_OBJCNT is not set327327+# CONFIG_SCTP_HMAC_NONE is not set328328+# CONFIG_SCTP_HMAC_SHA1 is not set329329+CONFIG_SCTP_HMAC_MD5=y330330+331331+#332332+# TIPC Configuration (EXPERIMENTAL)333333+#334334+# CONFIG_TIPC is not set335335+# CONFIG_ATM is not set336336+# CONFIG_BRIDGE is not set337337+# CONFIG_VLAN_8021Q is not set338338+# CONFIG_DECNET is not set339339+# CONFIG_LLC2 is not set340340+# CONFIG_IPX is not set341341+# CONFIG_ATALK is not set342342+# CONFIG_X25 is not set343343+# CONFIG_LAPB is not set344344+# CONFIG_NET_DIVERT is not set345345+# CONFIG_ECONET is not set346346+# CONFIG_WAN_ROUTER is not set347347+348348+#349349+# QoS and/or fair queueing350350+#351351+# CONFIG_NET_SCHED is not set352352+353353+#354354+# Network testing355355+#356356+# CONFIG_NET_PKTGEN is not set357357+# CONFIG_HAMRADIO is not set358358+# CONFIG_IRDA is not set359359+# CONFIG_BT is not set360360+# CONFIG_IEEE80211 is not set361361+362362+#363363+# Device Drivers364364+#365365+366366+#367367+# Generic Driver Options368368+#369369+CONFIG_STANDALONE=y370370+CONFIG_PREVENT_FIRMWARE_BUILD=y371371+# CONFIG_FW_LOADER is not set372372+373373+#374374+# Connector - unified userspace <-> kernelspace linker375375+#376376+# CONFIG_CONNECTOR is not set377377+378378+#379379+# Memory Technology Devices (MTD)380380+#381381+CONFIG_MTD=y382382+# CONFIG_MTD_DEBUG is not set383383+# CONFIG_MTD_CONCAT is not set384384+CONFIG_MTD_PARTITIONS=y385385+# CONFIG_MTD_REDBOOT_PARTS is not set386386+CONFIG_MTD_CMDLINE_PARTS=y387387+388388+#389389+# User Modules And Translation Layers390390+#391391+CONFIG_MTD_CHAR=y392392+CONFIG_MTD_BLOCK=y393393+# CONFIG_FTL is not set394394+# CONFIG_NFTL is not set395395+# CONFIG_INFTL is not set396396+# CONFIG_RFD_FTL is not set397397+398398+#399399+# RAM/ROM/Flash chip drivers400400+#401401+CONFIG_MTD_CFI=y402402+# CONFIG_MTD_JEDECPROBE is not set403403+CONFIG_MTD_GEN_PROBE=y404404+# CONFIG_MTD_CFI_ADV_OPTIONS is not set405405+CONFIG_MTD_MAP_BANK_WIDTH_1=y406406+CONFIG_MTD_MAP_BANK_WIDTH_2=y407407+CONFIG_MTD_MAP_BANK_WIDTH_4=y408408+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set409409+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set410410+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set411411+CONFIG_MTD_CFI_I1=y412412+CONFIG_MTD_CFI_I2=y413413+# CONFIG_MTD_CFI_I4 is not set414414+# CONFIG_MTD_CFI_I8 is not set415415+# CONFIG_MTD_CFI_INTELEXT is not set416416+CONFIG_MTD_CFI_AMDSTD=y417417+# CONFIG_MTD_CFI_STAA is not set418418+CONFIG_MTD_CFI_UTIL=y419419+# CONFIG_MTD_RAM is not set420420+# CONFIG_MTD_ROM is not set421421+# CONFIG_MTD_ABSENT is not set422422+# CONFIG_MTD_OBSOLETE_CHIPS is not set423423+424424+#425425+# Mapping drivers for chip access426426+#427427+# CONFIG_MTD_COMPLEX_MAPPINGS is not set428428+CONFIG_MTD_PHYSMAP=y429429+CONFIG_MTD_PHYSMAP_START=0x1e000000430430+CONFIG_MTD_PHYSMAP_LEN=0x02000000431431+CONFIG_MTD_PHYSMAP_BANKWIDTH=2432432+# CONFIG_MTD_PLATRAM is not set433433+434434+#435435+# Self-contained MTD device drivers436436+#437437+# CONFIG_MTD_PMC551 is not set438438+# CONFIG_MTD_SLRAM is not set439439+# CONFIG_MTD_PHRAM is not set440440+# CONFIG_MTD_MTDRAM is not set441441+# CONFIG_MTD_BLOCK2MTD is not set442442+443443+#444444+# Disk-On-Chip Device Drivers445445+#446446+# CONFIG_MTD_DOC2000 is not set447447+# CONFIG_MTD_DOC2001 is not set448448+# CONFIG_MTD_DOC2001PLUS is not set449449+450450+#451451+# NAND Flash Device Drivers452452+#453453+# CONFIG_MTD_NAND is not set454454+455455+#456456+# OneNAND Flash Device Drivers457457+#458458+# CONFIG_MTD_ONENAND is not set459459+460460+#461461+# Parallel port support462462+#463463+# CONFIG_PARPORT is not set464464+465465+#466466+# Plug and Play support467467+#468468+469469+#470470+# Block devices471471+#472472+# CONFIG_BLK_CPQ_DA is not set473473+# CONFIG_BLK_CPQ_CISS_DA is not set474474+# CONFIG_BLK_DEV_DAC960 is not set475475+# CONFIG_BLK_DEV_UMEM is not set476476+# CONFIG_BLK_DEV_COW_COMMON is not set477477+CONFIG_BLK_DEV_LOOP=m478478+CONFIG_BLK_DEV_CRYPTOLOOP=m479479+# CONFIG_BLK_DEV_NBD is not set480480+# CONFIG_BLK_DEV_SX8 is not set481481+# CONFIG_BLK_DEV_RAM is not set482482+# CONFIG_BLK_DEV_INITRD is not set483483+# CONFIG_CDROM_PKTCDVD is not set484484+# CONFIG_ATA_OVER_ETH is not set485485+486486+#487487+# ATA/ATAPI/MFM/RLL support488488+#489489+# CONFIG_IDE is not set490490+491491+#492492+# SCSI device support493493+#494494+# CONFIG_RAID_ATTRS is not set495495+CONFIG_SCSI=m496496+# CONFIG_SCSI_PROC_FS is not set497497+498498+#499499+# SCSI support type (disk, tape, CD-ROM)500500+#501501+CONFIG_BLK_DEV_SD=m502502+# CONFIG_CHR_DEV_ST is not set503503+# CONFIG_CHR_DEV_OSST is not set504504+# CONFIG_BLK_DEV_SR is not set505505+CONFIG_CHR_DEV_SG=m506506+# CONFIG_CHR_DEV_SCH is not set507507+508508+#509509+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs510510+#511511+# CONFIG_SCSI_MULTI_LUN is not set512512+# CONFIG_SCSI_CONSTANTS is not set513513+# CONFIG_SCSI_LOGGING is not set514514+515515+#516516+# SCSI Transport Attributes517517+#518518+# CONFIG_SCSI_SPI_ATTRS is not set519519+# CONFIG_SCSI_FC_ATTRS is not set520520+# CONFIG_SCSI_ISCSI_ATTRS is not set521521+# CONFIG_SCSI_SAS_ATTRS is not set522522+523523+#524524+# SCSI low-level drivers525525+#526526+# CONFIG_ISCSI_TCP is not set527527+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set528528+# CONFIG_SCSI_3W_9XXX is not set529529+# CONFIG_SCSI_ACARD is not set530530+# CONFIG_SCSI_AACRAID is not set531531+# CONFIG_SCSI_AIC7XXX is not set532532+# CONFIG_SCSI_AIC7XXX_OLD is not set533533+# CONFIG_SCSI_AIC79XX is not set534534+# CONFIG_SCSI_DPT_I2O is not set535535+# CONFIG_MEGARAID_NEWGEN is not set536536+# CONFIG_MEGARAID_LEGACY is not set537537+# CONFIG_MEGARAID_SAS is not set538538+# CONFIG_SCSI_SATA is not set539539+# CONFIG_SCSI_DMX3191D is not set540540+# CONFIG_SCSI_FUTURE_DOMAIN is not set541541+# CONFIG_SCSI_IPS is not set542542+# CONFIG_SCSI_INITIO is not set543543+# CONFIG_SCSI_INIA100 is not set544544+# CONFIG_SCSI_SYM53C8XX_2 is not set545545+# CONFIG_SCSI_IPR is not set546546+# CONFIG_SCSI_QLOGIC_1280 is not set547547+# CONFIG_SCSI_QLA_FC is not set548548+# CONFIG_SCSI_LPFC is not set549549+# CONFIG_SCSI_DC395x is not set550550+# CONFIG_SCSI_DC390T is not set551551+# CONFIG_SCSI_NSP32 is not set552552+# CONFIG_SCSI_DEBUG is not set553553+554554+#555555+# Multi-device support (RAID and LVM)556556+#557557+# CONFIG_MD is not set558558+559559+#560560+# Fusion MPT device support561561+#562562+# CONFIG_FUSION is not set563563+# CONFIG_FUSION_SPI is not set564564+# CONFIG_FUSION_FC is not set565565+# CONFIG_FUSION_SAS is not set566566+567567+#568568+# IEEE 1394 (FireWire) support569569+#570570+# CONFIG_IEEE1394 is not set571571+572572+#573573+# I2O device support574574+#575575+# CONFIG_I2O is not set576576+577577+#578578+# Network device support579579+#580580+CONFIG_NETDEVICES=y581581+# CONFIG_DUMMY is not set582582+# CONFIG_BONDING is not set583583+# CONFIG_EQUALIZER is not set584584+CONFIG_TUN=m585585+586586+#587587+# ARCnet devices588588+#589589+# CONFIG_ARCNET is not set590590+591591+#592592+# PHY device support593593+#594594+# CONFIG_PHYLIB is not set595595+596596+#597597+# Ethernet (10 or 100Mbit)598598+#599599+CONFIG_NET_ETHERNET=y600600+CONFIG_MII=y601601+# CONFIG_HAPPYMEAL is not set602602+# CONFIG_SUNGEM is not set603603+# CONFIG_CASSINI is not set604604+# CONFIG_NET_VENDOR_3COM is not set605605+# CONFIG_DM9000 is not set606606+607607+#608608+# Tulip family network device support609609+#610610+# CONFIG_NET_TULIP is not set611611+# CONFIG_HP100 is not set612612+CONFIG_NET_PCI=y613613+# CONFIG_PCNET32 is not set614614+# CONFIG_AMD8111_ETH is not set615615+# CONFIG_ADAPTEC_STARFIRE is not set616616+# CONFIG_B44 is not set617617+# CONFIG_FORCEDETH is not set618618+# CONFIG_DGRS is not set619619+# CONFIG_EEPRO100 is not set620620+# CONFIG_E100 is not set621621+# CONFIG_FEALNX is not set622622+CONFIG_NATSEMI=y623623+# CONFIG_NE2K_PCI is not set624624+# CONFIG_8139CP is not set625625+# CONFIG_8139TOO is not set626626+# CONFIG_SIS900 is not set627627+# CONFIG_EPIC100 is not set628628+# CONFIG_SUNDANCE is not set629629+# CONFIG_TLAN is not set630630+# CONFIG_VIA_RHINE is not set631631+# CONFIG_LAN_SAA9730 is not set632632+633633+#634634+# Ethernet (1000 Mbit)635635+#636636+# CONFIG_ACENIC is not set637637+# CONFIG_DL2K is not set638638+# CONFIG_E1000 is not set639639+# CONFIG_NS83820 is not set640640+# CONFIG_HAMACHI is not set641641+# CONFIG_YELLOWFIN is not set642642+# CONFIG_R8169 is not set643643+# CONFIG_SIS190 is not set644644+# CONFIG_SKGE is not set645645+# CONFIG_SKY2 is not set646646+# CONFIG_SK98LIN is not set647647+# CONFIG_VIA_VELOCITY is not set648648+# CONFIG_TIGON3 is not set649649+# CONFIG_BNX2 is not set650650+651651+#652652+# Ethernet (10000 Mbit)653653+#654654+# CONFIG_CHELSIO_T1 is not set655655+# CONFIG_IXGB is not set656656+# CONFIG_S2IO is not set657657+658658+#659659+# Token Ring devices660660+#661661+# CONFIG_TR is not set662662+663663+#664664+# Wireless LAN (non-hamradio)665665+#666666+# CONFIG_NET_RADIO is not set667667+668668+#669669+# Wan interfaces670670+#671671+# CONFIG_WAN is not set672672+# CONFIG_FDDI is not set673673+# CONFIG_HIPPI is not set674674+CONFIG_PPP=m675675+# CONFIG_PPP_MULTILINK is not set676676+# CONFIG_PPP_FILTER is not set677677+CONFIG_PPP_ASYNC=m678678+CONFIG_PPP_SYNC_TTY=m679679+CONFIG_PPP_DEFLATE=m680680+# CONFIG_PPP_BSDCOMP is not set681681+# CONFIG_PPP_MPPE is not set682682+# CONFIG_PPPOE is not set683683+# CONFIG_SLIP is not set684684+# CONFIG_NET_FC is not set685685+# CONFIG_SHAPER is not set686686+# CONFIG_NETCONSOLE is not set687687+# CONFIG_NETPOLL is not set688688+# CONFIG_NET_POLL_CONTROLLER is not set689689+690690+#691691+# ISDN subsystem692692+#693693+# CONFIG_ISDN is not set694694+695695+#696696+# Telephony Support697697+#698698+# CONFIG_PHONE is not set699699+700700+#701701+# Input device support702702+#703703+CONFIG_INPUT=y704704+705705+#706706+# Userland interfaces707707+#708708+# CONFIG_INPUT_MOUSEDEV is not set709709+# CONFIG_INPUT_JOYDEV is not set710710+# CONFIG_INPUT_TSDEV is not set711711+CONFIG_INPUT_EVDEV=m712712+# CONFIG_INPUT_EVBUG is not set713713+714714+#715715+# Input Device Drivers716716+#717717+# CONFIG_INPUT_KEYBOARD is not set718718+# CONFIG_INPUT_MOUSE is not set719719+# CONFIG_INPUT_JOYSTICK is not set720720+# CONFIG_INPUT_TOUCHSCREEN is not set721721+# CONFIG_INPUT_MISC is not set722722+723723+#724724+# Hardware I/O ports725725+#726726+# CONFIG_SERIO is not set727727+# CONFIG_GAMEPORT is not set728728+729729+#730730+# Character devices731731+#732732+# CONFIG_VT is not set733733+# CONFIG_SERIAL_NONSTANDARD is not set734734+735735+#736736+# Serial drivers737737+#738738+CONFIG_SERIAL_8250=y739739+CONFIG_SERIAL_8250_CONSOLE=y740740+CONFIG_SERIAL_8250_PCI=y741741+CONFIG_SERIAL_8250_NR_UARTS=4742742+CONFIG_SERIAL_8250_RUNTIME_UARTS=4743743+# CONFIG_SERIAL_8250_EXTENDED is not set744744+745745+#746746+# Non-8250 serial port support747747+#748748+CONFIG_SERIAL_CORE=y749749+CONFIG_SERIAL_CORE_CONSOLE=y750750+# CONFIG_SERIAL_JSM is not set751751+CONFIG_UNIX98_PTYS=y752752+CONFIG_LEGACY_PTYS=y753753+CONFIG_LEGACY_PTY_COUNT=256754754+755755+#756756+# IPMI757757+#758758+# CONFIG_IPMI_HANDLER is not set759759+760760+#761761+# Watchdog Cards762762+#763763+# CONFIG_WATCHDOG is not set764764+CONFIG_RTC=m765765+CONFIG_GEN_RTC=m766766+CONFIG_GEN_RTC_X=y767767+# CONFIG_DTLK is not set768768+# CONFIG_R3964 is not set769769+# CONFIG_APPLICOM is not set770770+771771+#772772+# Ftape, the floppy tape device driver773773+#774774+# CONFIG_DRM is not set775775+# CONFIG_RAW_DRIVER is not set776776+777777+#778778+# TPM devices779779+#780780+# CONFIG_TCG_TPM is not set781781+# CONFIG_TELCLOCK is not set782782+783783+#784784+# I2C support785785+#786786+CONFIG_I2C=y787787+CONFIG_I2C_CHARDEV=y788788+789789+#790790+# I2C Algorithms791791+#792792+# CONFIG_I2C_ALGOBIT is not set793793+# CONFIG_I2C_ALGOPCF is not set794794+# CONFIG_I2C_ALGOPCA is not set795795+796796+#797797+# I2C Hardware Bus support798798+#799799+# CONFIG_I2C_ALI1535 is not set800800+# CONFIG_I2C_ALI1563 is not set801801+# CONFIG_I2C_ALI15X3 is not set802802+# CONFIG_I2C_AMD756 is not set803803+# CONFIG_I2C_AMD8111 is not set804804+# CONFIG_I2C_I801 is not set805805+# CONFIG_I2C_I810 is not set806806+# CONFIG_I2C_PIIX4 is not set807807+# CONFIG_I2C_NFORCE2 is not set808808+# CONFIG_I2C_PARPORT_LIGHT is not set809809+# CONFIG_I2C_PROSAVAGE is not set810810+# CONFIG_I2C_SAVAGE4 is not set811811+# CONFIG_I2C_SIS5595 is not set812812+# CONFIG_I2C_SIS630 is not set813813+# CONFIG_I2C_SIS96X is not set814814+# CONFIG_I2C_STUB is not set815815+# CONFIG_I2C_VIA is not set816816+# CONFIG_I2C_VIAPRO is not set817817+# CONFIG_I2C_VOODOO3 is not set818818+# CONFIG_I2C_PCA_ISA is not set819819+820820+#821821+# Miscellaneous I2C Chip support822822+#823823+# CONFIG_SENSORS_DS1337 is not set824824+# CONFIG_SENSORS_DS1374 is not set825825+# CONFIG_SENSORS_EEPROM is not set826826+# CONFIG_SENSORS_PCF8574 is not set827827+# CONFIG_SENSORS_PCA9539 is not set828828+# CONFIG_SENSORS_PCF8591 is not set829829+# CONFIG_SENSORS_MAX6875 is not set830830+CONFIG_I2C_DEBUG_CORE=y831831+# CONFIG_I2C_DEBUG_ALGO is not set832832+CONFIG_I2C_DEBUG_BUS=y833833+# CONFIG_I2C_DEBUG_CHIP is not set834834+835835+#836836+# SPI support837837+#838838+# CONFIG_SPI is not set839839+# CONFIG_SPI_MASTER is not set840840+841841+#842842+# Dallas's 1-wire bus843843+#844844+# CONFIG_W1 is not set845845+846846+#847847+# Hardware Monitoring support848848+#849849+CONFIG_HWMON=y850850+# CONFIG_HWMON_VID is not set851851+# CONFIG_SENSORS_ADM1021 is not set852852+# CONFIG_SENSORS_ADM1025 is not set853853+# CONFIG_SENSORS_ADM1026 is not set854854+# CONFIG_SENSORS_ADM1031 is not set855855+# CONFIG_SENSORS_ADM9240 is not set856856+# CONFIG_SENSORS_ASB100 is not set857857+# CONFIG_SENSORS_ATXP1 is not set858858+# CONFIG_SENSORS_DS1621 is not set859859+# CONFIG_SENSORS_F71805F is not set860860+# CONFIG_SENSORS_FSCHER is not set861861+# CONFIG_SENSORS_FSCPOS is not set862862+# CONFIG_SENSORS_GL518SM is not set863863+# CONFIG_SENSORS_GL520SM is not set864864+# CONFIG_SENSORS_IT87 is not set865865+# CONFIG_SENSORS_LM63 is not set866866+# CONFIG_SENSORS_LM75 is not set867867+# CONFIG_SENSORS_LM77 is not set868868+# CONFIG_SENSORS_LM78 is not set869869+# CONFIG_SENSORS_LM80 is not set870870+# CONFIG_SENSORS_LM83 is not set871871+# CONFIG_SENSORS_LM85 is not set872872+# CONFIG_SENSORS_LM87 is not set873873+# CONFIG_SENSORS_LM90 is not set874874+# CONFIG_SENSORS_LM92 is not set875875+# CONFIG_SENSORS_MAX1619 is not set876876+# CONFIG_SENSORS_PC87360 is not set877877+# CONFIG_SENSORS_SIS5595 is not set878878+# CONFIG_SENSORS_SMSC47M1 is not set879879+# CONFIG_SENSORS_SMSC47B397 is not set880880+# CONFIG_SENSORS_VIA686A is not set881881+# CONFIG_SENSORS_VT8231 is not set882882+# CONFIG_SENSORS_W83781D is not set883883+# CONFIG_SENSORS_W83792D is not set884884+# CONFIG_SENSORS_W83L785TS is not set885885+# CONFIG_SENSORS_W83627HF is not set886886+# CONFIG_SENSORS_W83627EHF is not set887887+# CONFIG_HWMON_DEBUG_CHIP is not set888888+889889+#890890+# Misc devices891891+#892892+893893+#894894+# Multimedia devices895895+#896896+# CONFIG_VIDEO_DEV is not set897897+CONFIG_VIDEO_V4L2=y898898+899899+#900900+# Digital Video Broadcasting Devices901901+#902902+# CONFIG_DVB is not set903903+904904+#905905+# Graphics support906906+#907907+# CONFIG_FB is not set908908+909909+#910910+# Sound911911+#912912+# CONFIG_SOUND is not set913913+914914+#915915+# USB support916916+#917917+CONFIG_USB_ARCH_HAS_HCD=y918918+CONFIG_USB_ARCH_HAS_OHCI=y919919+CONFIG_USB_ARCH_HAS_EHCI=y920920+# CONFIG_USB is not set921921+922922+#923923+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'924924+#925925+926926+#927927+# USB Gadget Support928928+#929929+# CONFIG_USB_GADGET is not set930930+931931+#932932+# MMC/SD Card support933933+#934934+# CONFIG_MMC is not set935935+936936+#937937+# LED devices938938+#939939+# CONFIG_NEW_LEDS is not set940940+941941+#942942+# LED drivers943943+#944944+945945+#946946+# LED Triggers947947+#948948+949949+#950950+# InfiniBand support951951+#952952+# CONFIG_INFINIBAND is not set953953+954954+#955955+# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)956956+#957957+958958+#959959+# Real Time Clock960960+#961961+# CONFIG_RTC_CLASS is not set962962+963963+#964964+# File systems965965+#966966+CONFIG_EXT2_FS=y967967+CONFIG_EXT2_FS_XATTR=y968968+CONFIG_EXT2_FS_POSIX_ACL=y969969+CONFIG_EXT2_FS_SECURITY=y970970+# CONFIG_EXT2_FS_XIP is not set971971+CONFIG_EXT3_FS=m972972+CONFIG_EXT3_FS_XATTR=y973973+# CONFIG_EXT3_FS_POSIX_ACL is not set974974+# CONFIG_EXT3_FS_SECURITY is not set975975+CONFIG_JBD=m976976+# CONFIG_JBD_DEBUG is not set977977+CONFIG_FS_MBCACHE=y978978+# CONFIG_REISERFS_FS is not set979979+# CONFIG_JFS_FS is not set980980+CONFIG_FS_POSIX_ACL=y981981+CONFIG_XFS_FS=m982982+CONFIG_XFS_EXPORT=y983983+# CONFIG_XFS_QUOTA is not set984984+# CONFIG_XFS_SECURITY is not set985985+# CONFIG_XFS_POSIX_ACL is not set986986+# CONFIG_XFS_RT is not set987987+# CONFIG_OCFS2_FS is not set988988+# CONFIG_MINIX_FS is not set989989+# CONFIG_ROMFS_FS is not set990990+CONFIG_INOTIFY=y991991+# CONFIG_QUOTA is not set992992+# CONFIG_DNOTIFY is not set993993+# CONFIG_AUTOFS_FS is not set994994+CONFIG_AUTOFS4_FS=m995995+# CONFIG_FUSE_FS is not set996996+997997+#998998+# CD-ROM/DVD Filesystems999999+#10001000+# CONFIG_ISO9660_FS is not set10011001+# CONFIG_UDF_FS is not set10021002+10031003+#10041004+# DOS/FAT/NT Filesystems10051005+#10061006+CONFIG_FAT_FS=y10071007+CONFIG_MSDOS_FS=y10081008+CONFIG_VFAT_FS=y10091009+CONFIG_FAT_DEFAULT_CODEPAGE=43710101010+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"10111011+CONFIG_NTFS_FS=m10121012+# CONFIG_NTFS_DEBUG is not set10131013+# CONFIG_NTFS_RW is not set10141014+10151015+#10161016+# Pseudo filesystems10171017+#10181018+CONFIG_PROC_FS=y10191019+CONFIG_PROC_KCORE=y10201020+CONFIG_SYSFS=y10211021+CONFIG_TMPFS=y10221022+# CONFIG_HUGETLB_PAGE is not set10231023+CONFIG_RAMFS=y10241024+# CONFIG_CONFIGFS_FS is not set10251025+10261026+#10271027+# Miscellaneous filesystems10281028+#10291029+# CONFIG_ADFS_FS is not set10301030+# CONFIG_AFFS_FS is not set10311031+# CONFIG_HFS_FS is not set10321032+# CONFIG_HFSPLUS_FS is not set10331033+# CONFIG_BEFS_FS is not set10341034+# CONFIG_BFS_FS is not set10351035+# CONFIG_EFS_FS is not set10361036+# CONFIG_JFFS_FS is not set10371037+CONFIG_JFFS2_FS=y10381038+CONFIG_JFFS2_FS_DEBUG=010391039+CONFIG_JFFS2_FS_WRITEBUFFER=y10401040+# CONFIG_JFFS2_SUMMARY is not set10411041+CONFIG_JFFS2_COMPRESSION_OPTIONS=y10421042+CONFIG_JFFS2_ZLIB=y10431043+CONFIG_JFFS2_RTIME=y10441044+# CONFIG_JFFS2_RUBIN is not set10451045+# CONFIG_JFFS2_CMODE_NONE is not set10461046+CONFIG_JFFS2_CMODE_PRIORITY=y10471047+# CONFIG_JFFS2_CMODE_SIZE is not set10481048+CONFIG_CRAMFS=y10491049+# CONFIG_VXFS_FS is not set10501050+# CONFIG_HPFS_FS is not set10511051+# CONFIG_QNX4FS_FS is not set10521052+# CONFIG_SYSV_FS is not set10531053+# CONFIG_UFS_FS is not set10541054+10551055+#10561056+# Network File Systems10571057+#10581058+CONFIG_NFS_FS=y10591059+CONFIG_NFS_V3=y10601060+# CONFIG_NFS_V3_ACL is not set10611061+CONFIG_NFS_V4=y10621062+CONFIG_NFS_DIRECTIO=y10631063+CONFIG_NFSD=m10641064+CONFIG_NFSD_V3=y10651065+# CONFIG_NFSD_V3_ACL is not set10661066+# CONFIG_NFSD_V4 is not set10671067+CONFIG_NFSD_TCP=y10681068+CONFIG_ROOT_NFS=y10691069+CONFIG_LOCKD=y10701070+CONFIG_LOCKD_V4=y10711071+CONFIG_EXPORTFS=m10721072+CONFIG_NFS_COMMON=y10731073+CONFIG_SUNRPC=y10741074+CONFIG_SUNRPC_GSS=y10751075+CONFIG_RPCSEC_GSS_KRB5=y10761076+# CONFIG_RPCSEC_GSS_SPKM3 is not set10771077+CONFIG_SMB_FS=m10781078+# CONFIG_SMB_NLS_DEFAULT is not set10791079+# CONFIG_CIFS is not set10801080+# CONFIG_NCP_FS is not set10811081+# CONFIG_CODA_FS is not set10821082+# CONFIG_AFS_FS is not set10831083+# CONFIG_9P_FS is not set10841084+10851085+#10861086+# Partition Types10871087+#10881088+# CONFIG_PARTITION_ADVANCED is not set10891089+CONFIG_MSDOS_PARTITION=y10901090+10911091+#10921092+# Native Language Support10931093+#10941094+CONFIG_NLS=y10951095+CONFIG_NLS_DEFAULT=""10961096+CONFIG_NLS_CODEPAGE_437=m10971097+# CONFIG_NLS_CODEPAGE_737 is not set10981098+# CONFIG_NLS_CODEPAGE_775 is not set10991099+# CONFIG_NLS_CODEPAGE_850 is not set11001100+# CONFIG_NLS_CODEPAGE_852 is not set11011101+# CONFIG_NLS_CODEPAGE_855 is not set11021102+# CONFIG_NLS_CODEPAGE_857 is not set11031103+# CONFIG_NLS_CODEPAGE_860 is not set11041104+# CONFIG_NLS_CODEPAGE_861 is not set11051105+# CONFIG_NLS_CODEPAGE_862 is not set11061106+# CONFIG_NLS_CODEPAGE_863 is not set11071107+# CONFIG_NLS_CODEPAGE_864 is not set11081108+# CONFIG_NLS_CODEPAGE_865 is not set11091109+# CONFIG_NLS_CODEPAGE_866 is not set11101110+# CONFIG_NLS_CODEPAGE_869 is not set11111111+# CONFIG_NLS_CODEPAGE_936 is not set11121112+# CONFIG_NLS_CODEPAGE_950 is not set11131113+# CONFIG_NLS_CODEPAGE_932 is not set11141114+# CONFIG_NLS_CODEPAGE_949 is not set11151115+# CONFIG_NLS_CODEPAGE_874 is not set11161116+# CONFIG_NLS_ISO8859_8 is not set11171117+# CONFIG_NLS_CODEPAGE_1250 is not set11181118+# CONFIG_NLS_CODEPAGE_1251 is not set11191119+CONFIG_NLS_ASCII=m11201120+CONFIG_NLS_ISO8859_1=m11211121+# CONFIG_NLS_ISO8859_2 is not set11221122+# CONFIG_NLS_ISO8859_3 is not set11231123+# CONFIG_NLS_ISO8859_4 is not set11241124+# CONFIG_NLS_ISO8859_5 is not set11251125+# CONFIG_NLS_ISO8859_6 is not set11261126+# CONFIG_NLS_ISO8859_7 is not set11271127+# CONFIG_NLS_ISO8859_9 is not set11281128+# CONFIG_NLS_ISO8859_13 is not set11291129+# CONFIG_NLS_ISO8859_14 is not set11301130+# CONFIG_NLS_ISO8859_15 is not set11311131+# CONFIG_NLS_KOI8_R is not set11321132+# CONFIG_NLS_KOI8_U is not set11331133+CONFIG_NLS_UTF8=m11341134+11351135+#11361136+# Profiling support11371137+#11381138+# CONFIG_PROFILING is not set11391139+11401140+#11411141+# Kernel hacking11421142+#11431143+# CONFIG_PRINTK_TIME is not set11441144+# CONFIG_MAGIC_SYSRQ is not set11451145+# CONFIG_DEBUG_KERNEL is not set11461146+CONFIG_LOG_BUF_SHIFT=1411471147+# CONFIG_DEBUG_FS is not set11481148+CONFIG_CROSSCOMPILE=y11491149+CONFIG_CMDLINE="console=ttyS0,115200 mem=192m ip=bootp root=/dev/nfs rw"11501150+11511151+#11521152+# Security options11531153+#11541154+# CONFIG_KEYS is not set11551155+# CONFIG_SECURITY is not set11561156+11571157+#11581158+# Cryptographic options11591159+#11601160+CONFIG_CRYPTO=y11611161+CONFIG_CRYPTO_HMAC=y11621162+# CONFIG_CRYPTO_NULL is not set11631163+# CONFIG_CRYPTO_MD4 is not set11641164+CONFIG_CRYPTO_MD5=y11651165+# CONFIG_CRYPTO_SHA1 is not set11661166+# CONFIG_CRYPTO_SHA256 is not set11671167+# CONFIG_CRYPTO_SHA512 is not set11681168+# CONFIG_CRYPTO_WP512 is not set11691169+# CONFIG_CRYPTO_TGR192 is not set11701170+CONFIG_CRYPTO_DES=y11711171+# CONFIG_CRYPTO_BLOWFISH is not set11721172+# CONFIG_CRYPTO_TWOFISH is not set11731173+# CONFIG_CRYPTO_SERPENT is not set11741174+# CONFIG_CRYPTO_AES is not set11751175+# CONFIG_CRYPTO_CAST5 is not set11761176+# CONFIG_CRYPTO_CAST6 is not set11771177+# CONFIG_CRYPTO_TEA is not set11781178+# CONFIG_CRYPTO_ARC4 is not set11791179+# CONFIG_CRYPTO_KHAZAD is not set11801180+# CONFIG_CRYPTO_ANUBIS is not set11811181+# CONFIG_CRYPTO_DEFLATE is not set11821182+# CONFIG_CRYPTO_MICHAEL_MIC is not set11831183+# CONFIG_CRYPTO_CRC32C is not set11841184+# CONFIG_CRYPTO_TEST is not set11851185+11861186+#11871187+# Hardware crypto devices11881188+#11891189+11901190+#11911191+# Library routines11921192+#11931193+CONFIG_CRC_CCITT=m11941194+# CONFIG_CRC16 is not set11951195+CONFIG_CRC32=y11961196+# CONFIG_LIBCRC32C is not set11971197+CONFIG_ZLIB_INFLATE=y11981198+CONFIG_ZLIB_DEFLATE=y
+13
arch/mips/emma2rh/common/Makefile
···11+#22+# arch/mips/emma2rh/common/Makefile33+# Makefile for the common code of NEC EMMA2RH based board.44+#55+# Copyright (C) NEC Electronics Corporation 2005-200666+#77+# This program is free software; you can redistribute it and/or modify88+# it under the terms of the GNU General Public License as published by99+# the Free Software Foundation; either version 2 of the License, or1010+# (at your option) any later version.1111+#1212+1313+obj-$(CONFIG_MARKEINS) += irq.o irq_emma2rh.o prom.o
+108
arch/mips/emma2rh/common/irq.c
···11+/*22+ * arch/mips/emma2rh/common/irq.c33+ * This file is common irq dispatcher.44+ *55+ * Copyright (C) NEC Electronics Corporation 2005-200666+ *77+ * This file is based on the arch/mips/ddb5xxx/ddb5477/irq.c88+ *99+ * Copyright 2001 MontaVista Software Inc.1010+ *1111+ * This program is free software; you can redistribute it and/or modify1212+ * it under the terms of the GNU General Public License as published by1313+ * the Free Software Foundation; either version 2 of the License, or1414+ * (at your option) any later version.1515+ *1616+ * This program is distributed in the hope that it will be useful,1717+ * but WITHOUT ANY WARRANTY; without even the implied warranty of1818+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the1919+ * GNU General Public License for more details.2020+ *2121+ * You should have received a copy of the GNU General Public License2222+ * along with this program; if not, write to the Free Software2323+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA2424+ */2525+#include <linux/config.h>2626+#include <linux/init.h>2727+#include <linux/interrupt.h>2828+#include <linux/irq.h>2929+#include <linux/types.h>3030+3131+#include <asm/i8259.h>3232+#include <asm/system.h>3333+#include <asm/mipsregs.h>3434+#include <asm/debug.h>3535+#include <asm/addrspace.h>3636+#include <asm/bootinfo.h>3737+3838+#include <asm/emma2rh/emma2rh.h>3939+4040+/*4141+ * the first level int-handler will jump here if it is a emma2rh irq4242+ */4343+asmlinkage void emma2rh_irq_dispatch(struct pt_regs *regs)4444+{4545+ u32 intStatus;4646+ u32 bitmask;4747+ u32 i;4848+4949+ intStatus = emma2rh_in32(EMMA2RH_BHIF_INT_ST_0)5050+ & emma2rh_in32(EMMA2RH_BHIF_INT_EN_0);5151+5252+#ifdef EMMA2RH_SW_CASCADE5353+ if (intStatus &5454+ (1 << ((EMMA2RH_SW_CASCADE - EMMA2RH_IRQ_INT0) & (32 - 1)))) {5555+ u32 swIntStatus;5656+ swIntStatus = emma2rh_in32(EMMA2RH_BHIF_SW_INT)5757+ & emma2rh_in32(EMMA2RH_BHIF_SW_INT_EN);5858+ for (i = 0, bitmask = 1; i < 32; i++, bitmask <<= 1) {5959+ if (swIntStatus & bitmask) {6060+ do_IRQ(EMMA2RH_SW_IRQ_BASE + i, regs);6161+ return;6262+ }6363+ }6464+ }6565+#endif6666+6767+ for (i = 0, bitmask = 1; i < 32; i++, bitmask <<= 1) {6868+ if (intStatus & bitmask) {6969+ do_IRQ(EMMA2RH_IRQ_BASE + i, regs);7070+ return;7171+ }7272+ }7373+7474+ intStatus = emma2rh_in32(EMMA2RH_BHIF_INT_ST_1)7575+ & emma2rh_in32(EMMA2RH_BHIF_INT_EN_1);7676+7777+#ifdef EMMA2RH_GPIO_CASCADE7878+ if (intStatus &7979+ (1 << ((EMMA2RH_GPIO_CASCADE - EMMA2RH_IRQ_INT0) & (32 - 1)))) {8080+ u32 gpioIntStatus;8181+ gpioIntStatus = emma2rh_in32(EMMA2RH_GPIO_INT_ST)8282+ & emma2rh_in32(EMMA2RH_GPIO_INT_MASK);8383+ for (i = 0, bitmask = 1; i < 32; i++, bitmask <<= 1) {8484+ if (gpioIntStatus & bitmask) {8585+ do_IRQ(EMMA2RH_GPIO_IRQ_BASE + i, regs);8686+ return;8787+ }8888+ }8989+ }9090+#endif9191+9292+ for (i = 32, bitmask = 1; i < 64; i++, bitmask <<= 1) {9393+ if (intStatus & bitmask) {9494+ do_IRQ(EMMA2RH_IRQ_BASE + i, regs);9595+ return;9696+ }9797+ }9898+9999+ intStatus = emma2rh_in32(EMMA2RH_BHIF_INT_ST_2)100100+ & emma2rh_in32(EMMA2RH_BHIF_INT_EN_2);101101+102102+ for (i = 64, bitmask = 1; i < 96; i++, bitmask <<= 1) {103103+ if (intStatus & bitmask) {104104+ do_IRQ(EMMA2RH_IRQ_BASE + i, regs);105105+ return;106106+ }107107+ }108108+}
+134
arch/mips/emma2rh/common/irq_emma2rh.c
···11+/*22+ * arch/mips/emma2rh/common/irq_emma2rh.c33+ * This file defines the irq handler for EMMA2RH.44+ *55+ * Copyright (C) NEC Electronics Corporation 2005-200666+ *77+ * This file is based on the arch/mips/ddb5xxx/ddb5477/irq_5477.c88+ *99+ * Copyright 2001 MontaVista Software Inc.1010+ *1111+ * This program is free software; you can redistribute it and/or modify1212+ * it under the terms of the GNU General Public License as published by1313+ * the Free Software Foundation; either version 2 of the License, or1414+ * (at your option) any later version.1515+ *1616+ * This program is distributed in the hope that it will be useful,1717+ * but WITHOUT ANY WARRANTY; without even the implied warranty of1818+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the1919+ * GNU General Public License for more details.2020+ *2121+ * You should have received a copy of the GNU General Public License2222+ * along with this program; if not, write to the Free Software2323+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA2424+ */2525+2626+/*2727+ * EMMA2RH defines 64 IRQs.2828+ *2929+ * This file exports one function:3030+ * emma2rh_irq_init(u32 irq_base);3131+ */3232+3333+#include <linux/interrupt.h>3434+#include <linux/types.h>3535+#include <linux/ptrace.h>3636+3737+#include <asm/debug.h>3838+3939+#include <asm/emma2rh/emma2rh.h>4040+4141+/* number of total irqs supported by EMMA2RH */4242+#define NUM_EMMA2RH_IRQ 964343+4444+static int emma2rh_irq_base = -1;4545+4646+void ll_emma2rh_irq_enable(int);4747+void ll_emma2rh_irq_disable(int);4848+4949+static void emma2rh_irq_enable(unsigned int irq)5050+{5151+ ll_emma2rh_irq_enable(irq - emma2rh_irq_base);5252+}5353+5454+static void emma2rh_irq_disable(unsigned int irq)5555+{5656+ ll_emma2rh_irq_disable(irq - emma2rh_irq_base);5757+}5858+5959+static unsigned int emma2rh_irq_startup(unsigned int irq)6060+{6161+ emma2rh_irq_enable(irq);6262+ return 0;6363+}6464+6565+#define emma2rh_irq_shutdown emma2rh_irq_disable6666+6767+static void emma2rh_irq_ack(unsigned int irq)6868+{6969+ /* disable interrupt - some handler will re-enable the irq7070+ * and if the interrupt is leveled, we will have infinite loop7171+ */7272+ ll_emma2rh_irq_disable(irq - emma2rh_irq_base);7373+}7474+7575+static void emma2rh_irq_end(unsigned int irq)7676+{7777+ if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS)))7878+ ll_emma2rh_irq_enable(irq - emma2rh_irq_base);7979+}8080+8181+hw_irq_controller emma2rh_irq_controller = {8282+ .typename = "emma2rh_irq",8383+ .startup = emma2rh_irq_startup,8484+ .shutdown = emma2rh_irq_shutdown,8585+ .enable = emma2rh_irq_enable,8686+ .disable = emma2rh_irq_disable,8787+ .ack = emma2rh_irq_ack,8888+ .end = emma2rh_irq_end,8989+ .set_affinity = NULL /* no affinity stuff for UP */9090+};9191+9292+void emma2rh_irq_init(u32 irq_base)9393+{9494+ u32 i;9595+9696+ for (i = irq_base; i < irq_base + NUM_EMMA2RH_IRQ; i++) {9797+ irq_desc[i].status = IRQ_DISABLED;9898+ irq_desc[i].action = NULL;9999+ irq_desc[i].depth = 1;100100+ irq_desc[i].handler = &emma2rh_irq_controller;101101+ }102102+103103+ emma2rh_irq_base = irq_base;104104+}105105+106106+void ll_emma2rh_irq_enable(int emma2rh_irq)107107+{108108+ u32 reg_value;109109+ u32 reg_bitmask;110110+ u32 reg_index;111111+112112+ reg_index = EMMA2RH_BHIF_INT_EN_0113113+ + (EMMA2RH_BHIF_INT_EN_1 - EMMA2RH_BHIF_INT_EN_0)114114+ * (emma2rh_irq / 32);115115+ reg_value = emma2rh_in32(reg_index);116116+ reg_bitmask = 0x1 << (emma2rh_irq % 32);117117+ db_assert((reg_value & reg_bitmask) == 0);118118+ emma2rh_out32(reg_index, reg_value | reg_bitmask);119119+}120120+121121+void ll_emma2rh_irq_disable(int emma2rh_irq)122122+{123123+ u32 reg_value;124124+ u32 reg_bitmask;125125+ u32 reg_index;126126+127127+ reg_index = EMMA2RH_BHIF_INT_EN_0128128+ + (EMMA2RH_BHIF_INT_EN_1 - EMMA2RH_BHIF_INT_EN_0)129129+ * (emma2rh_irq / 32);130130+ reg_value = emma2rh_in32(reg_index);131131+ reg_bitmask = 0x1 << (emma2rh_irq % 32);132132+ db_assert((reg_value & reg_bitmask) != 0);133133+ emma2rh_out32(reg_index, reg_value & ~reg_bitmask);134134+}
+77
arch/mips/emma2rh/common/prom.c
···11+/*22+ * arch/mips/emma2rh/common/prom.c33+ * This file is prom file.44+ *55+ * Copyright (C) NEC Electronics Corporation 2004-200666+ *77+ * This file is based on the arch/mips/ddb5xxx/common/prom.c88+ *99+ * Copyright 2001 MontaVista Software Inc.1010+ *1111+ * This program is free software; you can redistribute it and/or modify1212+ * it under the terms of the GNU General Public License as published by1313+ * the Free Software Foundation; either version 2 of the License, or1414+ * (at your option) any later version.1515+ *1616+ * This program is distributed in the hope that it will be useful,1717+ * but WITHOUT ANY WARRANTY; without even the implied warranty of1818+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the1919+ * GNU General Public License for more details.2020+ *2121+ * You should have received a copy of the GNU General Public License2222+ * along with this program; if not, write to the Free Software2323+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA2424+ */2525+#include <linux/config.h>2626+#include <linux/init.h>2727+#include <linux/mm.h>2828+#include <linux/sched.h>2929+#include <linux/bootmem.h>3030+3131+#include <asm/addrspace.h>3232+#include <asm/bootinfo.h>3333+#include <asm/emma2rh/emma2rh.h>3434+#include <asm/debug.h>3535+3636+const char *get_system_type(void)3737+{3838+ switch (mips_machtype) {3939+ case MACH_NEC_MARKEINS:4040+ return "NEC EMMA2RH Mark-eins";4141+ default:4242+ return "Unknown NEC board";4343+ }4444+}4545+4646+/* [jsun@junsun.net] PMON passes arguments in C main() style */4747+void __init prom_init(void)4848+{4949+ int argc = fw_arg0;5050+ char **arg = (char **)fw_arg1;5151+ int i;5252+5353+ /* if user passes kernel args, ignore the default one */5454+ if (argc > 1)5555+ arcs_cmdline[0] = '\0';5656+5757+ /* arg[0] is "g", the rest is boot parameters */5858+ for (i = 1; i < argc; i++) {5959+ if (strlen(arcs_cmdline) + strlen(arg[i] + 1)6060+ >= sizeof(arcs_cmdline))6161+ break;6262+ strcat(arcs_cmdline, arg[i]);6363+ strcat(arcs_cmdline, " ");6464+ }6565+6666+ mips_machgroup = MACH_GROUP_NEC_EMMA2RH;6767+6868+#if defined(CONFIG_MARKEINS)6969+ mips_machtype = MACH_NEC_MARKEINS;7070+ add_memory_region(0, EMMA2RH_RAM_SIZE, BOOT_MEM_RAM);7171+#endif7272+7373+}7474+7575+void __init prom_free_prom_memory(void)7676+{7777+}
+13
arch/mips/emma2rh/markeins/Makefile
···11+#22+# arch/mips/emma2rh/markeins/Makefile33+# Makefile for the common code of NEC EMMA2RH based board.44+#55+# Copyright (C) NEC Electronics Corporation 2005-200666+#77+# This program is free software; you can redistribute it and/or modify88+# it under the terms of the GNU General Public License as published by99+# the Free Software Foundation; either version 2 of the License, or1010+# (at your option) any later version.1111+#1212+1313+obj-$(CONFIG_MARKEINS) += irq.o irq_markeins.o setup.o led.o platform.o
+134
arch/mips/emma2rh/markeins/irq.c
···11+/*22+ * arch/mips/emma2rh/markeins/irq.c33+ * This file defines the irq handler for EMMA2RH.44+ *55+ * Copyright (C) NEC Electronics Corporation 2004-200666+ *77+ * This file is based on the arch/mips/ddb5xxx/ddb5477/irq.c88+ *99+ * Copyright 2001 MontaVista Software Inc.1010+ *1111+ * This program is free software; you can redistribute it and/or modify1212+ * it under the terms of the GNU General Public License as published by1313+ * the Free Software Foundation; either version 2 of the License, or1414+ * (at your option) any later version.1515+ *1616+ * This program is distributed in the hope that it will be useful,1717+ * but WITHOUT ANY WARRANTY; without even the implied warranty of1818+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the1919+ * GNU General Public License for more details.2020+ *2121+ * You should have received a copy of the GNU General Public License2222+ * along with this program; if not, write to the Free Software2323+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA2424+ */2525+#include <linux/config.h>2626+#include <linux/init.h>2727+#include <linux/interrupt.h>2828+#include <linux/irq.h>2929+#include <linux/types.h>3030+#include <linux/ptrace.h>3131+#include <linux/delay.h>3232+3333+#include <asm/i8259.h>3434+#include <asm/irq_cpu.h>3535+#include <asm/system.h>3636+#include <asm/mipsregs.h>3737+#include <asm/debug.h>3838+#include <asm/addrspace.h>3939+#include <asm/bootinfo.h>4040+4141+#include <asm/emma2rh/emma2rh.h>4242+4343+/*4444+ * IRQ mapping4545+ *4646+ * 0-7: 8 CPU interrupts4747+ * 0 - software interrupt 04848+ * 1 - software interrupt 14949+ * 2 - most Vrc5477 interrupts are routed to this pin5050+ * 3 - (optional) some other interrupts routed to this pin for debugg5151+ * 4 - not used5252+ * 5 - not used5353+ * 6 - not used5454+ * 7 - cpu timer (used by default)5555+ *5656+ */5757+5858+extern void emma2rh_sw_irq_init(u32 base);5959+extern void emma2rh_gpio_irq_init(u32 base);6060+extern void emma2rh_irq_init(u32 base);6161+extern asmlinkage void emma2rh_irq_dispatch(struct pt_regs *regs);6262+6363+static struct irqaction irq_cascade = {6464+ .handler = no_action,6565+ .flags = 0,6666+ .mask = CPU_MASK_NONE,6767+ .name = "cascade",6868+ .dev_id = NULL,6969+ .next = NULL,7070+};7171+7272+void __init arch_init_irq(void)7373+{7474+ u32 reg;7575+7676+ db_run(printk("markeins_irq_setup invoked.\n"));7777+7878+ /* by default, interrupts are disabled. */7979+ emma2rh_out32(EMMA2RH_BHIF_INT_EN_0, 0);8080+ emma2rh_out32(EMMA2RH_BHIF_INT_EN_1, 0);8181+ emma2rh_out32(EMMA2RH_BHIF_INT_EN_2, 0);8282+ emma2rh_out32(EMMA2RH_BHIF_INT1_EN_0, 0);8383+ emma2rh_out32(EMMA2RH_BHIF_INT1_EN_1, 0);8484+ emma2rh_out32(EMMA2RH_BHIF_INT1_EN_2, 0);8585+ emma2rh_out32(EMMA2RH_BHIF_SW_INT_EN, 0);8686+8787+ clear_c0_status(0xff00);8888+ set_c0_status(0x0400);8989+9090+#define GPIO_PCI (0xf<<15)9191+ /* setup GPIO interrupt for PCI interface */9292+ /* direction input */9393+ reg = emma2rh_in32(EMMA2RH_GPIO_DIR);9494+ emma2rh_out32(EMMA2RH_GPIO_DIR, reg & ~GPIO_PCI);9595+ /* disable interrupt */9696+ reg = emma2rh_in32(EMMA2RH_GPIO_INT_MASK);9797+ emma2rh_out32(EMMA2RH_GPIO_INT_MASK, reg & ~GPIO_PCI);9898+ /* level triggerd */9999+ reg = emma2rh_in32(EMMA2RH_GPIO_INT_MODE);100100+ emma2rh_out32(EMMA2RH_GPIO_INT_MODE, reg | GPIO_PCI);101101+ reg = emma2rh_in32(EMMA2RH_GPIO_INT_CND_A);102102+ emma2rh_out32(EMMA2RH_GPIO_INT_CND_A, reg & (~GPIO_PCI));103103+ /* interrupt clear */104104+ emma2rh_out32(EMMA2RH_GPIO_INT_ST, ~GPIO_PCI);105105+106106+ /* init all controllers */107107+ emma2rh_irq_init(EMMA2RH_IRQ_BASE);108108+ emma2rh_sw_irq_init(EMMA2RH_SW_IRQ_BASE);109109+ emma2rh_gpio_irq_init(EMMA2RH_GPIO_IRQ_BASE);110110+ mips_cpu_irq_init(CPU_IRQ_BASE);111111+112112+ /* setup cascade interrupts */113113+ setup_irq(EMMA2RH_IRQ_BASE + EMMA2RH_SW_CASCADE, &irq_cascade);114114+ setup_irq(EMMA2RH_IRQ_BASE + EMMA2RH_GPIO_CASCADE, &irq_cascade);115115+ setup_irq(CPU_IRQ_BASE + CPU_EMMA2RH_CASCADE, &irq_cascade);116116+}117117+118118+asmlinkage void plat_irq_dispatch(struct pt_regs *regs)119119+{120120+ unsigned int pending = read_c0_status() & read_c0_cause();121121+122122+ if (pending & STATUSF_IP7)123123+ do_IRQ(CPU_IRQ_BASE + 7, regs);124124+ else if (pending & STATUSF_IP2)125125+ emma2rh_irq_dispatch(regs);126126+ else if (pending & STATUSF_IP1)127127+ do_IRQ(CPU_IRQ_BASE + 1, regs);128128+ else if (pending & STATUSF_IP0)129129+ do_IRQ(CPU_IRQ_BASE + 0, regs);130130+ else131131+ spurious_interrupt(regs);132132+}133133+134134+
+197
arch/mips/emma2rh/markeins/irq_markeins.c
···11+/*22+ * arch/mips/emma2rh/markeins/irq_markeins.c33+ * This file defines the irq handler for Mark-eins.44+ *55+ * Copyright (C) NEC Electronics Corporation 2004-200666+ *77+ * This file is based on the arch/mips/ddb5xxx/ddb5477/irq_5477.c88+ *99+ * Copyright 2001 MontaVista Software Inc.1010+ *1111+ * This program is free software; you can redistribute it and/or modify1212+ * it under the terms of the GNU General Public License as published by1313+ * the Free Software Foundation; either version 2 of the License, or1414+ * (at your option) any later version.1515+ *1616+ * This program is distributed in the hope that it will be useful,1717+ * but WITHOUT ANY WARRANTY; without even the implied warranty of1818+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the1919+ * GNU General Public License for more details.2020+ *2121+ * You should have received a copy of the GNU General Public License2222+ * along with this program; if not, write to the Free Software2323+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA2424+ */2525+#include <linux/interrupt.h>2626+#include <linux/irq.h>2727+#include <linux/types.h>2828+#include <linux/ptrace.h>2929+3030+#include <asm/debug.h>3131+#include <asm/emma2rh/emma2rh.h>3232+3333+static int emma2rh_sw_irq_base = -1;3434+static int emma2rh_gpio_irq_base = -1;3535+3636+void ll_emma2rh_sw_irq_enable(int reg);3737+void ll_emma2rh_sw_irq_disable(int reg);3838+void ll_emma2rh_gpio_irq_enable(int reg);3939+void ll_emma2rh_gpio_irq_disable(int reg);4040+4141+static void emma2rh_sw_irq_enable(unsigned int irq)4242+{4343+ ll_emma2rh_sw_irq_enable(irq - emma2rh_sw_irq_base);4444+}4545+4646+static void emma2rh_sw_irq_disable(unsigned int irq)4747+{4848+ ll_emma2rh_sw_irq_disable(irq - emma2rh_sw_irq_base);4949+}5050+5151+static unsigned int emma2rh_sw_irq_startup(unsigned int irq)5252+{5353+ emma2rh_sw_irq_enable(irq);5454+ return 0;5555+}5656+5757+#define emma2rh_sw_irq_shutdown emma2rh_sw_irq_disable5858+5959+static void emma2rh_sw_irq_ack(unsigned int irq)6060+{6161+ ll_emma2rh_sw_irq_disable(irq - emma2rh_sw_irq_base);6262+}6363+6464+static void emma2rh_sw_irq_end(unsigned int irq)6565+{6666+ if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS)))6767+ ll_emma2rh_sw_irq_enable(irq - emma2rh_sw_irq_base);6868+}6969+7070+hw_irq_controller emma2rh_sw_irq_controller = {7171+ .typename = "emma2rh_sw_irq",7272+ .startup = emma2rh_sw_irq_startup,7373+ .shutdown = emma2rh_sw_irq_shutdown,7474+ .enable = emma2rh_sw_irq_enable,7575+ .disable = emma2rh_sw_irq_disable,7676+ .ack = emma2rh_sw_irq_ack,7777+ .end = emma2rh_sw_irq_end,7878+ .set_affinity = NULL,7979+};8080+8181+void emma2rh_sw_irq_init(u32 irq_base)8282+{8383+ u32 i;8484+8585+ for (i = irq_base; i < irq_base + NUM_EMMA2RH_IRQ_SW; i++) {8686+ irq_desc[i].status = IRQ_DISABLED;8787+ irq_desc[i].action = NULL;8888+ irq_desc[i].depth = 2;8989+ irq_desc[i].handler = &emma2rh_sw_irq_controller;9090+ }9191+9292+ emma2rh_sw_irq_base = irq_base;9393+}9494+9595+void ll_emma2rh_sw_irq_enable(int irq)9696+{9797+ u32 reg;9898+9999+ db_assert(irq >= 0);100100+ db_assert(irq < NUM_EMMA2RH_IRQ_SW);101101+102102+ reg = emma2rh_in32(EMMA2RH_BHIF_SW_INT_EN);103103+ reg |= 1 << irq;104104+ emma2rh_out32(EMMA2RH_BHIF_SW_INT_EN, reg);105105+}106106+107107+void ll_emma2rh_sw_irq_disable(int irq)108108+{109109+ u32 reg;110110+111111+ db_assert(irq >= 0);112112+ db_assert(irq < 32);113113+114114+ reg = emma2rh_in32(EMMA2RH_BHIF_SW_INT_EN);115115+ reg &= ~(1 << irq);116116+ emma2rh_out32(EMMA2RH_BHIF_SW_INT_EN, reg);117117+}118118+119119+static void emma2rh_gpio_irq_enable(unsigned int irq)120120+{121121+ ll_emma2rh_gpio_irq_enable(irq - emma2rh_gpio_irq_base);122122+}123123+124124+static void emma2rh_gpio_irq_disable(unsigned int irq)125125+{126126+ ll_emma2rh_gpio_irq_disable(irq - emma2rh_gpio_irq_base);127127+}128128+129129+static unsigned int emma2rh_gpio_irq_startup(unsigned int irq)130130+{131131+ emma2rh_gpio_irq_enable(irq);132132+ return 0;133133+}134134+135135+#define emma2rh_gpio_irq_shutdown emma2rh_gpio_irq_disable136136+137137+static void emma2rh_gpio_irq_ack(unsigned int irq)138138+{139139+ irq -= emma2rh_gpio_irq_base;140140+ emma2rh_out32(EMMA2RH_GPIO_INT_ST, ~(1 << irq));141141+ ll_emma2rh_gpio_irq_disable(irq);142142+}143143+144144+static void emma2rh_gpio_irq_end(unsigned int irq)145145+{146146+ if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS)))147147+ ll_emma2rh_gpio_irq_enable(irq - emma2rh_gpio_irq_base);148148+}149149+150150+hw_irq_controller emma2rh_gpio_irq_controller = {151151+ .typename = "emma2rh_gpio_irq",152152+ .startup = emma2rh_gpio_irq_startup,153153+ .shutdown = emma2rh_gpio_irq_shutdown,154154+ .enable = emma2rh_gpio_irq_enable,155155+ .disable = emma2rh_gpio_irq_disable,156156+ .ack = emma2rh_gpio_irq_ack,157157+ .end = emma2rh_gpio_irq_end,158158+ .set_affinity = NULL,159159+};160160+161161+void emma2rh_gpio_irq_init(u32 irq_base)162162+{163163+ u32 i;164164+165165+ for (i = irq_base; i < irq_base + NUM_EMMA2RH_IRQ_GPIO; i++) {166166+ irq_desc[i].status = IRQ_DISABLED;167167+ irq_desc[i].action = NULL;168168+ irq_desc[i].depth = 2;169169+ irq_desc[i].handler = &emma2rh_gpio_irq_controller;170170+ }171171+172172+ emma2rh_gpio_irq_base = irq_base;173173+}174174+175175+void ll_emma2rh_gpio_irq_enable(int irq)176176+{177177+ u32 reg;178178+179179+ db_assert(irq >= 0);180180+ db_assert(irq < NUM_EMMA2RH_IRQ_GPIO);181181+182182+ reg = emma2rh_in32(EMMA2RH_GPIO_INT_MASK);183183+ reg |= 1 << irq;184184+ emma2rh_out32(EMMA2RH_GPIO_INT_MASK, reg);185185+}186186+187187+void ll_emma2rh_gpio_irq_disable(int irq)188188+{189189+ u32 reg;190190+191191+ db_assert(irq >= 0);192192+ db_assert(irq < NUM_EMMA2RH_IRQ_GPIO);193193+194194+ reg = emma2rh_in32(EMMA2RH_GPIO_INT_MASK);195195+ reg &= ~(1 << irq);196196+ emma2rh_out32(EMMA2RH_GPIO_INT_MASK, reg);197197+}
+60
arch/mips/emma2rh/markeins/led.c
···11+/*22+ * arch/mips/emma2rh/markeins/led.c33+ * This file defines the led display for Mark-eins.44+ *55+ * Copyright (C) NEC Electronics Corporation 2004-200666+ *77+ * This program is free software; you can redistribute it and/or modify88+ * it under the terms of the GNU General Public License as published by99+ * the Free Software Foundation; either version 2 of the License, or1010+ * (at your option) any later version.1111+ *1212+ * This program is distributed in the hope that it will be useful,1313+ * but WITHOUT ANY WARRANTY; without even the implied warranty of1414+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the1515+ * GNU General Public License for more details.1616+ *1717+ * You should have received a copy of the GNU General Public License1818+ * along with this program; if not, write to the Free Software1919+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA2020+ */2121+#include <linux/kernel.h>2222+#include <linux/types.h>2323+#include <linux/string.h>2424+#include <asm/emma2rh/emma2rh.h>2525+2626+const unsigned long clear = 0x20202020;2727+2828+#define LED_BASE 0xb14000382929+3030+void markeins_led_clear(void)3131+{3232+ emma2rh_out32(LED_BASE, clear);3333+ emma2rh_out32(LED_BASE + 4, clear);3434+}3535+3636+void markeins_led(const char *str)3737+{3838+ int i;3939+ int len = strlen(str);4040+4141+ markeins_led_clear();4242+ if (len > 8)4343+ len = 8;4444+4545+ if (emma2rh_in32(0xb0000800) & (0x1 << 18))4646+ for (i = 0; i < len; i++)4747+ emma2rh_out8(LED_BASE + i, str[i]);4848+ else4949+ for (i = 0; i < len; i++)5050+ emma2rh_out8(LED_BASE + (i & 4) + (3 - (i & 3)),5151+ str[i]);5252+}5353+5454+void markeins_led_hex(u32 val)5555+{5656+ char str[10];5757+5858+ sprintf(str, "%08x", val);5959+ markeins_led(str);6060+}
+170
arch/mips/emma2rh/markeins/platform.c
···11+/*22+ * arch/mips/emma2rh/markeins/platofrm.c33+ * This file sets up platform devices for EMMA2RH Mark-eins.44+ *55+ * Copyright(C) MontaVista Software Inc, 200666+ *77+ * Author: dmitry pervushin <dpervushin@ru.mvista.com>88+ *99+ * This program is free software; you can redistribute it and/or modify1010+ * it under the terms of the GNU General Public License as published by1111+ * the Free Software Foundation; either version 2 of the License, or1212+ * (at your option) any later version.1313+ *1414+ * This program is distributed in the hope that it will be useful,1515+ * but WITHOUT ANY WARRANTY; without even the implied warranty of1616+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the1717+ * GNU General Public License for more details.1818+ *1919+ * You should have received a copy of the GNU General Public License2020+ * along with this program; if not, write to the Free Software2121+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA2222+ */2323+#include <linux/config.h>2424+#include <linux/init.h>2525+#include <linux/kernel.h>2626+#include <linux/types.h>2727+#include <linux/ioport.h>2828+#include <linux/serial_8250.h>2929+#include <linux/mtd/physmap.h>3030+3131+#include <asm/cpu.h>3232+#include <asm/bootinfo.h>3333+#include <asm/addrspace.h>3434+#include <asm/time.h>3535+#include <asm/bcache.h>3636+#include <asm/irq.h>3737+#include <asm/reboot.h>3838+#include <asm/gdb-stub.h>3939+#include <asm/traps.h>4040+#include <asm/debug.h>4141+4242+#include <asm/emma2rh/emma2rh.h>4343+4444+4545+#define I2C_EMMA2RH "emma2rh-iic" /* must be in sync with IIC driver */4646+4747+static struct resource i2c_emma_resources_0[] = {4848+ { NULL, EMMA2RH_IRQ_PIIC0, EMMA2RH_IRQ_PIIC0, IORESOURCE_IRQ },4949+ { NULL, KSEG1ADDR(EMMA2RH_PIIC0_BASE), KSEG1ADDR(EMMA2RH_PIIC0_BASE + 0x1000), 0 },5050+};5151+5252+struct resource i2c_emma_resources_1[] = {5353+ { NULL, EMMA2RH_IRQ_PIIC1, EMMA2RH_IRQ_PIIC1, IORESOURCE_IRQ },5454+ { NULL, KSEG1ADDR(EMMA2RH_PIIC1_BASE), KSEG1ADDR(EMMA2RH_PIIC1_BASE + 0x1000), 0 },5555+};5656+5757+struct resource i2c_emma_resources_2[] = {5858+ { NULL, EMMA2RH_IRQ_PIIC2, EMMA2RH_IRQ_PIIC2, IORESOURCE_IRQ },5959+ { NULL, KSEG1ADDR(EMMA2RH_PIIC2_BASE), KSEG1ADDR(EMMA2RH_PIIC2_BASE + 0x1000), 0 },6060+};6161+6262+struct platform_device i2c_emma_devices[] = {6363+ [0] = {6464+ .name = I2C_EMMA2RH,6565+ .id = 0,6666+ .resource = i2c_emma_resources_0,6767+ .num_resources = ARRAY_SIZE(i2c_emma_resources_0),6868+ },6969+ [1] = {7070+ .name = I2C_EMMA2RH,7171+ .id = 1,7272+ .resource = i2c_emma_resources_1,7373+ .num_resources = ARRAY_SIZE(i2c_emma_resources_1),7474+ },7575+ [2] = {7676+ .name = I2C_EMMA2RH,7777+ .id = 2,7878+ .resource = i2c_emma_resources_2,7979+ .num_resources = ARRAY_SIZE(i2c_emma_resources_2),8080+ },8181+};8282+8383+#define EMMA2RH_SERIAL_CLOCK 185440008484+#define EMMA2RH_SERIAL_FLAGS UPF_BOOT_AUTOCONF | UPF_SKIP_TEST8585+8686+static struct plat_serial8250_port platform_serial_ports[] = {8787+ [0] = {8888+ .membase = (void __iomem*)KSEG1ADDR(EMMA2RH_PFUR0_BASE + 3),8989+ .irq = EMMA2RH_IRQ_PFUR0,9090+ .uartclk = EMMA2RH_SERIAL_CLOCK,9191+ .regshift = 4,9292+ .iotype = UPIO_MEM,9393+ .flags = EMMA2RH_SERIAL_FLAGS,9494+ },9595+ [1] = {9696+ .membase = (void __iomem*)KSEG1ADDR(EMMA2RH_PFUR1_BASE + 3),9797+ .irq = EMMA2RH_IRQ_PFUR1,9898+ .uartclk = EMMA2RH_SERIAL_CLOCK,9999+ .regshift = 4,100100+ .iotype = UPIO_MEM,101101+ .flags = EMMA2RH_SERIAL_FLAGS,102102+ },103103+ [2] = {104104+ .membase = (void __iomem*)KSEG1ADDR(EMMA2RH_PFUR2_BASE + 3),105105+ .irq = EMMA2RH_IRQ_PFUR2,106106+ .uartclk = EMMA2RH_SERIAL_CLOCK,107107+ .regshift = 4,108108+ .iotype = UPIO_MEM,109109+ .flags = EMMA2RH_SERIAL_FLAGS,110110+ },111111+ [3] = {112112+ .flags = 0,113113+ },114114+};115115+116116+static struct platform_device serial_emma = {117117+ .name = "serial8250",118118+ .dev = {119119+ .platform_data = &platform_serial_ports,120120+ },121121+};122122+123123+static struct platform_device *devices[] = {124124+ &i2c_emma_devices[0],125125+ &i2c_emma_devices[1],126126+ &i2c_emma_devices[2],127127+ &serial_emma,128128+};129129+130130+static struct mtd_partition markeins_parts[] = {131131+ [0] = {132132+ .name = "RootFS",133133+ .offset = 0x00000000,134134+ .size = 0x00c00000,135135+ },136136+ [1] = {137137+ .name = "boot code area",138138+ .offset = MTDPART_OFS_APPEND,139139+ .size = 0x00100000,140140+ },141141+ [2] = {142142+ .name = "kernel image",143143+ .offset = MTDPART_OFS_APPEND,144144+ .size = 0x00300000,145145+ },146146+ [3] = {147147+ .name = "RootFS2",148148+ .offset = MTDPART_OFS_APPEND,149149+ .size = 0x00c00000,150150+ },151151+ [4] = {152152+ .name = "boot code area2",153153+ .offset = MTDPART_OFS_APPEND,154154+ .size = 0x00100000,155155+ },156156+ [5] = {157157+ .name = "kernel image2",158158+ .offset = MTDPART_OFS_APPEND,159159+ .size = MTDPART_SIZ_FULL,160160+ },161161+};162162+163163+static int __init platform_devices_setup(void)164164+{165165+ physmap_set_partitions(markeins_parts, ARRAY_SIZE(markeins_parts));166166+ return platform_add_devices(devices, ARRAY_SIZE(devices));167167+}168168+169169+arch_initcall(platform_devices_setup);170170+
+182
arch/mips/emma2rh/markeins/setup.c
···11+/*22+ * arch/mips/emma2rh/markeins/setup.c33+ * This file is setup for EMMA2RH Mark-eins.44+ *55+ * Copyright (C) NEC Electronics Corporation 2004-200666+ *77+ * This file is based on the arch/mips/ddb5xxx/ddb5477/setup.c.88+ *99+ * Copyright 2001 MontaVista Software Inc.1010+ *1111+ * This program is free software; you can redistribute it and/or modify1212+ * it under the terms of the GNU General Public License as published by1313+ * the Free Software Foundation; either version 2 of the License, or1414+ * (at your option) any later version.1515+ *1616+ * This program is distributed in the hope that it will be useful,1717+ * but WITHOUT ANY WARRANTY; without even the implied warranty of1818+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the1919+ * GNU General Public License for more details.2020+ *2121+ * You should have received a copy of the GNU General Public License2222+ * along with this program; if not, write to the Free Software2323+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA2424+ */2525+#include <linux/config.h>2626+#include <linux/init.h>2727+#include <linux/kernel.h>2828+#include <linux/types.h>2929+#include <linux/initrd.h>3030+#include <linux/irq.h>3131+#include <linux/ide.h>3232+#include <linux/ioport.h>3333+#include <linux/param.h> /* for HZ */3434+#include <linux/root_dev.h>3535+#include <linux/serial.h>3636+#include <linux/serial_core.h>3737+3838+#include <asm/cpu.h>3939+#include <asm/bootinfo.h>4040+#include <asm/addrspace.h>4141+#include <asm/time.h>4242+#include <asm/bcache.h>4343+#include <asm/irq.h>4444+#include <asm/reboot.h>4545+#include <asm/gdb-stub.h>4646+#include <asm/traps.h>4747+#include <asm/debug.h>4848+4949+#include <asm/emma2rh/emma2rh.h>5050+5151+#define USE_CPU_COUNTER_TIMER /* whether we use cpu counter */5252+5353+extern void markeins_led(const char *);5454+5555+static int bus_frequency = 0;5656+5757+static void markeins_machine_restart(char *command)5858+{5959+ static void (*back_to_prom) (void) = (void (*)(void))0xbfc00000;6060+6161+ printk("cannot EMMA2RH Mark-eins restart.\n");6262+ markeins_led("restart.");6363+ back_to_prom();6464+}6565+6666+static void markeins_machine_halt(void)6767+{6868+ printk("EMMA2RH Mark-eins halted.\n");6969+ markeins_led("halted.");7070+ while (1) ;7171+}7272+7373+static void markeins_machine_power_off(void)7474+{7575+ printk("EMMA2RH Mark-eins halted. Please turn off the power.\n");7676+ markeins_led("poweroff.");7777+ while (1) ;7878+}7979+8080+static unsigned long clock[4] = { 166500000, 187312500, 199800000, 210600000 };8181+8282+static unsigned int __init detect_bus_frequency(unsigned long rtc_base)8383+{8484+ u32 reg;8585+8686+ /* detect from boot strap */8787+ reg = emma2rh_in32(EMMA2RH_BHIF_STRAP_0);8888+ reg = (reg >> 4) & 0x3;8989+ return clock[reg];9090+}9191+9292+static void __init emma2rh_time_init(void)9393+{9494+ u32 reg;9595+ if (bus_frequency == 0)9696+ bus_frequency = detect_bus_frequency(0);9797+9898+ reg = emma2rh_in32(EMMA2RH_BHIF_STRAP_0);9999+ if ((reg & 0x3) == 0)100100+ reg = (reg >> 6) & 0x3;101101+ else {102102+ reg = emma2rh_in32(EMMA2RH_BHIF_MAIN_CTRL);103103+ reg = (reg >> 4) & 0x3;104104+ }105105+ mips_hpt_frequency = (bus_frequency * (4 + reg)) / 4 / 2;106106+}107107+108108+static void __init emma2rh_timer_setup(struct irqaction *irq)109109+{110110+ /* we are using the cpu counter for timer interrupts */111111+ setup_irq(CPU_IRQ_BASE + 7, irq);112112+}113113+114114+static void markeins_board_init(void);115115+extern void markeins_irq_setup(void);116116+117117+static void inline __init markeins_sio_setup(void)118118+{119119+#ifdef CONFIG_KGDB_8250120120+ struct uart_port emma_port;121121+122122+ memset(&emma_port, 0, sizeof(emma_port));123123+124124+ emma_port.flags =125125+ UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;126126+ emma_port.iotype = UPIO_MEM;127127+ emma_port.regshift = 4; /* I/O addresses are every 8 bytes */128128+ emma_port.uartclk = 18544000; /* Clock rate of the chip */129129+130130+ emma_port.line = 0;131131+ emma_port.mapbase = KSEG1ADDR(EMMA2RH_PFUR0_BASE + 3);132132+ emma_port.membase = (u8*)emma_port.mapbase;133133+ early_serial_setup(&emma_port);134134+135135+ emma_port.line = 1;136136+ emma_port.mapbase = KSEG1ADDR(EMMA2RH_PFUR1_BASE + 3);137137+ emma_port.membase = (u8*)emma_port.mapbase;138138+ early_serial_setup(&emma_port);139139+140140+ emma_port.irq = EMMA2RH_IRQ_PFUR1;141141+ kgdb8250_add_port(1, &emma_port);142142+#endif143143+}144144+145145+void __init plat_mem_setup(void)146146+{147147+ /* initialize board - we don't trust the loader */148148+ markeins_board_init();149149+150150+ set_io_port_base(KSEG1ADDR(EMMA2RH_PCI_IO_BASE));151151+152152+ board_time_init = emma2rh_time_init;153153+ board_timer_setup = emma2rh_timer_setup;154154+155155+ _machine_restart = markeins_machine_restart;156156+ _machine_halt = markeins_machine_halt;157157+ pm_power_off = markeins_machine_power_off;158158+159159+ /* setup resource limits */160160+ ioport_resource.start = EMMA2RH_PCI_IO_BASE;161161+ ioport_resource.end = EMMA2RH_PCI_IO_BASE + EMMA2RH_PCI_IO_SIZE - 1;162162+ iomem_resource.start = EMMA2RH_IO_BASE;163163+ iomem_resource.end = EMMA2RH_ROM_BASE - 1;164164+165165+ /* Reboot on panic */166166+ panic_timeout = 180;167167+168168+ markeins_sio_setup();169169+}170170+171171+static void __init markeins_board_init(void)172172+{173173+ u32 val;174174+175175+ val = emma2rh_in32(EMMA2RH_PBRD_INT_EN); /* open serial interrupts. */176176+ emma2rh_out32(EMMA2RH_PBRD_INT_EN, val | 0xaa);177177+ val = emma2rh_in32(EMMA2RH_PBRD_CLKSEL); /* set serial clocks. */178178+ emma2rh_out32(EMMA2RH_PBRD_CLKSEL, val | 0x5); /* 18MHz */179179+ emma2rh_out32(EMMA2RH_PCI_CONTROL, 0);180180+181181+ markeins_led("MVL E2RH");182182+}
+1
arch/mips/pci/Makefile
···1818obj-$(CONFIG_MIPS_TX3927) += ops-tx3927.o1919obj-$(CONFIG_PCI_VR41XX) += ops-vr41xx.o pci-vr41xx.o2020obj-$(CONFIG_NEC_CMBVR4133) += fixup-vr4133.o2121+obj-$(CONFIG_MARKEINS) += ops-emma2rh.o pci-emma2rh.o fixup-emma2rh.o21222223#2324# These are still pretty much in the old state, watch, go blind.
+102
arch/mips/pci/fixup-emma2rh.c
···11+/*22+ * arch/mips/pci/fixup-emma2rh.c33+ * This file defines the PCI configration.44+ *55+ * Copyright (C) NEC Electronics Corporation 2004-200666+ *77+ * This file is based on the arch/mips/ddb5xxx/ddb5477/pci.c88+ *99+ * Copyright 2001 MontaVista Software Inc.1010+ *1111+ * This program is free software; you can redistribute it and/or modify1212+ * it under the terms of the GNU General Public License as published by1313+ * the Free Software Foundation; either version 2 of the License, or1414+ * (at your option) any later version.1515+ *1616+ * This program is distributed in the hope that it will be useful,1717+ * but WITHOUT ANY WARRANTY; without even the implied warranty of1818+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the1919+ * GNU General Public License for more details.2020+ *2121+ * You should have received a copy of the GNU General Public License2222+ * along with this program; if not, write to the Free Software2323+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA2424+ */2525+2626+#include <linux/config.h>2727+#include <linux/kernel.h>2828+#include <linux/init.h>2929+#include <linux/types.h>3030+#include <linux/pci.h>3131+3232+#include <asm/bootinfo.h>3333+#include <asm/debug.h>3434+3535+#include <asm/emma2rh/emma2rh.h>3636+3737+#define EMMA2RH_PCI_HOST_SLOT 0x093838+#define EMMA2RH_USB_SLOT 0x033939+#define PCI_DEVICE_ID_NEC_EMMA2RH 0x014b /* EMMA2RH PCI Host */4040+4141+/*4242+ * we fix up irqs based on the slot number.4343+ * The first entry is at AD:11.4444+ * Fortunately this works because, although we have two pci buses,4545+ * they all have different slot numbers (except for rockhopper slot 204646+ * which is handled below).4747+ *4848+ */4949+5050+#define MAX_SLOT_NUM 105151+static unsigned char irq_map[][5] __initdata = {5252+ [3] = {0, MARKEINS_PCI_IRQ_INTB, MARKEINS_PCI_IRQ_INTC,5353+ MARKEINS_PCI_IRQ_INTD, 0,},5454+ [4] = {0, MARKEINS_PCI_IRQ_INTA, 0, 0, 0,},5555+ [5] = {0, 0, 0, 0, 0,},5656+ [6] = {0, MARKEINS_PCI_IRQ_INTC, MARKEINS_PCI_IRQ_INTD,5757+ MARKEINS_PCI_IRQ_INTA, MARKEINS_PCI_IRQ_INTB,},5858+};5959+6060+static void __devinit nec_usb_controller_fixup(struct pci_dev *dev)6161+{6262+ if (PCI_SLOT(dev->devfn) == EMMA2RH_USB_SLOT)6363+ /* on board USB controller configuration */6464+ pci_write_config_dword(dev, 0xe4, 1 << 5);6565+}6666+6767+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_USB,6868+ nec_usb_controller_fixup);6969+7070+/*7171+ * Prevent the PCI layer from seeing the resources allocated to this device7272+ * if it is the host bridge by marking it as such. These resources are of7373+ * no consequence to the PCI layer (they are handled elsewhere).7474+ */7575+static void __devinit emma2rh_pci_host_fixup(struct pci_dev *dev)7676+{7777+ int i;7878+7979+ if (PCI_SLOT(dev->devfn) == EMMA2RH_PCI_HOST_SLOT) {8080+ dev->class &= 0xff;8181+ dev->class |= PCI_CLASS_BRIDGE_HOST << 8;8282+ for (i = 0; i < PCI_NUM_RESOURCES; i++) {8383+ dev->resource[i].start = 0;8484+ dev->resource[i].end = 0;8585+ dev->resource[i].flags = 0;8686+ }8787+ }8888+}8989+9090+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_EMMA2RH,9191+ emma2rh_pci_host_fixup);9292+9393+int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin)9494+{9595+ return irq_map[slot][pin];9696+}9797+9898+/* Do platform specific device initialization at pci_enable_device() time */9999+int pcibios_plat_dev_init(struct pci_dev *dev)100100+{101101+ return 0;102102+}
+186
arch/mips/pci/ops-emma2rh.c
···11+/*22+ * arch/mips/pci/ops-emma2rh.c33+ * This file defines the PCI operation for EMMA2RH.44+ *55+ * Copyright (C) NEC Electronics Corporation 2004-200666+ *77+ * This file is based on the arch/mips/pci/ops-vr41xx.c88+ *99+ * Copyright 2001 MontaVista Software Inc.1010+ *1111+ * This program is free software; you can redistribute it and/or modify1212+ * it under the terms of the GNU General Public License as published by1313+ * the Free Software Foundation; either version 2 of the License, or1414+ * (at your option) any later version.1515+ *1616+ * This program is distributed in the hope that it will be useful,1717+ * but WITHOUT ANY WARRANTY; without even the implied warranty of1818+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the1919+ * GNU General Public License for more details.2020+ *2121+ * You should have received a copy of the GNU General Public License2222+ * along with this program; if not, write to the Free Software2323+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA2424+ */2525+2626+#include <linux/config.h>2727+#include <linux/pci.h>2828+#include <linux/kernel.h>2929+#include <linux/types.h>3030+3131+#include <asm/addrspace.h>3232+#include <asm/debug.h>3333+3434+#include <asm/emma2rh/emma2rh.h>3535+3636+#define RTABORT (0x1<<9)3737+#define RMABORT (0x1<<10)3838+#define EMMA2RH_PCI_SLOT_NUM 9 /* 0000:09.0 is final PCI device */3939+4040+/*4141+ * access config space4242+ */4343+4444+static int check_args(struct pci_bus *bus, u32 devfn, u32 * bus_num)4545+{4646+ /* check if the bus is top-level */4747+ if (bus->parent != NULL) {4848+ *bus_num = bus->number;4949+ db_assert(bus_num != 0);5050+ } else5151+ *bus_num = 0;5252+5353+ if (*bus_num == 0) {5454+ /* Type 0 */5555+ if (PCI_SLOT(devfn) >= 10)5656+ return PCIBIOS_DEVICE_NOT_FOUND;5757+ } else {5858+ /* Type 1 */5959+ if ((*bus_num >= 64) || (PCI_SLOT(devfn) >= 16))6060+ return PCIBIOS_DEVICE_NOT_FOUND;6161+ }6262+ return 0;6363+}6464+6565+static inline int set_pci_configuration_address(unsigned char bus_num,6666+ unsigned int devfn, int where)6767+{6868+ u32 config_win0;6969+7070+ emma2rh_out32(EMMA2RH_PCI_INT, ~RMABORT);7171+ if (bus_num == 0)7272+ /*7373+ * Type 0 configuration7474+ */7575+ config_win0 = (1 << (22 + PCI_SLOT(devfn))) | (5 << 9);7676+ else7777+ /*7878+ * Type 1 configuration7979+ */8080+ config_win0 = (bus_num << 26) | (PCI_SLOT(devfn) << 22) |8181+ (1 << 15) | (5 << 9);8282+8383+ emma2rh_out32(EMMA2RH_PCI_IWIN0_CTR, config_win0);8484+8585+ return 0;8686+}8787+8888+static int pci_config_read(struct pci_bus *bus, unsigned int devfn, int where,8989+ int size, uint32_t * val)9090+{9191+ u32 bus_num;9292+ u32 base = KSEG1ADDR(EMMA2RH_PCI_CONFIG_BASE);9393+ u32 backup_win0;9494+ u32 data;9595+9696+ *val = 0xffffffffU;9797+9898+ if (check_args(bus, devfn, &bus_num) == PCIBIOS_DEVICE_NOT_FOUND)9999+ return PCIBIOS_DEVICE_NOT_FOUND;100100+101101+ backup_win0 = emma2rh_in32(EMMA2RH_PCI_IWIN0_CTR);102102+103103+ if (set_pci_configuration_address(bus_num, devfn, where) < 0)104104+ return PCIBIOS_DEVICE_NOT_FOUND;105105+106106+ data =107107+ *(volatile u32 *)(base + (PCI_FUNC(devfn) << 8) +108108+ (where & 0xfffffffc));109109+110110+ switch (size) {111111+ case 1:112112+ *val = (data >> ((where & 3) << 3)) & 0xffU;113113+ break;114114+ case 2:115115+ *val = (data >> ((where & 2) << 3)) & 0xffffU;116116+ break;117117+ case 4:118118+ *val = data;119119+ break;120120+ default:121121+ emma2rh_out32(EMMA2RH_PCI_IWIN0_CTR, backup_win0);122122+ return PCIBIOS_FUNC_NOT_SUPPORTED;123123+ }124124+125125+ emma2rh_out32(EMMA2RH_PCI_IWIN0_CTR, backup_win0);126126+127127+ if (emma2rh_in32(EMMA2RH_PCI_INT) & RMABORT)128128+ return PCIBIOS_DEVICE_NOT_FOUND;129129+130130+ return PCIBIOS_SUCCESSFUL;131131+}132132+133133+static int pci_config_write(struct pci_bus *bus, unsigned int devfn, int where,134134+ int size, u32 val)135135+{136136+ u32 bus_num;137137+ u32 base = KSEG1ADDR(EMMA2RH_PCI_CONFIG_BASE);138138+ u32 backup_win0;139139+ u32 data;140140+ int shift;141141+142142+ if (check_args(bus, devfn, &bus_num) == PCIBIOS_DEVICE_NOT_FOUND)143143+ return PCIBIOS_DEVICE_NOT_FOUND;144144+145145+ backup_win0 = emma2rh_in32(EMMA2RH_PCI_IWIN0_CTR);146146+147147+ if (set_pci_configuration_address(bus_num, devfn, where) < 0)148148+ return PCIBIOS_DEVICE_NOT_FOUND;149149+150150+ /* read modify write */151151+ data =152152+ *(volatile u32 *)(base + (PCI_FUNC(devfn) << 8) +153153+ (where & 0xfffffffc));154154+155155+ switch (size) {156156+ case 1:157157+ shift = (where & 3) << 3;158158+ data &= ~(0xffU << shift);159159+ data |= ((val & 0xffU) << shift);160160+ break;161161+ case 2:162162+ shift = (where & 2) << 3;163163+ data &= ~(0xffffU << shift);164164+ data |= ((val & 0xffffU) << shift);165165+ break;166166+ case 4:167167+ data = val;168168+ break;169169+ default:170170+ emma2rh_out32(EMMA2RH_PCI_IWIN0_CTR, backup_win0);171171+ return PCIBIOS_FUNC_NOT_SUPPORTED;172172+ }173173+ *(volatile u32 *)(base + (PCI_FUNC(devfn) << 8) +174174+ (where & 0xfffffffc)) = data;175175+176176+ emma2rh_out32(EMMA2RH_PCI_IWIN0_CTR, backup_win0);177177+ if (emma2rh_in32(EMMA2RH_PCI_INT) & RMABORT)178178+ return PCIBIOS_DEVICE_NOT_FOUND;179179+180180+ return PCIBIOS_SUCCESSFUL;181181+}182182+183183+struct pci_ops emma2rh_pci_ops = {184184+ .read = pci_config_read,185185+ .write = pci_config_write,186186+};
+90
arch/mips/pci/pci-emma2rh.c
···11+/*22+ * arch/mips/pci/pci-emma2rh.c33+ * This file defines the PCI configration.44+ *55+ * Copyright (C) NEC Electronics Corporation 2004-200666+ *77+ * This file is based on the arch/mips/ddb5xxx/ddb5477/pci.c88+ *99+ * Copyright 2001 MontaVista Software Inc.1010+ *1111+ * This program is free software; you can redistribute it and/or modify1212+ * it under the terms of the GNU General Public License as published by1313+ * the Free Software Foundation; either version 2 of the License, or1414+ * (at your option) any later version.1515+ *1616+ * This program is distributed in the hope that it will be useful,1717+ * but WITHOUT ANY WARRANTY; without even the implied warranty of1818+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the1919+ * GNU General Public License for more details.2020+ *2121+ * You should have received a copy of the GNU General Public License2222+ * along with this program; if not, write to the Free Software2323+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA2424+ */2525+2626+#include <linux/config.h>2727+#include <linux/kernel.h>2828+#include <linux/init.h>2929+#include <linux/types.h>3030+#include <linux/pci.h>3131+3232+#include <asm/bootinfo.h>3333+#include <asm/debug.h>3434+3535+#include <asm/emma2rh/emma2rh.h>3636+3737+static struct resource pci_io_resource = {3838+ .name = "pci IO space",3939+ .start = EMMA2RH_PCI_IO_BASE,4040+ .end = EMMA2RH_PCI_IO_BASE + EMMA2RH_PCI_IO_SIZE - 1,4141+ .flags = IORESOURCE_IO,4242+};4343+4444+static struct resource pci_mem_resource = {4545+ .name = "pci memory space",4646+ .start = EMMA2RH_PCI_MEM_BASE,4747+ .end = EMMA2RH_PCI_MEM_BASE + EMMA2RH_PCI_MEM_SIZE - 1,4848+ .flags = IORESOURCE_MEM,4949+};5050+5151+extern struct pci_ops emma2rh_pci_ops;5252+5353+static struct pci_controller emma2rh_pci_controller = {5454+ .pci_ops = &emma2rh_pci_ops,5555+ .mem_resource = &pci_mem_resource,5656+ .io_resource = &pci_io_resource,5757+ .mem_offset = -0x04000000,5858+ .io_offset = 0,5959+};6060+6161+static void __init emma2rh_pci_init(void)6262+{6363+ /* setup PCI interface */6464+ emma2rh_out32(EMMA2RH_PCI_ARBIT_CTR, 0x70f);6565+6666+ emma2rh_out32(EMMA2RH_PCI_IWIN0_CTR, 0x80000a18);6767+ emma2rh_out32(EMMA2RH_PCI_CONFIG_BASE + PCI_COMMAND,6868+ PCI_STATUS_DEVSEL_MEDIUM | PCI_STATUS_CAP_LIST |6969+ PCI_COMMAND_MASTER | PCI_COMMAND_MEMORY);7070+ emma2rh_out32(EMMA2RH_PCI_CONFIG_BASE + PCI_BASE_ADDRESS_0, 0x10000000);7171+ emma2rh_out32(EMMA2RH_PCI_CONFIG_BASE + PCI_BASE_ADDRESS_1, 0x00000000);7272+7373+ emma2rh_out32(EMMA2RH_PCI_IWIN0_CTR, 0x12000000 | 0x218);7474+ emma2rh_out32(EMMA2RH_PCI_IWIN1_CTR, 0x18000000 | 0x600);7575+ emma2rh_out32(EMMA2RH_PCI_INIT_ESWP, 0x00000200);7676+7777+ emma2rh_out32(EMMA2RH_PCI_TWIN_CTR, 0x00009200);7878+ emma2rh_out32(EMMA2RH_PCI_TWIN_BADR, 0x00000000);7979+ emma2rh_out32(EMMA2RH_PCI_TWIN0_DADR, 0x00000000);8080+ emma2rh_out32(EMMA2RH_PCI_TWIN1_DADR, 0x00000000);8181+}8282+8383+static int __init emma2rh_pci_setup(void)8484+{8585+ emma2rh_pci_init();8686+ register_pci_controller(&emma2rh_pci_controller);8787+ return 0;8888+}8989+9090+arch_initcall(emma2rh_pci_setup);
+6
include/asm-mips/bootinfo.h
···218218#define MACH_GROUP_TITAN 22 /* PMC-Sierra Titan */219219#define MACH_TITAN_YOSEMITE 1 /* PMC-Sierra Yosemite */220220221221+/*222222+ * Valid machtype for group NEC EMMA2RH223223+ */224224+#define MACH_GROUP_NEC_EMMA2RH 25 /* NEC EMMA2RH (was 23) */225225+#define MACH_NEC_MARKEINS 0 /* NEC EMMA2RH Mark-eins */226226+221227#define CL_SIZE COMMAND_LINE_SIZE222228223229const char *get_system_type(void);
+330
include/asm-mips/emma2rh/emma2rh.h
···11+/*22+ * include/asm-mips/emma2rh/emma2rh.h33+ * This file is EMMA2RH common header.44+ *55+ * Copyright (C) NEC Electronics Corporation 2005-200666+ *77+ * This file based on include/asm-mips/ddb5xxx/ddb5xxx.h88+ * Copyright 2001 MontaVista Software Inc.99+ *1010+ * This program is free software; you can redistribute it and/or modify1111+ * it under the terms of the GNU General Public License as published by1212+ * the Free Software Foundation; either version 2 of the License, or1313+ * (at your option) any later version.1414+ *1515+ * This program is distributed in the hope that it will be useful,1616+ * but WITHOUT ANY WARRANTY; without even the implied warranty of1717+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the1818+ * GNU General Public License for more details.1919+ *2020+ * You should have received a copy of the GNU General Public License2121+ * along with this program; if not, write to the Free Software2222+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA2323+ */2424+#ifndef __ASM_EMMA2RH_EMMA2RH_H2525+#define __ASM_EMMA2RH_EMMA2RH_H2626+2727+/*2828+ * EMMA2RH registers2929+ */3030+#define REGBASE 0x100000003131+3232+#define EMMA2RH_BHIF_STRAP_0 (0x000010+REGBASE)3333+#define EMMA2RH_BHIF_INT_ST_0 (0x000030+REGBASE)3434+#define EMMA2RH_BHIF_INT_ST_1 (0x000034+REGBASE)3535+#define EMMA2RH_BHIF_INT_ST_2 (0x000038+REGBASE)3636+#define EMMA2RH_BHIF_INT_EN_0 (0x000040+REGBASE)3737+#define EMMA2RH_BHIF_INT_EN_1 (0x000044+REGBASE)3838+#define EMMA2RH_BHIF_INT_EN_2 (0x000048+REGBASE)3939+#define EMMA2RH_BHIF_INT1_EN_0 (0x000050+REGBASE)4040+#define EMMA2RH_BHIF_INT1_EN_1 (0x000054+REGBASE)4141+#define EMMA2RH_BHIF_INT1_EN_2 (0x000058+REGBASE)4242+#define EMMA2RH_BHIF_SW_INT (0x000070+REGBASE)4343+#define EMMA2RH_BHIF_SW_INT_EN (0x000080+REGBASE)4444+#define EMMA2RH_BHIF_SW_INT_CLR (0x000090+REGBASE)4545+#define EMMA2RH_BHIF_MAIN_CTRL (0x0000b4+REGBASE)4646+#define EMMA2RH_BHIF_EXCEPT_VECT_BASE_ADDRESS (0x0000c0+REGBASE)4747+#define EMMA2RH_GPIO_DIR (0x110d20+REGBASE)4848+#define EMMA2RH_GPIO_INT_ST (0x110d30+REGBASE)4949+#define EMMA2RH_GPIO_INT_MASK (0x110d3c+REGBASE)5050+#define EMMA2RH_GPIO_INT_MODE (0x110d48+REGBASE)5151+#define EMMA2RH_GPIO_INT_CND_A (0x110d54+REGBASE)5252+#define EMMA2RH_GPIO_INT_CND_B (0x110d60+REGBASE)5353+#define EMMA2RH_PBRD_INT_EN (0x100010+REGBASE)5454+#define EMMA2RH_PBRD_CLKSEL (0x100028+REGBASE)5555+#define EMMA2RH_PFUR0_BASE (0x101000+REGBASE)5656+#define EMMA2RH_PFUR1_BASE (0x102000+REGBASE)5757+#define EMMA2RH_PFUR2_BASE (0x103000+REGBASE)5858+#define EMMA2RH_PIIC0_BASE (0x107000+REGBASE)5959+#define EMMA2RH_PIIC1_BASE (0x108000+REGBASE)6060+#define EMMA2RH_PIIC2_BASE (0x109000+REGBASE)6161+#define EMMA2RH_PCI_CONTROL (0x200000+REGBASE)6262+#define EMMA2RH_PCI_ARBIT_CTR (0x200004+REGBASE)6363+#define EMMA2RH_PCI_IWIN0_CTR (0x200010+REGBASE)6464+#define EMMA2RH_PCI_IWIN1_CTR (0x200014+REGBASE)6565+#define EMMA2RH_PCI_INIT_ESWP (0x200018+REGBASE)6666+#define EMMA2RH_PCI_INT (0x200020+REGBASE)6767+#define EMMA2RH_PCI_INT_EN (0x200024+REGBASE)6868+#define EMMA2RH_PCI_TWIN_CTR (0x200030+REGBASE)6969+#define EMMA2RH_PCI_TWIN_BADR (0x200034+REGBASE)7070+#define EMMA2RH_PCI_TWIN0_DADR (0x200038+REGBASE)7171+#define EMMA2RH_PCI_TWIN1_DADR (0x20003c+REGBASE)7272+7373+/*7474+ * Memory map (physical address)7575+ *7676+ * Note most of the following address must be properly aligned by the7777+ * corresponding size. For example, if PCI_IO_SIZE is 16MB, then7878+ * PCI_IO_BASE must be aligned along 16MB boundary.7979+ */8080+8181+/* the actual ram size is detected at run-time */8282+#define EMMA2RH_RAM_BASE 0x000000008383+#define EMMA2RH_RAM_SIZE 0x10000000 /* less than 256MB */8484+8585+#define EMMA2RH_IO_BASE 0x100000008686+#define EMMA2RH_IO_SIZE 0x01000000 /* 16 MB */8787+8888+#define EMMA2RH_GENERALIO_BASE 0x110000008989+#define EMMA2RH_GENERALIO_SIZE 0x01000000 /* 16 MB */9090+9191+#define EMMA2RH_PCI_IO_BASE 0x120000009292+#define EMMA2RH_PCI_IO_SIZE 0x02000000 /* 32 MB */9393+9494+#define EMMA2RH_PCI_MEM_BASE 0x140000009595+#define EMMA2RH_PCI_MEM_SIZE 0x08000000 /* 128 MB */9696+9797+#define EMMA2RH_ROM_BASE 0x1c0000009898+#define EMMA2RH_ROM_SIZE 0x04000000 /* 64 MB */9999+100100+#define EMMA2RH_PCI_CONFIG_BASE EMMA2RH_PCI_IO_BASE101101+#define EMMA2RH_PCI_CONFIG_SIZE EMMA2RH_PCI_IO_SIZE102102+103103+#define NUM_CPU_IRQ 8104104+#define NUM_EMMA2RH_IRQ 96105105+106106+#define CPU_EMMA2RH_CASCADE 2107107+#define EMMA2RH_IRQ_BASE 0108108+109109+/*110110+ * emma2rh irq defs111111+ */112112+113113+#define EMMA2RH_IRQ_INT0 (0 + EMMA2RH_IRQ_BASE)114114+#define EMMA2RH_IRQ_INT1 (1 + EMMA2RH_IRQ_BASE)115115+#define EMMA2RH_IRQ_INT2 (2 + EMMA2RH_IRQ_BASE)116116+#define EMMA2RH_IRQ_INT3 (3 + EMMA2RH_IRQ_BASE)117117+#define EMMA2RH_IRQ_INT4 (4 + EMMA2RH_IRQ_BASE)118118+#define EMMA2RH_IRQ_INT5 (5 + EMMA2RH_IRQ_BASE)119119+#define EMMA2RH_IRQ_INT6 (6 + EMMA2RH_IRQ_BASE)120120+#define EMMA2RH_IRQ_INT7 (7 + EMMA2RH_IRQ_BASE)121121+#define EMMA2RH_IRQ_INT8 (8 + EMMA2RH_IRQ_BASE)122122+#define EMMA2RH_IRQ_INT9 (9 + EMMA2RH_IRQ_BASE)123123+#define EMMA2RH_IRQ_INT10 (10 + EMMA2RH_IRQ_BASE)124124+#define EMMA2RH_IRQ_INT11 (11 + EMMA2RH_IRQ_BASE)125125+#define EMMA2RH_IRQ_INT12 (12 + EMMA2RH_IRQ_BASE)126126+#define EMMA2RH_IRQ_INT13 (13 + EMMA2RH_IRQ_BASE)127127+#define EMMA2RH_IRQ_INT14 (14 + EMMA2RH_IRQ_BASE)128128+#define EMMA2RH_IRQ_INT15 (15 + EMMA2RH_IRQ_BASE)129129+#define EMMA2RH_IRQ_INT16 (16 + EMMA2RH_IRQ_BASE)130130+#define EMMA2RH_IRQ_INT17 (17 + EMMA2RH_IRQ_BASE)131131+#define EMMA2RH_IRQ_INT18 (18 + EMMA2RH_IRQ_BASE)132132+#define EMMA2RH_IRQ_INT19 (19 + EMMA2RH_IRQ_BASE)133133+#define EMMA2RH_IRQ_INT20 (20 + EMMA2RH_IRQ_BASE)134134+#define EMMA2RH_IRQ_INT21 (21 + EMMA2RH_IRQ_BASE)135135+#define EMMA2RH_IRQ_INT22 (22 + EMMA2RH_IRQ_BASE)136136+#define EMMA2RH_IRQ_INT23 (23 + EMMA2RH_IRQ_BASE)137137+#define EMMA2RH_IRQ_INT24 (24 + EMMA2RH_IRQ_BASE)138138+#define EMMA2RH_IRQ_INT25 (25 + EMMA2RH_IRQ_BASE)139139+#define EMMA2RH_IRQ_INT26 (26 + EMMA2RH_IRQ_BASE)140140+#define EMMA2RH_IRQ_INT27 (27 + EMMA2RH_IRQ_BASE)141141+#define EMMA2RH_IRQ_INT28 (28 + EMMA2RH_IRQ_BASE)142142+#define EMMA2RH_IRQ_INT29 (29 + EMMA2RH_IRQ_BASE)143143+#define EMMA2RH_IRQ_INT30 (30 + EMMA2RH_IRQ_BASE)144144+#define EMMA2RH_IRQ_INT31 (31 + EMMA2RH_IRQ_BASE)145145+#define EMMA2RH_IRQ_INT32 (32 + EMMA2RH_IRQ_BASE)146146+#define EMMA2RH_IRQ_INT33 (33 + EMMA2RH_IRQ_BASE)147147+#define EMMA2RH_IRQ_INT34 (34 + EMMA2RH_IRQ_BASE)148148+#define EMMA2RH_IRQ_INT35 (35 + EMMA2RH_IRQ_BASE)149149+#define EMMA2RH_IRQ_INT36 (36 + EMMA2RH_IRQ_BASE)150150+#define EMMA2RH_IRQ_INT37 (37 + EMMA2RH_IRQ_BASE)151151+#define EMMA2RH_IRQ_INT38 (38 + EMMA2RH_IRQ_BASE)152152+#define EMMA2RH_IRQ_INT39 (39 + EMMA2RH_IRQ_BASE)153153+#define EMMA2RH_IRQ_INT40 (40 + EMMA2RH_IRQ_BASE)154154+#define EMMA2RH_IRQ_INT41 (41 + EMMA2RH_IRQ_BASE)155155+#define EMMA2RH_IRQ_INT42 (42 + EMMA2RH_IRQ_BASE)156156+#define EMMA2RH_IRQ_INT43 (43 + EMMA2RH_IRQ_BASE)157157+#define EMMA2RH_IRQ_INT44 (44 + EMMA2RH_IRQ_BASE)158158+#define EMMA2RH_IRQ_INT45 (45 + EMMA2RH_IRQ_BASE)159159+#define EMMA2RH_IRQ_INT46 (46 + EMMA2RH_IRQ_BASE)160160+#define EMMA2RH_IRQ_INT47 (47 + EMMA2RH_IRQ_BASE)161161+#define EMMA2RH_IRQ_INT48 (48 + EMMA2RH_IRQ_BASE)162162+#define EMMA2RH_IRQ_INT49 (49 + EMMA2RH_IRQ_BASE)163163+#define EMMA2RH_IRQ_INT50 (50 + EMMA2RH_IRQ_BASE)164164+#define EMMA2RH_IRQ_INT51 (51 + EMMA2RH_IRQ_BASE)165165+#define EMMA2RH_IRQ_INT52 (52 + EMMA2RH_IRQ_BASE)166166+#define EMMA2RH_IRQ_INT53 (53 + EMMA2RH_IRQ_BASE)167167+#define EMMA2RH_IRQ_INT54 (54 + EMMA2RH_IRQ_BASE)168168+#define EMMA2RH_IRQ_INT55 (55 + EMMA2RH_IRQ_BASE)169169+#define EMMA2RH_IRQ_INT56 (56 + EMMA2RH_IRQ_BASE)170170+#define EMMA2RH_IRQ_INT57 (57 + EMMA2RH_IRQ_BASE)171171+#define EMMA2RH_IRQ_INT58 (58 + EMMA2RH_IRQ_BASE)172172+#define EMMA2RH_IRQ_INT59 (59 + EMMA2RH_IRQ_BASE)173173+#define EMMA2RH_IRQ_INT60 (60 + EMMA2RH_IRQ_BASE)174174+#define EMMA2RH_IRQ_INT61 (61 + EMMA2RH_IRQ_BASE)175175+#define EMMA2RH_IRQ_INT62 (62 + EMMA2RH_IRQ_BASE)176176+#define EMMA2RH_IRQ_INT63 (63 + EMMA2RH_IRQ_BASE)177177+178178+#define EMMA2RH_IRQ_PFUR0 EMMA2RH_IRQ_INT49179179+#define EMMA2RH_IRQ_PFUR1 EMMA2RH_IRQ_INT50180180+#define EMMA2RH_IRQ_PFUR2 EMMA2RH_IRQ_INT51181181+#define EMMA2RH_IRQ_PIIC0 EMMA2RH_IRQ_INT56182182+#define EMMA2RH_IRQ_PIIC1 EMMA2RH_IRQ_INT57183183+#define EMMA2RH_IRQ_PIIC2 EMMA2RH_IRQ_INT58184184+185185+/*186186+ * EMMA2RH Register Access187187+ */188188+189189+#define EMMA2RH_BASE (0xa0000000)190190+191191+static inline void emma2rh_sync(void)192192+{193193+ volatile u32 *p = (volatile u32 *)0xbfc00000;194194+ (void)(*p);195195+}196196+197197+static inline void emma2rh_out32(u32 offset, u32 val)198198+{199199+ *(volatile u32 *)(EMMA2RH_BASE | offset) = val;200200+ emma2rh_sync();201201+}202202+203203+static inline u32 emma2rh_in32(u32 offset)204204+{205205+ u32 val = *(volatile u32 *)(EMMA2RH_BASE | offset);206206+ emma2rh_sync();207207+ return val;208208+}209209+210210+static inline void emma2rh_out16(u32 offset, u16 val)211211+{212212+ *(volatile u16 *)(EMMA2RH_BASE | offset) = val;213213+ emma2rh_sync();214214+}215215+216216+static inline u16 emma2rh_in16(u32 offset)217217+{218218+ u16 val = *(volatile u16 *)(EMMA2RH_BASE | offset);219219+ emma2rh_sync();220220+ return val;221221+}222222+223223+static inline void emma2rh_out8(u32 offset, u8 val)224224+{225225+ *(volatile u8 *)(EMMA2RH_BASE | offset) = val;226226+ emma2rh_sync();227227+}228228+229229+static inline u8 emma2rh_in8(u32 offset)230230+{231231+ u8 val = *(volatile u8 *)(EMMA2RH_BASE | offset);232232+ emma2rh_sync();233233+ return val;234234+}235235+236236+/**237237+ * IIC registers map238238+ **/239239+240240+/*---------------------------------------------------------------------------*/241241+/* CNT - Control register (00H R/W) */242242+/*---------------------------------------------------------------------------*/243243+#define SPT 0x00000001244244+#define STT 0x00000002245245+#define ACKE 0x00000004246246+#define WTIM 0x00000008247247+#define SPIE 0x00000010248248+#define WREL 0x00000020249249+#define LREL 0x00000040250250+#define IICE 0x00000080251251+#define CNT_RESERVED 0x000000ff /* reserved bit 0 */252252+253253+#define I2C_EMMA_START (IICE | STT)254254+#define I2C_EMMA_STOP (IICE | SPT)255255+#define I2C_EMMA_REPSTART I2C_EMMA_START256256+257257+/*---------------------------------------------------------------------------*/258258+/* STA - Status register (10H Read) */259259+/*---------------------------------------------------------------------------*/260260+#define MSTS 0x00000080261261+#define ALD 0x00000040262262+#define EXC 0x00000020263263+#define COI 0x00000010264264+#define TRC 0x00000008265265+#define ACKD 0x00000004266266+#define STD 0x00000002267267+#define SPD 0x00000001268268+269269+/*---------------------------------------------------------------------------*/270270+/* CSEL - Clock select register (20H R/W) */271271+/*---------------------------------------------------------------------------*/272272+#define FCL 0x00000080273273+#define ND50 0x00000040274274+#define CLD 0x00000020275275+#define DAD 0x00000010276276+#define SMC 0x00000008277277+#define DFC 0x00000004278278+#define CL 0x00000003279279+#define CSEL_RESERVED 0x000000ff /* reserved bit 0 */280280+281281+#define FAST397 0x0000008b282282+#define FAST297 0x0000008a283283+#define FAST347 0x0000000b284284+#define FAST260 0x0000000a285285+#define FAST130 0x00000008286286+#define STANDARD108 0x00000083287287+#define STANDARD83 0x00000082288288+#define STANDARD95 0x00000003289289+#define STANDARD73 0x00000002290290+#define STANDARD36 0x00000001291291+#define STANDARD71 0x00000000292292+293293+/*---------------------------------------------------------------------------*/294294+/* SVA - Slave address register (30H R/W) */295295+/*---------------------------------------------------------------------------*/296296+#define SVA 0x000000fe297297+298298+/*---------------------------------------------------------------------------*/299299+/* SHR - Shift register (40H R/W) */300300+/*---------------------------------------------------------------------------*/301301+#define SR 0x000000ff302302+303303+/*---------------------------------------------------------------------------*/304304+/* INT - Interrupt register (50H R/W) */305305+/* INTM - Interrupt mask register (60H R/W) */306306+/*---------------------------------------------------------------------------*/307307+#define INTE0 0x00000001308308+309309+/***********************************************************************310310+ * I2C registers311311+ ***********************************************************************312312+ */313313+#define I2C_EMMA_CNT 0x00314314+#define I2C_EMMA_STA 0x10315315+#define I2C_EMMA_CSEL 0x20316316+#define I2C_EMMA_SVA 0x30317317+#define I2C_EMMA_SHR 0x40318318+#define I2C_EMMA_INT 0x50319319+#define I2C_EMMA_INTM 0x60320320+321321+/*322322+ * include the board dependent part323323+ */324324+#if defined(CONFIG_MARKEINS)325325+#include <asm/emma2rh/markeins.h>326326+#else327327+#error "Unknown EMMA2RH board!"328328+#endif329329+330330+#endif /* __ASM_EMMA2RH_EMMA2RH_H */
+76
include/asm-mips/emma2rh/markeins.h
···11+/*22+ * include/asm-mips/emma2rh/markeins.h33+ * This file is EMMA2RH board depended header.44+ *55+ * Copyright (C) NEC Electronics Corporation 2005-200666+ *77+ * This file based on include/asm-mips/ddb5xxx/ddb5xxx.h88+ * Copyright 2001 MontaVista Software Inc.99+ *1010+ * This program is free software; you can redistribute it and/or modify1111+ * it under the terms of the GNU General Public License as published by1212+ * the Free Software Foundation; either version 2 of the License, or1313+ * (at your option) any later version.1414+ *1515+ * This program is distributed in the hope that it will be useful,1616+ * but WITHOUT ANY WARRANTY; without even the implied warranty of1717+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the1818+ * GNU General Public License for more details.1919+ *2020+ * You should have received a copy of the GNU General Public License2121+ * along with this program; if not, write to the Free Software2222+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA2323+ */2424+2525+#ifndef MARKEINS_H2626+#define MARKEINS_H2727+2828+#define NUM_EMMA2RH_IRQ_SW 322929+#define NUM_EMMA2RH_IRQ_GPIO 323030+3131+#define EMMA2RH_SW_CASCADE (EMMA2RH_IRQ_INT7 - EMMA2RH_IRQ_INT0)3232+#define EMMA2RH_GPIO_CASCADE (EMMA2RH_IRQ_INT46 - EMMA2RH_IRQ_INT0)3333+3434+#define EMMA2RH_SW_IRQ_BASE (EMMA2RH_IRQ_BASE + NUM_EMMA2RH_IRQ)3535+#define EMMA2RH_GPIO_IRQ_BASE (EMMA2RH_SW_IRQ_BASE + NUM_EMMA2RH_IRQ_SW)3636+#define CPU_IRQ_BASE (EMMA2RH_GPIO_IRQ_BASE + NUM_EMMA2RH_IRQ_GPIO)3737+3838+#define EMMA2RH_SW_IRQ_INT0 (0+EMMA2RH_SW_IRQ_BASE)3939+#define EMMA2RH_SW_IRQ_INT1 (1+EMMA2RH_SW_IRQ_BASE)4040+#define EMMA2RH_SW_IRQ_INT2 (2+EMMA2RH_SW_IRQ_BASE)4141+#define EMMA2RH_SW_IRQ_INT3 (3+EMMA2RH_SW_IRQ_BASE)4242+#define EMMA2RH_SW_IRQ_INT4 (4+EMMA2RH_SW_IRQ_BASE)4343+#define EMMA2RH_SW_IRQ_INT5 (5+EMMA2RH_SW_IRQ_BASE)4444+#define EMMA2RH_SW_IRQ_INT6 (6+EMMA2RH_SW_IRQ_BASE)4545+#define EMMA2RH_SW_IRQ_INT7 (7+EMMA2RH_SW_IRQ_BASE)4646+#define EMMA2RH_SW_IRQ_INT8 (8+EMMA2RH_SW_IRQ_BASE)4747+#define EMMA2RH_SW_IRQ_INT9 (9+EMMA2RH_SW_IRQ_BASE)4848+#define EMMA2RH_SW_IRQ_INT10 (10+EMMA2RH_SW_IRQ_BASE)4949+#define EMMA2RH_SW_IRQ_INT11 (11+EMMA2RH_SW_IRQ_BASE)5050+#define EMMA2RH_SW_IRQ_INT12 (12+EMMA2RH_SW_IRQ_BASE)5151+#define EMMA2RH_SW_IRQ_INT13 (13+EMMA2RH_SW_IRQ_BASE)5252+#define EMMA2RH_SW_IRQ_INT14 (14+EMMA2RH_SW_IRQ_BASE)5353+#define EMMA2RH_SW_IRQ_INT15 (15+EMMA2RH_SW_IRQ_BASE)5454+#define EMMA2RH_SW_IRQ_INT16 (16+EMMA2RH_SW_IRQ_BASE)5555+#define EMMA2RH_SW_IRQ_INT17 (17+EMMA2RH_SW_IRQ_BASE)5656+#define EMMA2RH_SW_IRQ_INT18 (18+EMMA2RH_SW_IRQ_BASE)5757+#define EMMA2RH_SW_IRQ_INT19 (19+EMMA2RH_SW_IRQ_BASE)5858+#define EMMA2RH_SW_IRQ_INT20 (20+EMMA2RH_SW_IRQ_BASE)5959+#define EMMA2RH_SW_IRQ_INT21 (21+EMMA2RH_SW_IRQ_BASE)6060+#define EMMA2RH_SW_IRQ_INT22 (22+EMMA2RH_SW_IRQ_BASE)6161+#define EMMA2RH_SW_IRQ_INT23 (23+EMMA2RH_SW_IRQ_BASE)6262+#define EMMA2RH_SW_IRQ_INT24 (24+EMMA2RH_SW_IRQ_BASE)6363+#define EMMA2RH_SW_IRQ_INT25 (25+EMMA2RH_SW_IRQ_BASE)6464+#define EMMA2RH_SW_IRQ_INT26 (26+EMMA2RH_SW_IRQ_BASE)6565+#define EMMA2RH_SW_IRQ_INT27 (27+EMMA2RH_SW_IRQ_BASE)6666+#define EMMA2RH_SW_IRQ_INT28 (28+EMMA2RH_SW_IRQ_BASE)6767+#define EMMA2RH_SW_IRQ_INT29 (29+EMMA2RH_SW_IRQ_BASE)6868+#define EMMA2RH_SW_IRQ_INT30 (30+EMMA2RH_SW_IRQ_BASE)6969+#define EMMA2RH_SW_IRQ_INT31 (31+EMMA2RH_SW_IRQ_BASE)7070+7171+#define MARKEINS_PCI_IRQ_INTA EMMA2RH_GPIO_IRQ_BASE+157272+#define MARKEINS_PCI_IRQ_INTB EMMA2RH_GPIO_IRQ_BASE+167373+#define MARKEINS_PCI_IRQ_INTC EMMA2RH_GPIO_IRQ_BASE+177474+#define MARKEINS_PCI_IRQ_INTD EMMA2RH_GPIO_IRQ_BASE+187575+7676+#endif /* CONFIG_MARKEINS */
+13
include/asm-mips/mach-emma2rh/irq.h
···11+/*22+ * This file is subject to the terms and conditions of the GNU General Public33+ * License. See the file "COPYING" in the main directory of this archive44+ * for more details.55+ *66+ * Copyright (C) 2003 by Ralf Baechle77+ */88+#ifndef __ASM_MACH_EMMA2RH_IRQ_H99+#define __ASM_MACH_EMMA2RH_IRQ_H1010+1111+#define NR_IRQS 2561212+1313+#endif /* __ASM_MACH_EMMA2RH_IRQ_H */