Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (28 commits)
[MIPS] Rework cobalt_board_id
[MIPS] Use RTC_CMOS for Cobalt
[MIPS] Use platform_device for Cobalt UART
[MIPS] Separate Alchemy processor based boards config
[MIPS] Fix build error in atomic64_cmpxchg
[MIPS] Run checksyscalls for N32 and O32 ABI
[MIPS] tlbex: use __maybe_unused
[MIPS] excite: use __maybe_unused
[MIPS] Add extern cobalt_board_id
[MIPS] Remove unused CONFIG_TOSHIBA_BOARDS
[MIPS] Rename tb0229_defconfig to tb0219_defconfig
[MIPS] Update tb0229_defconfig; add CONFIG_GPIO_TB0219.
[MIPS] Add minimum defconfig for RBHMA4200
[MIPS] SB1: Build fix.
[MIPS] Drop __devinit tag from allocate_irqno() and free_irqno()
[MIPS] clocksource: use CLOCKSOURCE_MASK() macro
[MIPS] Remove LIMITED_DMA support
[MIPS] Remove Momenco Jaguar ATX support
[MIPS] Remove Momenco Ocelot G support
[MIPS] FPU hazard handling
...

+743 -4139
-54
Documentation/mips/pci/pci.README
··· 1 - 2 - Pete Popov, ppopov@pacbell.net 3 - 07/11/2001 4 - 5 - This README briefly explains how to use the pci and pci_auto 6 - code in arch/mips/kernel. The code was ported from PowerPC and 7 - modified slightly. It has been tested pretty well on PPC on some 8 - rather complex systems with multiple bridges and devices behind 9 - each bridge. However, at the time this README was written, the 10 - mips port was tested only on boards with a single pci bus and 11 - no P2P bridges. It's very possible that on boards with P2P 12 - bridges some modifications have to be made. The code will 13 - evolve, no doubt, but currently every single mips board 14 - is doing its own pcibios thing and it has become a big 15 - mess. This generic pci code is meant to clean up the mips 16 - pci mess and make it easier to add pci support to new boards. 17 - 18 - inside the define for your board in arch/mips/config.in. 19 - For example, the Galileo EV96100 board looks like this: 20 - 21 - if [ "$CONFIG_MIPS_EV96100" = "y" ]; then 22 - define_bool CONFIG_PCI y 23 - define_bool CONFIG_MIPS_GT96100 y 24 - define_bool CONFIG_NEW_PCI y 25 - define_bool CONFIG_SWAP_IO_SPACE y 26 - fi 27 - 28 - 29 - Next, if you want to use the arch/mips/kernel/pci code, which has the 30 - pcibios_init() function, add 31 - 32 - define_bool CONFIG_NEW_PCI y 33 - 34 - inside the define for your board. Again, the EV96100 example above 35 - show NEW_PCI turned on. 36 - 37 - 38 - Now you need to add your files to hook in your pci configuration 39 - cycles. Usually you'll need only a couple of files named something 40 - like pci_fixups.c and pci_ops.c. You can copy the templates 41 - provided and fill in the code. 42 - 43 - The file pci_ops.c should contain the pci configuration cycles routines. 44 - It also has the mips_pci_channels[] array which contains the descriptors 45 - of each pci controller. 46 - 47 - The file pci_fixups.c contains a few routines to do interrupt fixups, 48 - resources fixups, and, if needed, pci bios fixups. 49 - 50 - Usually you'll put your pci_fixups.c file in your board specific directory, 51 - since the functions in that file are board specific. The functions in 52 - pci_ops.c, on the other hand, are usually pci controller specific so that 53 - file could be shared among a few different boards using the same 54 - pci controller.
+10 -202
arch/mips/Kconfig
··· 15 15 prompt "System type" 16 16 default SGI_IP22 17 17 18 - config MIPS_MTX1 19 - bool "4G Systems MTX-1 board" 20 - select DMA_NONCOHERENT 21 - select HW_HAS_PCI 22 - select RESOURCES_64BIT if PCI 23 - select SOC_AU1500 24 - select SYS_HAS_CPU_MIPS32_R1 25 - select SYS_SUPPORTS_LITTLE_ENDIAN 26 - 27 - config MIPS_BOSPORUS 28 - bool "AMD Alchemy Bosporus board" 29 - select SOC_AU1500 30 - select DMA_NONCOHERENT 31 - select SYS_HAS_CPU_MIPS32_R1 32 - select SYS_SUPPORTS_LITTLE_ENDIAN 33 - 34 - config MIPS_PB1000 35 - bool "AMD Alchemy PB1000 board" 36 - select SOC_AU1000 37 - select DMA_NONCOHERENT 38 - select HW_HAS_PCI 39 - select RESOURCES_64BIT if PCI 40 - select SWAP_IO_SPACE 41 - select SYS_HAS_CPU_MIPS32_R1 42 - select SYS_SUPPORTS_LITTLE_ENDIAN 43 - 44 - config MIPS_PB1100 45 - bool "AMD Alchemy PB1100 board" 46 - select SOC_AU1100 47 - select DMA_NONCOHERENT 48 - select HW_HAS_PCI 49 - select RESOURCES_64BIT if PCI 50 - select SWAP_IO_SPACE 51 - select SYS_HAS_CPU_MIPS32_R1 52 - select SYS_SUPPORTS_LITTLE_ENDIAN 53 - 54 - config MIPS_PB1500 55 - bool "AMD Alchemy PB1500 board" 56 - select SOC_AU1500 57 - select DMA_NONCOHERENT 58 - select HW_HAS_PCI 59 - select RESOURCES_64BIT if PCI 60 - select SYS_HAS_CPU_MIPS32_R1 61 - select SYS_SUPPORTS_LITTLE_ENDIAN 62 - 63 - config MIPS_PB1550 64 - bool "AMD Alchemy PB1550 board" 65 - select SOC_AU1550 66 - select DMA_NONCOHERENT 67 - select HW_HAS_PCI 68 - select MIPS_DISABLE_OBSOLETE_IDE 69 - select RESOURCES_64BIT if PCI 70 - select SYS_HAS_CPU_MIPS32_R1 71 - select SYS_SUPPORTS_LITTLE_ENDIAN 72 - 73 - config MIPS_PB1200 74 - bool "AMD Alchemy PB1200 board" 75 - select SOC_AU1200 76 - select DMA_NONCOHERENT 77 - select MIPS_DISABLE_OBSOLETE_IDE 78 - select RESOURCES_64BIT if PCI 79 - select SYS_HAS_CPU_MIPS32_R1 80 - select SYS_SUPPORTS_LITTLE_ENDIAN 81 - 82 - config MIPS_DB1000 83 - bool "AMD Alchemy DB1000 board" 84 - select SOC_AU1000 85 - select DMA_NONCOHERENT 86 - select HW_HAS_PCI 87 - select RESOURCES_64BIT if PCI 88 - select SYS_HAS_CPU_MIPS32_R1 89 - select SYS_SUPPORTS_LITTLE_ENDIAN 90 - 91 - config MIPS_DB1100 92 - bool "AMD Alchemy DB1100 board" 93 - select SOC_AU1100 94 - select DMA_NONCOHERENT 95 - select SYS_HAS_CPU_MIPS32_R1 96 - select SYS_SUPPORTS_LITTLE_ENDIAN 97 - 98 - config MIPS_DB1500 99 - bool "AMD Alchemy DB1500 board" 100 - select SOC_AU1500 101 - select DMA_NONCOHERENT 102 - select HW_HAS_PCI 103 - select MIPS_DISABLE_OBSOLETE_IDE 104 - select RESOURCES_64BIT if PCI 105 - select SYS_HAS_CPU_MIPS32_R1 106 - select SYS_SUPPORTS_BIG_ENDIAN 107 - select SYS_SUPPORTS_LITTLE_ENDIAN 108 - 109 - config MIPS_DB1550 110 - bool "AMD Alchemy DB1550 board" 111 - select SOC_AU1550 112 - select HW_HAS_PCI 113 - select DMA_NONCOHERENT 114 - select MIPS_DISABLE_OBSOLETE_IDE 115 - select RESOURCES_64BIT if PCI 116 - select SYS_HAS_CPU_MIPS32_R1 117 - select SYS_SUPPORTS_LITTLE_ENDIAN 118 - 119 - config MIPS_DB1200 120 - bool "AMD Alchemy DB1200 board" 121 - select SOC_AU1200 122 - select DMA_COHERENT 123 - select MIPS_DISABLE_OBSOLETE_IDE 124 - select SYS_HAS_CPU_MIPS32_R1 125 - select SYS_SUPPORTS_LITTLE_ENDIAN 126 - 127 - config MIPS_MIRAGE 128 - bool "AMD Alchemy Mirage board" 129 - select DMA_NONCOHERENT 130 - select SOC_AU1500 131 - select SYS_HAS_CPU_MIPS32_R1 132 - select SYS_SUPPORTS_LITTLE_ENDIAN 18 + config MACH_ALCHEMY 19 + bool "Alchemy processor based machines" 133 20 134 21 config BASLER_EXCITE 135 22 bool "Basler eXcite smart camera" ··· 256 369 This option enables support for MIPS Technologies MIPSsim software 257 370 emulator. 258 371 259 - config MOMENCO_JAGUAR_ATX 260 - bool "Momentum Jaguar board" 261 - select BOOT_ELF32 262 - select DMA_NONCOHERENT 263 - select HW_HAS_PCI 264 - select IRQ_CPU 265 - select IRQ_CPU_RM7K 266 - select IRQ_MV64340 267 - select LIMITED_DMA 268 - select PCI_MARVELL 269 - select RM7000_CPU_SCACHE 270 - select SWAP_IO_SPACE 271 - select SYS_HAS_CPU_RM9000 272 - select SYS_HAS_EARLY_PRINTK 273 - select SYS_SUPPORTS_32BIT_KERNEL 274 - select SYS_SUPPORTS_64BIT_KERNEL 275 - select SYS_SUPPORTS_BIG_ENDIAN 276 - select SYS_SUPPORTS_KGDB 277 - help 278 - The Jaguar ATX is a MIPS-based Single Board Computer (SBC) made by 279 - Momentum Computer <http://www.momenco.com/>. 280 - 281 372 config MOMENCO_OCELOT 282 373 bool "Momentum Ocelot board" 283 374 select DMA_NONCOHERENT ··· 310 445 help 311 446 The Ocelot is a MIPS-based Single Board Computer (SBC) made by 312 447 Momentum Computer <http://www.momenco.com/>. 313 - 314 - config MOMENCO_OCELOT_G 315 - bool "Momentum Ocelot-G board" 316 - select DMA_NONCOHERENT 317 - select HW_HAS_PCI 318 - select IRQ_CPU 319 - select IRQ_CPU_RM7K 320 - select PCI_MARVELL 321 - select RM7000_CPU_SCACHE 322 - select SWAP_IO_SPACE 323 - select SYS_HAS_CPU_RM7000 324 - select SYS_SUPPORTS_32BIT_KERNEL 325 - select SYS_SUPPORTS_64BIT_KERNEL if BROKEN 326 - select SYS_SUPPORTS_BIG_ENDIAN 327 - help 328 - The Ocelot is a MIPS-based Single Board Computer (SBC) made by 329 - Momentum Computer <http://www.momenco.com/>. 330 - 331 - config MIPS_XXS1500 332 - bool "MyCable XXS1500 board" 333 - select DMA_NONCOHERENT 334 - select SOC_AU1500 335 - select SYS_SUPPORTS_LITTLE_ENDIAN 336 448 337 449 config PNX8550_JBS 338 450 bool "Philips PNX8550 based JBS board" ··· 617 775 select SYS_SUPPORTS_32BIT_KERNEL 618 776 select SYS_SUPPORTS_LITTLE_ENDIAN 619 777 select SYS_SUPPORTS_BIG_ENDIAN 620 - select TOSHIBA_BOARDS 621 778 select GENERIC_HARDIRQS_NO__DO_IRQ 622 779 623 780 config TOSHIBA_RBTX4927 ··· 632 791 select SYS_SUPPORTS_LITTLE_ENDIAN 633 792 select SYS_SUPPORTS_BIG_ENDIAN 634 793 select SYS_SUPPORTS_KGDB 635 - select TOSHIBA_BOARDS 636 794 select GENERIC_HARDIRQS_NO__DO_IRQ 637 795 help 638 796 This Toshiba board is based on the TX4927 processor. Say Y here to ··· 651 811 select SYS_SUPPORTS_LITTLE_ENDIAN 652 812 select SYS_SUPPORTS_BIG_ENDIAN 653 813 select SYS_SUPPORTS_KGDB 654 - select TOSHIBA_BOARDS 655 814 select GENERIC_HARDIRQS_NO__DO_IRQ 656 815 help 657 816 This Toshiba board is based on the TX4938 processor. Say Y here to ··· 658 819 659 820 endchoice 660 821 822 + source "arch/mips/au1000/Kconfig" 661 823 source "arch/mips/ddb5xxx/Kconfig" 662 824 source "arch/mips/gt64120/ev64120/Kconfig" 663 825 source "arch/mips/jazz/Kconfig" 664 826 source "arch/mips/lasat/Kconfig" 665 - source "arch/mips/momentum/Kconfig" 666 827 source "arch/mips/pmc-sierra/Kconfig" 667 828 source "arch/mips/sgi-ip27/Kconfig" 668 829 source "arch/mips/sibyte/Kconfig" ··· 762 923 config I8259 763 924 bool 764 925 765 - config LIMITED_DMA 766 - bool 767 - select HIGHMEM 768 - select SYS_SUPPORTS_HIGHMEM 769 - 770 926 config MIPS_BONITO64 771 927 bool 772 928 ··· 847 1013 config PCI_MARVELL 848 1014 bool 849 1015 850 - config SOC_AU1000 851 - bool 852 - select SOC_AU1X00 853 - 854 - config SOC_AU1100 855 - bool 856 - select SOC_AU1X00 857 - 858 - config SOC_AU1500 859 - bool 860 - select SOC_AU1X00 861 - 862 - config SOC_AU1550 863 - bool 864 - select SOC_AU1X00 865 - 866 - config SOC_AU1200 867 - bool 868 - select SOC_AU1X00 869 - 870 - config SOC_AU1X00 871 - bool 872 - select SYS_HAS_CPU_MIPS32_R1 873 - select SYS_SUPPORTS_32BIT_KERNEL 874 - select SYS_SUPPORTS_APM_EMULATION 875 - select SYS_SUPPORTS_KGDB 876 - 877 1016 config SERIAL_RM9000 878 1017 bool 879 1018 ··· 888 1081 choice 889 1082 prompt "Galileo Chip Clock" 890 1083 #default SYSCLK_83 if MIPS_EV64120 891 - depends on MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G 1084 + depends on MIPS_EV64120 || MOMENCO_OCELOT 892 1085 default SYSCLK_83 if MIPS_EV64120 893 - default SYSCLK_100 if MOMENCO_OCELOT || MOMENCO_OCELOT_G 1086 + default SYSCLK_100 if MOMENCO_OCELOT 894 1087 895 1088 config SYSCLK_75 896 1089 bool "75" if MIPS_EV64120 ··· 899 1092 bool "83.3" if MIPS_EV64120 900 1093 901 1094 config SYSCLK_100 902 - bool "100" if MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G 1095 + bool "100" if MIPS_EV64120 || MOMENCO_OCELOT 903 1096 904 1097 endchoice 905 1098 ··· 936 1129 bool 937 1130 938 1131 config BOOT_ELF64 939 - bool 940 - 941 - config TOSHIBA_BOARDS 942 1132 bool 943 1133 944 1134 menu "CPU selection" ··· 1361 1557 bool "Use 1 TC on each available VPE for SMP" 1362 1558 depends on SYS_SUPPORTS_MULTITHREADING 1363 1559 select CPU_MIPSR2_IRQ_VI 1560 + select CPU_MIPSR2_IRQ_EI 1364 1561 select CPU_MIPSR2_SRS 1365 1562 select MIPS_MT 1366 1563 select NR_CPUS_DEFAULT_2 ··· 1377 1572 #depends on CPU_MIPS64_R2 # once there is hardware ... 1378 1573 depends on SYS_SUPPORTS_MULTITHREADING 1379 1574 select CPU_MIPSR2_IRQ_VI 1575 + select CPU_MIPSR2_IRQ_EI 1380 1576 select CPU_MIPSR2_SRS 1381 1577 select MIPS_MT 1382 1578 select NR_CPUS_DEFAULT_8 ··· 1390 1584 config MIPS_VPE_LOADER 1391 1585 bool "VPE loader support." 1392 1586 depends on SYS_SUPPORTS_MULTITHREADING 1587 + select CPU_MIPSR2_IRQ_VI 1588 + select CPU_MIPSR2_IRQ_EI 1393 1589 select MIPS_MT 1394 1590 help 1395 1591 Includes a loader for loading an elf relocatable object
+22 -20
arch/mips/Makefile
··· 343 343 load-$(CONFIG_MOMENCO_OCELOT) += 0xffffffff80100000 344 344 345 345 # 346 - # Momentum Ocelot-G board 347 - # 348 - # The Ocelot-G setup.o must be linked early - it does the ioremap() for the 349 - # mips_io_port_base. 350 - # 351 - core-$(CONFIG_MOMENCO_OCELOT_G) += arch/mips/momentum/ocelot_g/ 352 - load-$(CONFIG_MOMENCO_OCELOT_G) += 0xffffffff80100000 353 - 354 - # 355 346 # Momentum Ocelot-C and -CS boards 356 347 # 357 348 # The Ocelot-C[S] setup.o must be linked early - it does the ioremap() for the ··· 377 386 core-$(CONFIG_BASLER_EXCITE) += arch/mips/basler/excite/ 378 387 cflags-$(CONFIG_BASLER_EXCITE) += -Iinclude/asm-mips/mach-excite 379 388 load-$(CONFIG_BASLER_EXCITE) += 0x80100000 380 - 381 - # 382 - # Momentum Jaguar ATX 383 - # 384 - core-$(CONFIG_MOMENCO_JAGUAR_ATX) += arch/mips/momentum/jaguar_atx/ 385 - cflags-$(CONFIG_MOMENCO_JAGUAR_ATX) += -Iinclude/asm-mips/mach-ja 386 - #ifdef CONFIG_JAGUAR_DMALOW 387 - #load-$(CONFIG_MOMENCO_JAGUAR_ATX) += 0xffffffff88000000 388 - #else 389 - load-$(CONFIG_MOMENCO_JAGUAR_ATX) += 0xffffffff80100000 390 - #endif 391 389 392 390 # 393 391 # NEC DDB ··· 709 729 CLEAN_FILES += vmlinux.32 \ 710 730 vmlinux.64 \ 711 731 vmlinux.ecoff 732 + 733 + quiet_cmd_syscalls_n32 = CALL-N32 $< 734 + cmd_syscalls_n32 = $(CONFIG_SHELL) $< $(CC) $(c_flags) -mabi=n32 735 + 736 + quiet_cmd_syscalls_o32 = CALL-O32 $< 737 + cmd_syscalls_o32 = $(CONFIG_SHELL) $< $(CC) $(c_flags) -mabi=32 738 + 739 + PHONY += missing-syscalls-n32 missing-syscalls-o32 740 + 741 + missing-syscalls-n32: scripts/checksyscalls.sh FORCE 742 + $(call cmd,syscalls_n32) 743 + 744 + missing-syscalls-o32: scripts/checksyscalls.sh FORCE 745 + $(call cmd,syscalls_o32) 746 + 747 + archprepare: 748 + ifdef CONFIG_MIPS32_N32 749 + $(Q)$(MAKE) $(build)=arch/mips missing-syscalls-n32 750 + endif 751 + ifdef CONFIG_MIPS32_O32 752 + $(Q)$(MAKE) $(build)=arch/mips missing-syscalls-o32 753 + endif
+142
arch/mips/au1000/Kconfig
··· 1 + choice 2 + prompt "Machine type" 3 + depends on MACH_ALCHEMY 4 + default MIPS_DB1000 5 + 6 + config MIPS_MTX1 7 + bool "4G Systems MTX-1 board" 8 + select DMA_NONCOHERENT 9 + select HW_HAS_PCI 10 + select RESOURCES_64BIT if PCI 11 + select SOC_AU1500 12 + select SYS_SUPPORTS_LITTLE_ENDIAN 13 + 14 + config MIPS_BOSPORUS 15 + bool "Alchemy Bosporus board" 16 + select SOC_AU1500 17 + select DMA_NONCOHERENT 18 + select SYS_SUPPORTS_LITTLE_ENDIAN 19 + 20 + config MIPS_DB1000 21 + bool "Alchemy DB1000 board" 22 + select SOC_AU1000 23 + select DMA_NONCOHERENT 24 + select HW_HAS_PCI 25 + select RESOURCES_64BIT if PCI 26 + select SYS_SUPPORTS_LITTLE_ENDIAN 27 + 28 + config MIPS_DB1100 29 + bool "Alchemy DB1100 board" 30 + select SOC_AU1100 31 + select DMA_NONCOHERENT 32 + select SYS_SUPPORTS_LITTLE_ENDIAN 33 + 34 + config MIPS_DB1200 35 + bool "Alchemy DB1200 board" 36 + select SOC_AU1200 37 + select DMA_COHERENT 38 + select MIPS_DISABLE_OBSOLETE_IDE 39 + select SYS_SUPPORTS_LITTLE_ENDIAN 40 + 41 + config MIPS_DB1500 42 + bool "Alchemy DB1500 board" 43 + select SOC_AU1500 44 + select DMA_NONCOHERENT 45 + select HW_HAS_PCI 46 + select MIPS_DISABLE_OBSOLETE_IDE 47 + select RESOURCES_64BIT if PCI 48 + select SYS_SUPPORTS_BIG_ENDIAN 49 + select SYS_SUPPORTS_LITTLE_ENDIAN 50 + 51 + config MIPS_DB1550 52 + bool "Alchemy DB1550 board" 53 + select SOC_AU1550 54 + select HW_HAS_PCI 55 + select DMA_NONCOHERENT 56 + select MIPS_DISABLE_OBSOLETE_IDE 57 + select RESOURCES_64BIT if PCI 58 + select SYS_SUPPORTS_LITTLE_ENDIAN 59 + 60 + config MIPS_MIRAGE 61 + bool "Alchemy Mirage board" 62 + select DMA_NONCOHERENT 63 + select SOC_AU1500 64 + select SYS_SUPPORTS_LITTLE_ENDIAN 65 + 66 + config MIPS_PB1000 67 + bool "Alchemy PB1000 board" 68 + select SOC_AU1000 69 + select DMA_NONCOHERENT 70 + select HW_HAS_PCI 71 + select RESOURCES_64BIT if PCI 72 + select SWAP_IO_SPACE 73 + select SYS_SUPPORTS_LITTLE_ENDIAN 74 + 75 + config MIPS_PB1100 76 + bool "Alchemy PB1100 board" 77 + select SOC_AU1100 78 + select DMA_NONCOHERENT 79 + select HW_HAS_PCI 80 + select RESOURCES_64BIT if PCI 81 + select SWAP_IO_SPACE 82 + select SYS_SUPPORTS_LITTLE_ENDIAN 83 + 84 + config MIPS_PB1200 85 + bool "Alchemy PB1200 board" 86 + select SOC_AU1200 87 + select DMA_NONCOHERENT 88 + select MIPS_DISABLE_OBSOLETE_IDE 89 + select RESOURCES_64BIT if PCI 90 + select SYS_SUPPORTS_LITTLE_ENDIAN 91 + 92 + config MIPS_PB1500 93 + bool "Alchemy PB1500 board" 94 + select SOC_AU1500 95 + select DMA_NONCOHERENT 96 + select HW_HAS_PCI 97 + select RESOURCES_64BIT if PCI 98 + select SYS_SUPPORTS_LITTLE_ENDIAN 99 + 100 + config MIPS_PB1550 101 + bool "Alchemy PB1550 board" 102 + select SOC_AU1550 103 + select DMA_NONCOHERENT 104 + select HW_HAS_PCI 105 + select MIPS_DISABLE_OBSOLETE_IDE 106 + select RESOURCES_64BIT if PCI 107 + select SYS_SUPPORTS_LITTLE_ENDIAN 108 + 109 + config MIPS_XXS1500 110 + bool "MyCable XXS1500 board" 111 + select DMA_NONCOHERENT 112 + select SOC_AU1500 113 + select SYS_SUPPORTS_LITTLE_ENDIAN 114 + 115 + endchoice 116 + 117 + config SOC_AU1000 118 + bool 119 + select SOC_AU1X00 120 + 121 + config SOC_AU1100 122 + bool 123 + select SOC_AU1X00 124 + 125 + config SOC_AU1500 126 + bool 127 + select SOC_AU1X00 128 + 129 + config SOC_AU1550 130 + bool 131 + select SOC_AU1X00 132 + 133 + config SOC_AU1200 134 + bool 135 + select SOC_AU1X00 136 + 137 + config SOC_AU1X00 138 + bool 139 + select SYS_HAS_CPU_MIPS32_R1 140 + select SYS_SUPPORTS_32BIT_KERNEL 141 + select SYS_SUPPORTS_APM_EMULATION 142 + select SYS_SUPPORTS_KGDB
+8 -8
arch/mips/basler/excite/excite_device.c
··· 68 68 69 69 70 70 static struct resource 71 - excite_ctr_resource __attribute__((unused)) = { 71 + excite_ctr_resource __maybe_unused = { 72 72 .name = "GPI counters", 73 73 .start = 0, 74 74 .end = 5, ··· 77 77 .sibling = NULL, 78 78 .child = NULL 79 79 }, 80 - excite_gpislice_resource __attribute__((unused)) = { 80 + excite_gpislice_resource __maybe_unused = { 81 81 .name = "GPI slices", 82 82 .start = 0, 83 83 .end = 1, ··· 86 86 .sibling = NULL, 87 87 .child = NULL 88 88 }, 89 - excite_mdio_channel_resource __attribute__((unused)) = { 89 + excite_mdio_channel_resource __maybe_unused = { 90 90 .name = "MDIO channels", 91 91 .start = 0, 92 92 .end = 1, ··· 95 95 .sibling = NULL, 96 96 .child = NULL 97 97 }, 98 - excite_fifomem_resource __attribute__((unused)) = { 98 + excite_fifomem_resource __maybe_unused = { 99 99 .name = "FIFO memory", 100 100 .start = 0, 101 101 .end = 767, ··· 104 104 .sibling = NULL, 105 105 .child = NULL 106 106 }, 107 - excite_scram_resource __attribute__((unused)) = { 107 + excite_scram_resource __maybe_unused = { 108 108 .name = "Scratch RAM", 109 109 .start = EXCITE_PHYS_SCRAM, 110 110 .end = EXCITE_PHYS_SCRAM + EXCITE_SIZE_SCRAM - 1, ··· 113 113 .sibling = NULL, 114 114 .child = NULL 115 115 }, 116 - excite_fpga_resource __attribute__((unused)) = { 116 + excite_fpga_resource __maybe_unused = { 117 117 .name = "System FPGA", 118 118 .start = EXCITE_PHYS_FPGA, 119 119 .end = EXCITE_PHYS_FPGA + EXCITE_SIZE_FPGA - 1, ··· 122 122 .sibling = NULL, 123 123 .child = NULL 124 124 }, 125 - excite_nand_resource __attribute__((unused)) = { 125 + excite_nand_resource __maybe_unused = { 126 126 .name = "NAND flash control", 127 127 .start = EXCITE_PHYS_NAND, 128 128 .end = EXCITE_PHYS_NAND + EXCITE_SIZE_NAND - 1, ··· 131 131 .sibling = NULL, 132 132 .child = NULL 133 133 }, 134 - excite_titan_resource __attribute__((unused)) = { 134 + excite_titan_resource __maybe_unused = { 135 135 .name = "TITAN registers", 136 136 .start = EXCITE_PHYS_TITAN, 137 137 .end = EXCITE_PHYS_TITAN + EXCITE_SIZE_TITAN - 1,
+1 -1
arch/mips/cobalt/Makefile
··· 2 2 # Makefile for the Cobalt micro systems family specific parts of the kernel 3 3 # 4 4 5 - obj-y := irq.o reset.o setup.o buttons.o 5 + obj-y := buttons.o irq.o reset.o rtc.o serial.o setup.o 6 6 7 7 obj-$(CONFIG_PCI) += pci.o 8 8 obj-$(CONFIG_EARLY_PRINTK) += console.o
+63
arch/mips/cobalt/rtc.c
··· 1 + /* 2 + * Registration of Cobalt RTC platform device. 3 + * 4 + * Copyright (C) 2007 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> 5 + * 6 + * This program is free software; you can redistribute it and/or modify 7 + * it under the terms of the GNU General Public License as published by 8 + * the Free Software Foundation; either version 2 of the License, or 9 + * (at your option) any later version. 10 + * 11 + * This program is distributed in the hope that it will be useful, 12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 + * GNU General Public License for more details. 15 + * 16 + * You should have received a copy of the GNU General Public License 17 + * along with this program; if not, write to the Free Software 18 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 + */ 20 + #include <linux/errno.h> 21 + #include <linux/init.h> 22 + #include <linux/ioport.h> 23 + #include <linux/platform_device.h> 24 + 25 + static struct resource cobalt_rtc_resource[] __initdata = { 26 + { 27 + .start = 0x70, 28 + .end = 0x77, 29 + .flags = IORESOURCE_IO, 30 + }, 31 + { 32 + .start = 8, 33 + .end = 8, 34 + .flags = IORESOURCE_IRQ, 35 + }, 36 + }; 37 + 38 + static __init int cobalt_rtc_add(void) 39 + { 40 + struct platform_device *pdev; 41 + int retval; 42 + 43 + pdev = platform_device_alloc("rtc_cmos", -1); 44 + if (!pdev) 45 + return -ENOMEM; 46 + 47 + retval = platform_device_add_resources(pdev, cobalt_rtc_resource, 48 + ARRAY_SIZE(cobalt_rtc_resource)); 49 + if (retval) 50 + goto err_free_device; 51 + 52 + retval = platform_device_add(pdev); 53 + if (retval) 54 + goto err_free_device; 55 + 56 + return 0; 57 + 58 + err_free_device: 59 + platform_device_put(pdev); 60 + 61 + return retval; 62 + } 63 + device_initcall(cobalt_rtc_add);
+85
arch/mips/cobalt/serial.c
··· 1 + /* 2 + * Registration of Cobalt UART platform device. 3 + * 4 + * Copyright (C) 2007 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> 5 + * 6 + * This program is free software; you can redistribute it and/or modify 7 + * it under the terms of the GNU General Public License as published by 8 + * the Free Software Foundation; either version 2 of the License, or 9 + * (at your option) any later version. 10 + * 11 + * This program is distributed in the hope that it will be useful, 12 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 + * GNU General Public License for more details. 15 + * 16 + * You should have received a copy of the GNU General Public License 17 + * along with this program; if not, write to the Free Software 18 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 + */ 20 + #include <linux/errno.h> 21 + #include <linux/init.h> 22 + #include <linux/ioport.h> 23 + #include <linux/platform_device.h> 24 + #include <linux/serial_8250.h> 25 + 26 + #include <cobalt.h> 27 + 28 + static struct resource cobalt_uart_resource[] __initdata = { 29 + { 30 + .start = 0x1c800000, 31 + .end = 0x1c800007, 32 + .flags = IORESOURCE_MEM, 33 + }, 34 + { 35 + .start = COBALT_SERIAL_IRQ, 36 + .end = COBALT_SERIAL_IRQ, 37 + .flags = IORESOURCE_IRQ, 38 + }, 39 + }; 40 + 41 + static struct plat_serial8250_port cobalt_serial8250_port[] = { 42 + { 43 + .irq = COBALT_SERIAL_IRQ, 44 + .uartclk = 18432000, 45 + .iotype = UPIO_MEM, 46 + .flags = UPF_IOREMAP | UPF_BOOT_AUTOCONF | UPF_SKIP_TEST, 47 + .mapbase = 0x1c800000, 48 + }, 49 + {}, 50 + }; 51 + 52 + static __init int cobalt_uart_add(void) 53 + { 54 + struct platform_device *pdev; 55 + int retval; 56 + 57 + /* 58 + * Cobalt Qube1 and RAQ1 have no UART. 59 + */ 60 + if (cobalt_board_id <= COBALT_BRD_ID_RAQ1) 61 + return 0; 62 + 63 + pdev = platform_device_alloc("serial8250", -1); 64 + if (!pdev) 65 + return -ENOMEM; 66 + 67 + pdev->id = PLAT8250_DEV_PLATFORM; 68 + pdev->dev.platform_data = cobalt_serial8250_port; 69 + 70 + retval = platform_device_add_resources(pdev, cobalt_uart_resource, ARRAY_SIZE(cobalt_uart_resource)); 71 + if (retval) 72 + goto err_free_device; 73 + 74 + retval = platform_device_add(pdev); 75 + if (retval) 76 + goto err_free_device; 77 + 78 + return 0; 79 + 80 + err_free_device: 81 + platform_device_put(pdev); 82 + 83 + return retval; 84 + } 85 + device_initcall(cobalt_uart_add);
-31
arch/mips/cobalt/setup.c
··· 10 10 * 11 11 */ 12 12 #include <linux/interrupt.h> 13 - #include <linux/pci.h> 14 13 #include <linux/init.h> 15 14 #include <linux/pm.h> 16 - #include <linux/serial.h> 17 - #include <linux/serial_core.h> 18 15 19 16 #include <asm/bootinfo.h> 20 17 #include <asm/time.h> ··· 24 27 extern void cobalt_machine_restart(char *command); 25 28 extern void cobalt_machine_halt(void); 26 29 extern void cobalt_machine_power_off(void); 27 - extern void cobalt_early_console(void); 28 - 29 - int cobalt_board_id; 30 30 31 31 const char *get_system_type(void) 32 32 { ··· 89 95 90 96 void __init plat_mem_setup(void) 91 97 { 92 - static struct uart_port uart; 93 - unsigned int devfn = PCI_DEVFN(COBALT_PCICONF_VIA, 0); 94 98 int i; 95 99 96 100 _machine_restart = cobalt_machine_restart; ··· 103 111 /* These resources have been reserved by VIA SuperI/O chip. */ 104 112 for (i = 0; i < ARRAY_SIZE(cobalt_reserved_resources); i++) 105 113 request_resource(&ioport_resource, cobalt_reserved_resources + i); 106 - 107 - /* Read the cobalt id register out of the PCI config space */ 108 - PCI_CFG_SET(devfn, (VIA_COBALT_BRD_ID_REG & ~0x3)); 109 - cobalt_board_id = GT_READ(GT_PCI0_CFGDATA_OFS); 110 - cobalt_board_id >>= ((VIA_COBALT_BRD_ID_REG & 3) * 8); 111 - cobalt_board_id = VIA_COBALT_BRD_REG_to_ID(cobalt_board_id); 112 - 113 - printk("Cobalt board ID: %d\n", cobalt_board_id); 114 - 115 - if (cobalt_board_id > COBALT_BRD_ID_RAQ1) { 116 - #ifdef CONFIG_SERIAL_8250 117 - uart.line = 0; 118 - uart.type = PORT_UNKNOWN; 119 - uart.uartclk = 18432000; 120 - uart.irq = COBALT_SERIAL_IRQ; 121 - uart.flags = UPF_IOREMAP | UPF_BOOT_AUTOCONF | 122 - UPF_SKIP_TEST; 123 - uart.iotype = UPIO_MEM; 124 - uart.mapbase = 0x1c800000; 125 - 126 - early_serial_setup(&uart); 127 - #endif 128 - } 129 114 } 130 115 131 116 /*
+38 -11
arch/mips/configs/cobalt_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.20 4 - # Tue Feb 20 21:47:24 2007 3 + # Linux kernel version: 2.6.21-rc7 4 + # Wed Apr 18 14:25:45 2007 5 5 # 6 6 CONFIG_MIPS=y 7 7 ··· 62 62 # CONFIG_TOSHIBA_JMR3927 is not set 63 63 # CONFIG_TOSHIBA_RBTX4927 is not set 64 64 # CONFIG_TOSHIBA_RBTX4938 is not set 65 - CONFIG_EARLY_PRINTK=y 66 65 CONFIG_RWSEM_GENERIC_SPINLOCK=y 67 66 # CONFIG_ARCH_HAS_ILOG2_U32 is not set 68 67 # CONFIG_ARCH_HAS_ILOG2_U64 is not set ··· 73 74 CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 74 75 CONFIG_DMA_NONCOHERENT=y 75 76 CONFIG_DMA_NEED_PCI_MAP_STATE=y 77 + CONFIG_EARLY_PRINTK=y 78 + CONFIG_SYS_HAS_EARLY_PRINTK=y 76 79 CONFIG_I8259=y 77 80 # CONFIG_CPU_BIG_ENDIAN is not set 78 81 CONFIG_CPU_LITTLE_ENDIAN=y 79 82 CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y 80 83 CONFIG_IRQ_CPU=y 81 - CONFIG_MIPS_GT64111=y 84 + CONFIG_PCI_GT64XXX_PCI0=y 82 85 CONFIG_MIPS_L1_CACHE_SHIFT=5 83 86 84 87 # ··· 180 179 # CONFIG_IKCONFIG is not set 181 180 CONFIG_SYSFS_DEPRECATED=y 182 181 CONFIG_RELAY=y 182 + # CONFIG_BLK_DEV_INITRD is not set 183 183 # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 184 184 CONFIG_SYSCTL=y 185 185 CONFIG_EMBEDDED=y ··· 479 477 # CONFIG_BLK_DEV_NBD is not set 480 478 # CONFIG_BLK_DEV_SX8 is not set 481 479 # CONFIG_BLK_DEV_RAM is not set 482 - # CONFIG_BLK_DEV_INITRD is not set 483 480 CONFIG_CDROM_PKTCDVD=y 484 481 CONFIG_CDROM_PKTCDVD_BUFFERS=8 485 482 # CONFIG_CDROM_PKTCDVD_WCACHE is not set ··· 519 518 # CONFIG_BLK_DEV_OPTI621 is not set 520 519 CONFIG_BLK_DEV_IDEDMA_PCI=y 521 520 # CONFIG_BLK_DEV_IDEDMA_FORCED is not set 522 - # CONFIG_IDEDMA_PCI_AUTO is not set 521 + # CONFIG_IDEDMA_ONLYDISK is not set 523 522 # CONFIG_BLK_DEV_AEC62XX is not set 524 523 # CONFIG_BLK_DEV_ALI15X3 is not set 525 524 # CONFIG_BLK_DEV_AMD74XX is not set ··· 547 546 # CONFIG_IDE_ARM is not set 548 547 CONFIG_BLK_DEV_IDEDMA=y 549 548 # CONFIG_IDEDMA_IVB is not set 550 - # CONFIG_IDEDMA_AUTO is not set 551 549 # CONFIG_BLK_DEV_HD is not set 552 550 553 551 # ··· 779 779 # 780 780 # CONFIG_WATCHDOG is not set 781 781 # CONFIG_HW_RANDOM is not set 782 - CONFIG_RTC=y 782 + # CONFIG_RTC is not set 783 + # CONFIG_GEN_RTC is not set 783 784 CONFIG_COBALT_LCD=y 784 785 # CONFIG_DTLK is not set 785 786 # CONFIG_R3964 is not set ··· 816 815 # CONFIG_HWMON_VID is not set 817 816 818 817 # 818 + # Multifunction device drivers 819 + # 820 + # CONFIG_MFD_SM501 is not set 821 + 822 + # 819 823 # Multimedia devices 820 824 # 821 825 # CONFIG_VIDEO_DEV is not set ··· 833 827 # 834 828 # Graphics support 835 829 # 836 - # CONFIG_FIRMWARE_EDID is not set 830 + # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 837 831 # CONFIG_FB is not set 838 832 839 833 # ··· 841 835 # 842 836 # CONFIG_VGA_CONSOLE is not set 843 837 CONFIG_DUMMY_CONSOLE=y 844 - # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 845 838 846 839 # 847 840 # Sound ··· 899 894 # 900 895 # Real Time Clock 901 896 # 902 - # CONFIG_RTC_CLASS is not set 897 + CONFIG_RTC_LIB=y 898 + CONFIG_RTC_CLASS=y 899 + CONFIG_RTC_HCTOSYS=y 900 + CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 901 + # CONFIG_RTC_DEBUG is not set 902 + 903 + # 904 + # RTC interfaces 905 + # 906 + CONFIG_RTC_INTF_SYSFS=y 907 + CONFIG_RTC_INTF_PROC=y 908 + CONFIG_RTC_INTF_DEV=y 909 + # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set 910 + 911 + # 912 + # RTC drivers 913 + # 914 + CONFIG_RTC_DRV_CMOS=y 915 + # CONFIG_RTC_DRV_DS1553 is not set 916 + # CONFIG_RTC_DRV_DS1742 is not set 917 + # CONFIG_RTC_DRV_M48T86 is not set 918 + # CONFIG_RTC_DRV_TEST is not set 919 + # CONFIG_RTC_DRV_V3020 is not set 903 920 904 921 # 905 922 # DMA Engine support
+1
arch/mips/configs/db1000_defconfig
··· 9 9 # Machine selection 10 10 # 11 11 CONFIG_ZONE_DMA=y 12 + CONFIG_MACH_ALCHEMY=y 12 13 # CONFIG_MIPS_MTX1 is not set 13 14 # CONFIG_MIPS_BOSPORUS is not set 14 15 # CONFIG_MIPS_PB1000 is not set
+1
arch/mips/configs/db1100_defconfig
··· 9 9 # Machine selection 10 10 # 11 11 CONFIG_ZONE_DMA=y 12 + CONFIG_MACH_ALCHEMY=y 12 13 # CONFIG_MIPS_MTX1 is not set 13 14 # CONFIG_MIPS_BOSPORUS is not set 14 15 # CONFIG_MIPS_PB1000 is not set
+1
arch/mips/configs/db1200_defconfig
··· 9 9 # Machine selection 10 10 # 11 11 CONFIG_ZONE_DMA=y 12 + CONFIG_MACH_ALCHEMY=y 12 13 # CONFIG_MIPS_MTX1 is not set 13 14 # CONFIG_MIPS_BOSPORUS is not set 14 15 # CONFIG_MIPS_PB1000 is not set
+1
arch/mips/configs/db1500_defconfig
··· 9 9 # Machine selection 10 10 # 11 11 CONFIG_ZONE_DMA=y 12 + CONFIG_MACH_ALCHEMY=y 12 13 # CONFIG_MIPS_MTX1 is not set 13 14 # CONFIG_MIPS_BOSPORUS is not set 14 15 # CONFIG_MIPS_PB1000 is not set
+1
arch/mips/configs/db1550_defconfig
··· 9 9 # Machine selection 10 10 # 11 11 CONFIG_ZONE_DMA=y 12 + CONFIG_MACH_ALCHEMY=y 12 13 # CONFIG_MIPS_MTX1 is not set 13 14 # CONFIG_MIPS_BOSPORUS is not set 14 15 # CONFIG_MIPS_PB1000 is not set
+207 -202
arch/mips/configs/jaguar-atx_defconfig arch/mips/configs/rbhma4200_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.20 4 - # Tue Feb 20 21:47:33 2007 3 + # Linux kernel version: 2.6.21 4 + # Wed May 9 23:44:19 2007 5 5 # 6 6 CONFIG_MIPS=y 7 7 8 8 # 9 9 # Machine selection 10 10 # 11 - CONFIG_ZONE_DMA=y 12 11 # CONFIG_MIPS_MTX1 is not set 13 12 # CONFIG_MIPS_BOSPORUS is not set 14 13 # CONFIG_MIPS_PB1000 is not set ··· 32 33 # CONFIG_MIPS_SEAD is not set 33 34 # CONFIG_WR_PPMC is not set 34 35 # CONFIG_MIPS_SIM is not set 35 - CONFIG_MOMENCO_JAGUAR_ATX=y 36 36 # CONFIG_MOMENCO_OCELOT is not set 37 37 # CONFIG_MOMENCO_OCELOT_3 is not set 38 38 # CONFIG_MOMENCO_OCELOT_C is not set 39 - # CONFIG_MOMENCO_OCELOT_G is not set 40 39 # CONFIG_MIPS_XXS1500 is not set 41 40 # CONFIG_PNX8550_JBS is not set 42 41 # CONFIG_PNX8550_STB810 is not set ··· 57 60 # CONFIG_SIBYTE_CRHONE is not set 58 61 # CONFIG_SNI_RM is not set 59 62 # CONFIG_TOSHIBA_JMR3927 is not set 60 - # CONFIG_TOSHIBA_RBTX4927 is not set 63 + CONFIG_TOSHIBA_RBTX4927=y 61 64 # CONFIG_TOSHIBA_RBTX4938 is not set 62 - CONFIG_JAGUAR_DMALOW=y 65 + # CONFIG_TOSHIBA_FPCIB0 is not set 63 66 CONFIG_RWSEM_GENERIC_SPINLOCK=y 64 67 # CONFIG_ARCH_HAS_ILOG2_U32 is not set 65 68 # CONFIG_ARCH_HAS_ILOG2_U64 is not set ··· 68 71 CONFIG_GENERIC_CALIBRATE_DELAY=y 69 72 CONFIG_GENERIC_TIME=y 70 73 CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y 71 - # CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ is not set 74 + CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 72 75 CONFIG_DMA_NONCOHERENT=y 73 76 CONFIG_DMA_NEED_PCI_MAP_STATE=y 74 - CONFIG_LIMITED_DMA=y 77 + CONFIG_I8259=y 75 78 CONFIG_CPU_BIG_ENDIAN=y 76 79 # CONFIG_CPU_LITTLE_ENDIAN is not set 77 80 CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y 78 - CONFIG_IRQ_CPU=y 79 - CONFIG_IRQ_CPU_RM7K=y 80 - CONFIG_IRQ_MV64340=y 81 - CONFIG_PCI_MARVELL=y 81 + CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y 82 82 CONFIG_SWAP_IO_SPACE=y 83 - CONFIG_BOOT_ELF32=y 84 83 CONFIG_MIPS_L1_CACHE_SHIFT=5 85 84 86 85 # ··· 91 98 # CONFIG_CPU_VR41XX is not set 92 99 # CONFIG_CPU_R4300 is not set 93 100 # CONFIG_CPU_R4X00 is not set 94 - # CONFIG_CPU_TX49XX is not set 101 + CONFIG_CPU_TX49XX=y 95 102 # CONFIG_CPU_R5000 is not set 96 103 # CONFIG_CPU_R5432 is not set 97 104 # CONFIG_CPU_R6000 is not set ··· 99 106 # CONFIG_CPU_R8000 is not set 100 107 # CONFIG_CPU_R10000 is not set 101 108 # CONFIG_CPU_RM7000 is not set 102 - CONFIG_CPU_RM9000=y 109 + # CONFIG_CPU_RM9000 is not set 103 110 # CONFIG_CPU_SB1 is not set 104 - CONFIG_SYS_HAS_CPU_RM9000=y 105 - CONFIG_WEAK_ORDERING=y 111 + CONFIG_SYS_HAS_CPU_TX49XX=y 106 112 CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y 107 113 CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y 108 114 CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y ··· 116 124 # CONFIG_PAGE_SIZE_8KB is not set 117 125 # CONFIG_PAGE_SIZE_16KB is not set 118 126 # CONFIG_PAGE_SIZE_64KB is not set 119 - CONFIG_BOARD_SCACHE=y 120 - CONFIG_RM7000_CPU_SCACHE=y 121 127 CONFIG_CPU_HAS_PREFETCH=y 122 128 CONFIG_MIPS_MT_DISABLED=y 123 129 # CONFIG_MIPS_MT_SMP is not set 124 130 # CONFIG_MIPS_MT_SMTC is not set 125 131 # CONFIG_MIPS_VPE_LOADER is not set 126 - # CONFIG_64BIT_PHYS_ADDR is not set 127 132 CONFIG_CPU_HAS_LLSC=y 128 133 CONFIG_CPU_HAS_SYNC=y 129 134 CONFIG_GENERIC_HARDIRQS=y 130 135 CONFIG_GENERIC_IRQ_PROBE=y 131 - CONFIG_HIGHMEM=y 132 - CONFIG_CPU_SUPPORTS_HIGHMEM=y 133 - CONFIG_SYS_SUPPORTS_HIGHMEM=y 134 136 CONFIG_ARCH_FLATMEM_ENABLE=y 137 + CONFIG_SELECT_MEMORY_MODEL=y 138 + CONFIG_FLATMEM_MANUAL=y 139 + # CONFIG_DISCONTIGMEM_MANUAL is not set 140 + # CONFIG_SPARSEMEM_MANUAL is not set 135 141 CONFIG_FLATMEM=y 136 142 CONFIG_FLAT_NODE_MEM_MAP=y 137 143 # CONFIG_SPARSEMEM_STATIC is not set 138 144 CONFIG_SPLIT_PTLOCK_CPUS=4 139 145 # CONFIG_RESOURCES_64BIT is not set 140 - CONFIG_ZONE_DMA_FLAG=1 146 + CONFIG_ZONE_DMA_FLAG=0 141 147 # CONFIG_HZ_48 is not set 142 148 # CONFIG_HZ_100 is not set 143 149 # CONFIG_HZ_128 is not set 144 - # CONFIG_HZ_250 is not set 150 + CONFIG_HZ_250=y 145 151 # CONFIG_HZ_256 is not set 146 - CONFIG_HZ_1000=y 152 + # CONFIG_HZ_1000 is not set 147 153 # CONFIG_HZ_1024 is not set 148 154 CONFIG_SYS_SUPPORTS_ARBIT_HZ=y 149 - CONFIG_HZ=1000 155 + CONFIG_HZ=250 150 156 CONFIG_PREEMPT_NONE=y 151 157 # CONFIG_PREEMPT_VOLUNTARY is not set 152 158 # CONFIG_PREEMPT is not set 159 + # CONFIG_KEXEC is not set 153 160 CONFIG_LOCKDEP_SUPPORT=y 154 161 CONFIG_STACKTRACE_SUPPORT=y 155 162 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" ··· 156 165 # 157 166 # Code maturity level options 158 167 # 159 - # CONFIG_EXPERIMENTAL is not set 168 + CONFIG_EXPERIMENTAL=y 160 169 CONFIG_BROKEN_ON_SMP=y 161 170 CONFIG_INIT_ENV_ARG_LIMIT=32 162 171 ··· 169 178 CONFIG_SYSVIPC=y 170 179 # CONFIG_IPC_NS is not set 171 180 CONFIG_SYSVIPC_SYSCTL=y 181 + # CONFIG_POSIX_MQUEUE is not set 172 182 # CONFIG_BSD_PROCESS_ACCT is not set 173 183 # CONFIG_TASKSTATS is not set 174 184 # CONFIG_UTS_NS is not set 175 185 # CONFIG_AUDIT is not set 176 186 CONFIG_IKCONFIG=y 177 187 CONFIG_IKCONFIG_PROC=y 188 + CONFIG_LOG_BUF_SHIFT=14 178 189 CONFIG_SYSFS_DEPRECATED=y 179 - CONFIG_RELAY=y 190 + # CONFIG_RELAY is not set 191 + CONFIG_BLK_DEV_INITRD=y 192 + CONFIG_INITRAMFS_SOURCE="" 193 + CONFIG_CC_OPTIMIZE_FOR_SIZE=y 180 194 CONFIG_SYSCTL=y 181 195 CONFIG_EMBEDDED=y 182 196 CONFIG_SYSCTL_SYSCALL=y 183 197 CONFIG_KALLSYMS=y 184 198 # CONFIG_KALLSYMS_EXTRA_PASS is not set 185 - CONFIG_HOTPLUG=y 199 + # CONFIG_HOTPLUG is not set 186 200 CONFIG_PRINTK=y 187 201 CONFIG_BUG=y 188 202 CONFIG_ELF_CORE=y 189 203 CONFIG_BASE_FULL=y 190 - CONFIG_FUTEX=y 191 - CONFIG_EPOLL=y 204 + # CONFIG_FUTEX is not set 205 + # CONFIG_EPOLL is not set 192 206 CONFIG_SHMEM=y 193 - CONFIG_SLAB=y 194 207 CONFIG_VM_EVENT_COUNTERS=y 195 - CONFIG_RT_MUTEXES=y 208 + CONFIG_SLAB=y 209 + # CONFIG_SLUB is not set 210 + # CONFIG_SLOB is not set 196 211 # CONFIG_TINY_SHMEM is not set 197 212 CONFIG_BASE_SMALL=0 198 - # CONFIG_SLOB is not set 199 213 200 214 # 201 215 # Loadable module support 202 216 # 203 217 CONFIG_MODULES=y 204 - CONFIG_MODULE_UNLOAD=y 218 + # CONFIG_MODULE_UNLOAD is not set 205 219 # CONFIG_MODVERSIONS is not set 206 - CONFIG_MODULE_SRCVERSION_ALL=y 220 + # CONFIG_MODULE_SRCVERSION_ALL is not set 207 221 CONFIG_KMOD=y 208 222 209 223 # ··· 237 241 # 238 242 CONFIG_HW_HAS_PCI=y 239 243 CONFIG_PCI=y 244 + # CONFIG_ARCH_SUPPORTS_MSI is not set 240 245 CONFIG_MMU=y 241 246 242 247 # 243 248 # PCCARD (PCMCIA/CardBus) support 244 - # 245 - # CONFIG_PCCARD is not set 246 - 247 - # 248 - # PCI Hotplug Support 249 249 # 250 250 251 251 # ··· 254 262 # 255 263 # Power management options 256 264 # 257 - CONFIG_PM=y 258 - # CONFIG_PM_LEGACY is not set 259 - # CONFIG_PM_DEBUG is not set 260 - # CONFIG_PM_SYSFS_DEPRECATED is not set 265 + # CONFIG_PM is not set 261 266 262 267 # 263 268 # Networking ··· 264 275 # 265 276 # Networking options 266 277 # 267 - # CONFIG_NETDEBUG is not set 268 - # CONFIG_PACKET is not set 278 + CONFIG_PACKET=y 279 + # CONFIG_PACKET_MMAP is not set 269 280 CONFIG_UNIX=y 270 - CONFIG_XFRM=y 271 - CONFIG_XFRM_USER=m 272 281 # CONFIG_NET_KEY is not set 273 282 CONFIG_INET=y 274 - # CONFIG_IP_MULTICAST is not set 283 + CONFIG_IP_MULTICAST=y 275 284 # CONFIG_IP_ADVANCED_ROUTER is not set 276 285 CONFIG_IP_FIB_HASH=y 277 286 CONFIG_IP_PNP=y 278 287 # CONFIG_IP_PNP_DHCP is not set 279 - CONFIG_IP_PNP_BOOTP=y 288 + # CONFIG_IP_PNP_BOOTP is not set 280 289 # CONFIG_IP_PNP_RARP is not set 281 290 # CONFIG_NET_IPIP is not set 282 291 # CONFIG_NET_IPGRE is not set 292 + # CONFIG_IP_MROUTE is not set 293 + # CONFIG_ARPD is not set 283 294 # CONFIG_SYN_COOKIES is not set 284 295 # CONFIG_INET_AH is not set 285 296 # CONFIG_INET_ESP is not set 286 297 # CONFIG_INET_IPCOMP is not set 287 298 # CONFIG_INET_XFRM_TUNNEL is not set 288 - CONFIG_INET_TUNNEL=m 289 - CONFIG_INET_XFRM_MODE_TRANSPORT=m 290 - CONFIG_INET_XFRM_MODE_TUNNEL=m 291 - CONFIG_INET_XFRM_MODE_BEET=m 299 + # CONFIG_INET_TUNNEL is not set 300 + # CONFIG_INET_XFRM_MODE_TRANSPORT is not set 301 + # CONFIG_INET_XFRM_MODE_TUNNEL is not set 302 + # CONFIG_INET_XFRM_MODE_BEET is not set 292 303 CONFIG_INET_DIAG=y 293 304 CONFIG_INET_TCP_DIAG=y 294 305 # CONFIG_TCP_CONG_ADVANCED is not set 295 306 CONFIG_TCP_CONG_CUBIC=y 296 307 CONFIG_DEFAULT_TCP_CONG="cubic" 297 - CONFIG_IPV6=m 298 - CONFIG_IPV6_PRIVACY=y 299 - CONFIG_IPV6_ROUTER_PREF=y 300 - CONFIG_INET6_AH=m 301 - CONFIG_INET6_ESP=m 302 - CONFIG_INET6_IPCOMP=m 303 - CONFIG_INET6_XFRM_TUNNEL=m 304 - CONFIG_INET6_TUNNEL=m 305 - CONFIG_INET6_XFRM_MODE_TRANSPORT=m 306 - CONFIG_INET6_XFRM_MODE_TUNNEL=m 307 - CONFIG_INET6_XFRM_MODE_BEET=m 308 - CONFIG_IPV6_SIT=m 309 - CONFIG_IPV6_TUNNEL=m 310 - CONFIG_NETWORK_SECMARK=y 308 + # CONFIG_TCP_MD5SIG is not set 309 + # CONFIG_IPV6 is not set 310 + # CONFIG_INET6_XFRM_TUNNEL is not set 311 + # CONFIG_INET6_TUNNEL is not set 312 + # CONFIG_NETWORK_SECMARK is not set 311 313 # CONFIG_NETFILTER is not set 314 + 315 + # 316 + # DCCP Configuration (EXPERIMENTAL) 317 + # 318 + # CONFIG_IP_DCCP is not set 319 + 320 + # 321 + # SCTP Configuration (EXPERIMENTAL) 322 + # 323 + # CONFIG_IP_SCTP is not set 324 + 325 + # 326 + # TIPC Configuration (EXPERIMENTAL) 327 + # 328 + # CONFIG_TIPC is not set 329 + # CONFIG_ATM is not set 312 330 # CONFIG_BRIDGE is not set 313 331 # CONFIG_VLAN_8021Q is not set 314 332 # CONFIG_DECNET is not set 315 333 # CONFIG_LLC2 is not set 316 334 # CONFIG_IPX is not set 317 335 # CONFIG_ATALK is not set 336 + # CONFIG_X25 is not set 337 + # CONFIG_LAPB is not set 338 + # CONFIG_ECONET is not set 339 + # CONFIG_WAN_ROUTER is not set 318 340 319 341 # 320 342 # QoS and/or fair queueing ··· 339 339 # CONFIG_HAMRADIO is not set 340 340 # CONFIG_IRDA is not set 341 341 # CONFIG_BT is not set 342 - CONFIG_IEEE80211=m 343 - # CONFIG_IEEE80211_DEBUG is not set 344 - CONFIG_IEEE80211_CRYPT_WEP=m 345 - CONFIG_IEEE80211_CRYPT_CCMP=m 342 + # CONFIG_AF_RXRPC is not set 343 + 344 + # 345 + # Wireless 346 + # 347 + # CONFIG_CFG80211 is not set 348 + # CONFIG_WIRELESS_EXT is not set 349 + # CONFIG_MAC80211 is not set 350 + # CONFIG_IEEE80211 is not set 351 + # CONFIG_RFKILL is not set 346 352 347 353 # 348 354 # Device Drivers ··· 359 353 # 360 354 CONFIG_STANDALONE=y 361 355 CONFIG_PREVENT_FIRMWARE_BUILD=y 362 - CONFIG_FW_LOADER=m 363 356 # CONFIG_SYS_HYPERVISOR is not set 364 357 365 358 # 366 359 # Connector - unified userspace <-> kernelspace linker 367 360 # 368 - CONFIG_CONNECTOR=m 369 - 370 - # 371 - # Memory Technology Devices (MTD) 372 - # 361 + # CONFIG_CONNECTOR is not set 373 362 # CONFIG_MTD is not set 374 363 375 364 # ··· 383 382 # CONFIG_BLK_CPQ_DA is not set 384 383 # CONFIG_BLK_CPQ_CISS_DA is not set 385 384 # CONFIG_BLK_DEV_DAC960 is not set 385 + # CONFIG_BLK_DEV_UMEM is not set 386 386 # CONFIG_BLK_DEV_COW_COMMON is not set 387 - # CONFIG_BLK_DEV_LOOP is not set 387 + CONFIG_BLK_DEV_LOOP=y 388 + # CONFIG_BLK_DEV_CRYPTOLOOP is not set 388 389 # CONFIG_BLK_DEV_NBD is not set 389 390 # CONFIG_BLK_DEV_SX8 is not set 390 - # CONFIG_BLK_DEV_RAM is not set 391 - # CONFIG_BLK_DEV_INITRD is not set 392 - CONFIG_CDROM_PKTCDVD=m 393 - CONFIG_CDROM_PKTCDVD_BUFFERS=8 394 - CONFIG_ATA_OVER_ETH=m 391 + CONFIG_BLK_DEV_RAM=y 392 + CONFIG_BLK_DEV_RAM_COUNT=16 393 + CONFIG_BLK_DEV_RAM_SIZE=8192 394 + CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 395 + # CONFIG_CDROM_PKTCDVD is not set 396 + # CONFIG_ATA_OVER_ETH is not set 395 397 396 398 # 397 399 # Misc devices 398 400 # 399 - CONFIG_SGI_IOC4=m 401 + # CONFIG_PHANTOM is not set 402 + # CONFIG_SGI_IOC4 is not set 403 + # CONFIG_TIFM_CORE is not set 404 + # CONFIG_BLINK is not set 400 405 401 406 # 402 407 # ATA/ATAPI/MFM/RLL support ··· 412 405 # 413 406 # SCSI device support 414 407 # 415 - CONFIG_RAID_ATTRS=m 408 + # CONFIG_RAID_ATTRS is not set 416 409 # CONFIG_SCSI is not set 417 410 # CONFIG_SCSI_NETLINK is not set 418 411 ··· 458 451 # 459 452 # PHY device support 460 453 # 461 - CONFIG_PHYLIB=m 462 - 463 - # 464 - # MII PHY device drivers 465 - # 466 - CONFIG_MARVELL_PHY=m 467 - CONFIG_DAVICOM_PHY=m 468 - CONFIG_QSEMI_PHY=m 469 - CONFIG_LXT_PHY=m 470 - CONFIG_CICADA_PHY=m 471 - CONFIG_VITESSE_PHY=m 472 - CONFIG_SMSC_PHY=m 473 - # CONFIG_BROADCOM_PHY is not set 474 - # CONFIG_FIXED_PHY is not set 454 + # CONFIG_PHYLIB is not set 475 455 476 456 # 477 457 # Ethernet (10 or 100Mbit) 478 458 # 479 459 CONFIG_NET_ETHERNET=y 480 - CONFIG_MII=y 460 + # CONFIG_MII is not set 481 461 # CONFIG_HAPPYMEAL is not set 482 462 # CONFIG_SUNGEM is not set 483 463 # CONFIG_CASSINI is not set ··· 476 482 # 477 483 # CONFIG_NET_TULIP is not set 478 484 # CONFIG_HP100 is not set 479 - CONFIG_NET_PCI=y 480 - # CONFIG_PCNET32 is not set 481 - # CONFIG_AMD8111_ETH is not set 482 - # CONFIG_ADAPTEC_STARFIRE is not set 483 - # CONFIG_B44 is not set 484 - # CONFIG_FORCEDETH is not set 485 - # CONFIG_DGRS is not set 486 - CONFIG_EEPRO100=y 487 - # CONFIG_E100 is not set 488 - # CONFIG_FEALNX is not set 489 - # CONFIG_NATSEMI is not set 490 - # CONFIG_NE2K_PCI is not set 491 - # CONFIG_8139TOO is not set 492 - # CONFIG_SIS900 is not set 493 - # CONFIG_EPIC100 is not set 494 - # CONFIG_SUNDANCE is not set 495 - # CONFIG_TLAN is not set 496 - # CONFIG_VIA_RHINE is not set 485 + CONFIG_NE2000=y 486 + # CONFIG_NET_PCI is not set 497 487 498 488 # 499 489 # Ethernet (1000 Mbit) ··· 487 509 # CONFIG_E1000 is not set 488 510 # CONFIG_NS83820 is not set 489 511 # CONFIG_HAMACHI is not set 512 + # CONFIG_YELLOWFIN is not set 490 513 # CONFIG_R8169 is not set 491 514 # CONFIG_SIS190 is not set 492 515 # CONFIG_SKGE is not set 493 516 # CONFIG_SKY2 is not set 494 517 # CONFIG_SK98LIN is not set 495 - # CONFIG_VIA_VELOCITY is not set 496 518 # CONFIG_TIGON3 is not set 497 519 # CONFIG_BNX2 is not set 498 - CONFIG_MV643XX_ETH=y 499 - CONFIG_QLA3XXX=m 520 + # CONFIG_QLA3XXX is not set 521 + # CONFIG_ATL1 is not set 500 522 501 523 # 502 524 # Ethernet (10000 Mbit) 503 525 # 504 526 # CONFIG_CHELSIO_T1 is not set 505 - CONFIG_CHELSIO_T3=m 527 + # CONFIG_CHELSIO_T3 is not set 506 528 # CONFIG_IXGB is not set 507 529 # CONFIG_S2IO is not set 508 530 # CONFIG_MYRI10GE is not set 509 - CONFIG_NETXEN_NIC=m 531 + # CONFIG_NETXEN_NIC is not set 510 532 511 533 # 512 534 # Token Ring devices ··· 514 536 # CONFIG_TR is not set 515 537 516 538 # 517 - # Wireless LAN (non-hamradio) 539 + # Wireless LAN 518 540 # 519 - # CONFIG_NET_RADIO is not set 541 + # CONFIG_WLAN_PRE80211 is not set 542 + # CONFIG_WLAN_80211 is not set 520 543 521 544 # 522 545 # Wan interfaces 523 546 # 524 547 # CONFIG_WAN is not set 525 548 # CONFIG_FDDI is not set 549 + # CONFIG_HIPPI is not set 526 550 # CONFIG_PPP is not set 527 551 # CONFIG_SLIP is not set 552 + # CONFIG_SHAPER is not set 553 + # CONFIG_NETCONSOLE is not set 528 554 # CONFIG_NETPOLL is not set 529 555 # CONFIG_NET_POLL_CONTROLLER is not set 530 556 ··· 550 568 # 551 569 # Hardware I/O ports 552 570 # 553 - # CONFIG_SERIO is not set 571 + CONFIG_SERIO=y 572 + # CONFIG_SERIO_I8042 is not set 573 + CONFIG_SERIO_SERPORT=y 574 + # CONFIG_SERIO_PCIPS2 is not set 575 + CONFIG_SERIO_LIBPS2=y 576 + # CONFIG_SERIO_RAW is not set 554 577 # CONFIG_GAMEPORT is not set 555 578 556 579 # ··· 567 580 # 568 581 # Serial drivers 569 582 # 570 - CONFIG_SERIAL_8250=y 571 - CONFIG_SERIAL_8250_CONSOLE=y 572 - CONFIG_SERIAL_8250_PCI=y 573 - CONFIG_SERIAL_8250_NR_UARTS=4 574 - CONFIG_SERIAL_8250_RUNTIME_UARTS=4 575 - # CONFIG_SERIAL_8250_EXTENDED is not set 583 + # CONFIG_SERIAL_8250 is not set 576 584 577 585 # 578 586 # Non-8250 serial port support 579 587 # 580 588 CONFIG_SERIAL_CORE=y 581 589 CONFIG_SERIAL_CORE_CONSOLE=y 590 + CONFIG_SERIAL_TXX9=y 591 + CONFIG_HAS_TXX9_SERIAL=y 592 + CONFIG_SERIAL_TXX9_NR_UARTS=6 593 + CONFIG_SERIAL_TXX9_CONSOLE=y 594 + CONFIG_SERIAL_TXX9_STDSERIAL=y 582 595 # CONFIG_SERIAL_JSM is not set 583 596 CONFIG_UNIX98_PTYS=y 584 597 CONFIG_LEGACY_PTYS=y ··· 605 618 # 606 619 # TPM devices 607 620 # 608 - 609 - # 610 - # I2C support 611 - # 621 + # CONFIG_TCG_TPM is not set 622 + CONFIG_DEVPORT=y 612 623 # CONFIG_I2C is not set 613 624 614 625 # ··· 619 634 # Dallas's 1-wire bus 620 635 # 621 636 # CONFIG_W1 is not set 637 + # CONFIG_HWMON is not set 622 638 623 639 # 624 - # Hardware Monitoring support 640 + # Multifunction device drivers 625 641 # 626 - # CONFIG_HWMON is not set 627 - # CONFIG_HWMON_VID is not set 642 + # CONFIG_MFD_SM501 is not set 628 643 629 644 # 630 645 # Multimedia devices ··· 639 654 # 640 655 # Graphics support 641 656 # 642 - # CONFIG_FIRMWARE_EDID is not set 643 - # CONFIG_FB is not set 644 657 # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 658 + 659 + # 660 + # Display device support 661 + # 662 + # CONFIG_DISPLAY_SUPPORT is not set 663 + # CONFIG_VGASTATE is not set 664 + # CONFIG_FB is not set 645 665 646 666 # 647 667 # Sound ··· 669 679 # USB Gadget Support 670 680 # 671 681 # CONFIG_USB_GADGET is not set 672 - 673 - # 674 - # MMC/SD Card support 675 - # 676 682 # CONFIG_MMC is not set 677 683 678 684 # ··· 695 709 696 710 # 697 711 # Real Time Clock 712 + # 713 + CONFIG_RTC_LIB=y 714 + CONFIG_RTC_CLASS=y 715 + CONFIG_RTC_HCTOSYS=y 716 + CONFIG_RTC_HCTOSYS_DEVICE="rtc0" 717 + # CONFIG_RTC_DEBUG is not set 718 + 719 + # 720 + # RTC interfaces 721 + # 722 + CONFIG_RTC_INTF_SYSFS=y 723 + CONFIG_RTC_INTF_PROC=y 724 + CONFIG_RTC_INTF_DEV=y 725 + # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set 726 + # CONFIG_RTC_DRV_TEST is not set 727 + 728 + # 729 + # I2C RTC drivers 730 + # 731 + 732 + # 733 + # SPI RTC drivers 734 + # 735 + 736 + # 737 + # Platform RTC drivers 738 + # 739 + # CONFIG_RTC_DRV_DS1553 is not set 740 + CONFIG_RTC_DRV_DS1742=y 741 + # CONFIG_RTC_DRV_M48T86 is not set 742 + # CONFIG_RTC_DRV_V3020 is not set 743 + 744 + # 745 + # on-CPU RTC drivers 698 746 # 699 747 700 748 # ··· 757 737 # 758 738 # CONFIG_EXT2_FS is not set 759 739 # CONFIG_EXT3_FS is not set 740 + # CONFIG_EXT4DEV_FS is not set 760 741 # CONFIG_REISERFS_FS is not set 761 742 # CONFIG_JFS_FS is not set 762 743 CONFIG_FS_POSIX_ACL=y 763 744 # CONFIG_XFS_FS is not set 745 + # CONFIG_GFS2_FS is not set 764 746 # CONFIG_OCFS2_FS is not set 765 747 # CONFIG_MINIX_FS is not set 766 748 # CONFIG_ROMFS_FS is not set 767 749 CONFIG_INOTIFY=y 768 750 CONFIG_INOTIFY_USER=y 769 751 # CONFIG_QUOTA is not set 770 - CONFIG_DNOTIFY=y 752 + # CONFIG_DNOTIFY is not set 771 753 # CONFIG_AUTOFS_FS is not set 772 754 # CONFIG_AUTOFS4_FS is not set 773 - CONFIG_FUSE_FS=m 755 + # CONFIG_FUSE_FS is not set 774 756 CONFIG_GENERIC_ACL=y 775 757 776 758 # ··· 792 770 # Pseudo filesystems 793 771 # 794 772 CONFIG_PROC_FS=y 795 - CONFIG_PROC_KCORE=y 773 + # CONFIG_PROC_KCORE is not set 796 774 CONFIG_PROC_SYSCTL=y 797 775 CONFIG_SYSFS=y 798 776 CONFIG_TMPFS=y 799 777 CONFIG_TMPFS_POSIX_ACL=y 800 778 # CONFIG_HUGETLB_PAGE is not set 801 779 CONFIG_RAMFS=y 780 + # CONFIG_CONFIGFS_FS is not set 802 781 803 782 # 804 783 # Miscellaneous filesystems 805 784 # 785 + # CONFIG_ADFS_FS is not set 786 + # CONFIG_AFFS_FS is not set 787 + # CONFIG_HFS_FS is not set 806 788 # CONFIG_HFSPLUS_FS is not set 789 + # CONFIG_BEFS_FS is not set 790 + # CONFIG_BFS_FS is not set 791 + # CONFIG_EFS_FS is not set 807 792 # CONFIG_CRAMFS is not set 808 793 # CONFIG_VXFS_FS is not set 809 794 # CONFIG_HPFS_FS is not set ··· 822 793 # Network File Systems 823 794 # 824 795 CONFIG_NFS_FS=y 825 - # CONFIG_NFS_V3 is not set 796 + CONFIG_NFS_V3=y 797 + # CONFIG_NFS_V3_ACL is not set 798 + # CONFIG_NFS_V4 is not set 826 799 # CONFIG_NFS_DIRECTIO is not set 827 800 # CONFIG_NFSD is not set 828 801 CONFIG_ROOT_NFS=y 829 802 CONFIG_LOCKD=y 803 + CONFIG_LOCKD_V4=y 830 804 CONFIG_NFS_COMMON=y 831 805 CONFIG_SUNRPC=y 806 + # CONFIG_SUNRPC_BIND34 is not set 807 + # CONFIG_RPCSEC_GSS_KRB5 is not set 808 + # CONFIG_RPCSEC_GSS_SPKM3 is not set 832 809 # CONFIG_SMB_FS is not set 833 810 # CONFIG_CIFS is not set 834 811 # CONFIG_NCP_FS is not set 835 812 # CONFIG_CODA_FS is not set 813 + # CONFIG_AFS_FS is not set 814 + # CONFIG_9P_FS is not set 836 815 837 816 # 838 817 # Partition Types ··· 854 817 # CONFIG_NLS is not set 855 818 856 819 # 820 + # Distributed Lock Manager 821 + # 822 + # CONFIG_DLM is not set 823 + 824 + # 825 + # Profiling support 826 + # 827 + # CONFIG_PROFILING is not set 828 + 829 + # 857 830 # Kernel hacking 858 831 # 859 832 CONFIG_TRACE_IRQFLAGS_SUPPORT=y ··· 874 827 # CONFIG_DEBUG_FS is not set 875 828 # CONFIG_HEADERS_CHECK is not set 876 829 # CONFIG_DEBUG_KERNEL is not set 877 - CONFIG_LOG_BUF_SHIFT=14 878 830 CONFIG_CROSSCOMPILE=y 879 831 CONFIG_CMDLINE="" 880 832 CONFIG_SYS_SUPPORTS_KGDB=y ··· 881 835 # 882 836 # Security options 883 837 # 884 - CONFIG_KEYS=y 885 - CONFIG_KEYS_DEBUG_PROC_KEYS=y 838 + # CONFIG_KEYS is not set 886 839 # CONFIG_SECURITY is not set 887 840 888 841 # 889 842 # Cryptographic options 890 843 # 891 - CONFIG_CRYPTO=y 892 - CONFIG_CRYPTO_ALGAPI=y 893 - CONFIG_CRYPTO_BLKCIPHER=m 894 - CONFIG_CRYPTO_HASH=y 895 - CONFIG_CRYPTO_MANAGER=y 896 - CONFIG_CRYPTO_HMAC=y 897 - CONFIG_CRYPTO_NULL=m 898 - CONFIG_CRYPTO_MD4=m 899 - CONFIG_CRYPTO_MD5=m 900 - CONFIG_CRYPTO_SHA1=m 901 - CONFIG_CRYPTO_SHA256=m 902 - CONFIG_CRYPTO_SHA512=m 903 - CONFIG_CRYPTO_WP512=m 904 - CONFIG_CRYPTO_TGR192=m 905 - CONFIG_CRYPTO_ECB=m 906 - CONFIG_CRYPTO_CBC=m 907 - CONFIG_CRYPTO_PCBC=m 908 - CONFIG_CRYPTO_DES=m 909 - CONFIG_CRYPTO_FCRYPT=m 910 - CONFIG_CRYPTO_BLOWFISH=m 911 - CONFIG_CRYPTO_TWOFISH=m 912 - CONFIG_CRYPTO_TWOFISH_COMMON=m 913 - CONFIG_CRYPTO_SERPENT=m 914 - CONFIG_CRYPTO_AES=m 915 - CONFIG_CRYPTO_CAST5=m 916 - CONFIG_CRYPTO_CAST6=m 917 - CONFIG_CRYPTO_TEA=m 918 - CONFIG_CRYPTO_ARC4=m 919 - CONFIG_CRYPTO_KHAZAD=m 920 - CONFIG_CRYPTO_ANUBIS=m 921 - CONFIG_CRYPTO_DEFLATE=m 922 - CONFIG_CRYPTO_MICHAEL_MIC=m 923 - CONFIG_CRYPTO_CRC32C=m 924 - CONFIG_CRYPTO_CAMELLIA=m 925 - # CONFIG_CRYPTO_TEST is not set 926 - 927 - # 928 - # Hardware crypto devices 929 - # 844 + # CONFIG_CRYPTO is not set 930 845 931 846 # 932 847 # Library routines 933 848 # 934 - CONFIG_BITREVERSE=m 849 + CONFIG_BITREVERSE=y 935 850 # CONFIG_CRC_CCITT is not set 936 - CONFIG_CRC16=m 937 - CONFIG_CRC32=m 938 - CONFIG_LIBCRC32C=m 939 - CONFIG_ZLIB_INFLATE=m 940 - CONFIG_ZLIB_DEFLATE=m 941 - CONFIG_PLIST=y 851 + # CONFIG_CRC16 is not set 852 + CONFIG_CRC32=y 853 + # CONFIG_LIBCRC32C is not set 942 854 CONFIG_HAS_IOMEM=y 943 855 CONFIG_HAS_IOPORT=y 856 + CONFIG_HAS_DMA=y
-1
arch/mips/configs/jmr3927_defconfig
··· 80 80 CONFIG_MIPS_TX3927=y 81 81 CONFIG_SWAP_IO_SPACE=y 82 82 CONFIG_MIPS_L1_CACHE_SHIFT=5 83 - CONFIG_TOSHIBA_BOARDS=y 84 83 85 84 # 86 85 # CPU selection
-981
arch/mips/configs/ocelot_g_defconfig
··· 1 - # 2 - # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.20 4 - # Tue Feb 20 21:47:36 2007 5 - # 6 - CONFIG_MIPS=y 7 - 8 - # 9 - # Machine selection 10 - # 11 - CONFIG_ZONE_DMA=y 12 - # CONFIG_MIPS_MTX1 is not set 13 - # CONFIG_MIPS_BOSPORUS is not set 14 - # CONFIG_MIPS_PB1000 is not set 15 - # CONFIG_MIPS_PB1100 is not set 16 - # CONFIG_MIPS_PB1500 is not set 17 - # CONFIG_MIPS_PB1550 is not set 18 - # CONFIG_MIPS_PB1200 is not set 19 - # CONFIG_MIPS_DB1000 is not set 20 - # CONFIG_MIPS_DB1100 is not set 21 - # CONFIG_MIPS_DB1500 is not set 22 - # CONFIG_MIPS_DB1550 is not set 23 - # CONFIG_MIPS_DB1200 is not set 24 - # CONFIG_MIPS_MIRAGE is not set 25 - # CONFIG_BASLER_EXCITE is not set 26 - # CONFIG_MIPS_COBALT is not set 27 - # CONFIG_MACH_DECSTATION is not set 28 - # CONFIG_MIPS_EV64120 is not set 29 - # CONFIG_MACH_JAZZ is not set 30 - # CONFIG_LASAT is not set 31 - # CONFIG_MIPS_ATLAS is not set 32 - # CONFIG_MIPS_MALTA is not set 33 - # CONFIG_MIPS_SEAD is not set 34 - # CONFIG_WR_PPMC is not set 35 - # CONFIG_MIPS_SIM is not set 36 - # CONFIG_MOMENCO_JAGUAR_ATX is not set 37 - # CONFIG_MOMENCO_OCELOT is not set 38 - # CONFIG_MOMENCO_OCELOT_3 is not set 39 - # CONFIG_MOMENCO_OCELOT_C is not set 40 - CONFIG_MOMENCO_OCELOT_G=y 41 - # CONFIG_MIPS_XXS1500 is not set 42 - # CONFIG_PNX8550_JBS is not set 43 - # CONFIG_PNX8550_STB810 is not set 44 - # CONFIG_DDB5477 is not set 45 - # CONFIG_MACH_VR41XX is not set 46 - # CONFIG_PMC_YOSEMITE is not set 47 - # CONFIG_QEMU is not set 48 - # CONFIG_MARKEINS is not set 49 - # CONFIG_SGI_IP22 is not set 50 - # CONFIG_SGI_IP27 is not set 51 - # CONFIG_SGI_IP32 is not set 52 - # CONFIG_SIBYTE_BIGSUR is not set 53 - # CONFIG_SIBYTE_SWARM is not set 54 - # CONFIG_SIBYTE_SENTOSA is not set 55 - # CONFIG_SIBYTE_RHONE is not set 56 - # CONFIG_SIBYTE_CARMEL is not set 57 - # CONFIG_SIBYTE_PTSWARM is not set 58 - # CONFIG_SIBYTE_LITTLESUR is not set 59 - # CONFIG_SIBYTE_CRHINE is not set 60 - # CONFIG_SIBYTE_CRHONE is not set 61 - # CONFIG_SNI_RM is not set 62 - # CONFIG_TOSHIBA_JMR3927 is not set 63 - # CONFIG_TOSHIBA_RBTX4927 is not set 64 - # CONFIG_TOSHIBA_RBTX4938 is not set 65 - CONFIG_RWSEM_GENERIC_SPINLOCK=y 66 - # CONFIG_ARCH_HAS_ILOG2_U32 is not set 67 - # CONFIG_ARCH_HAS_ILOG2_U64 is not set 68 - CONFIG_GENERIC_FIND_NEXT_BIT=y 69 - CONFIG_GENERIC_HWEIGHT=y 70 - CONFIG_GENERIC_CALIBRATE_DELAY=y 71 - CONFIG_GENERIC_TIME=y 72 - CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y 73 - # CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ is not set 74 - CONFIG_DMA_NONCOHERENT=y 75 - CONFIG_DMA_NEED_PCI_MAP_STATE=y 76 - CONFIG_CPU_BIG_ENDIAN=y 77 - # CONFIG_CPU_LITTLE_ENDIAN is not set 78 - CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y 79 - CONFIG_IRQ_CPU=y 80 - CONFIG_IRQ_CPU_RM7K=y 81 - CONFIG_PCI_MARVELL=y 82 - CONFIG_SWAP_IO_SPACE=y 83 - # CONFIG_SYSCLK_75 is not set 84 - # CONFIG_SYSCLK_83 is not set 85 - CONFIG_SYSCLK_100=y 86 - CONFIG_MIPS_L1_CACHE_SHIFT=5 87 - 88 - # 89 - # CPU selection 90 - # 91 - # CONFIG_CPU_MIPS32_R1 is not set 92 - # CONFIG_CPU_MIPS32_R2 is not set 93 - # CONFIG_CPU_MIPS64_R1 is not set 94 - # CONFIG_CPU_MIPS64_R2 is not set 95 - # CONFIG_CPU_R3000 is not set 96 - # CONFIG_CPU_TX39XX is not set 97 - # CONFIG_CPU_VR41XX is not set 98 - # CONFIG_CPU_R4300 is not set 99 - # CONFIG_CPU_R4X00 is not set 100 - # CONFIG_CPU_TX49XX is not set 101 - # CONFIG_CPU_R5000 is not set 102 - # CONFIG_CPU_R5432 is not set 103 - # CONFIG_CPU_R6000 is not set 104 - # CONFIG_CPU_NEVADA is not set 105 - # CONFIG_CPU_R8000 is not set 106 - # CONFIG_CPU_R10000 is not set 107 - CONFIG_CPU_RM7000=y 108 - # CONFIG_CPU_RM9000 is not set 109 - # CONFIG_CPU_SB1 is not set 110 - CONFIG_SYS_HAS_CPU_RM7000=y 111 - CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y 112 - CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y 113 - CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y 114 - 115 - # 116 - # Kernel type 117 - # 118 - CONFIG_32BIT=y 119 - # CONFIG_64BIT is not set 120 - CONFIG_PAGE_SIZE_4KB=y 121 - # CONFIG_PAGE_SIZE_8KB is not set 122 - # CONFIG_PAGE_SIZE_16KB is not set 123 - # CONFIG_PAGE_SIZE_64KB is not set 124 - CONFIG_BOARD_SCACHE=y 125 - CONFIG_RM7000_CPU_SCACHE=y 126 - CONFIG_CPU_HAS_PREFETCH=y 127 - CONFIG_MIPS_MT_DISABLED=y 128 - # CONFIG_MIPS_MT_SMP is not set 129 - # CONFIG_MIPS_MT_SMTC is not set 130 - # CONFIG_MIPS_VPE_LOADER is not set 131 - # CONFIG_64BIT_PHYS_ADDR is not set 132 - CONFIG_CPU_HAS_LLSC=y 133 - CONFIG_CPU_HAS_SYNC=y 134 - CONFIG_GENERIC_HARDIRQS=y 135 - CONFIG_GENERIC_IRQ_PROBE=y 136 - CONFIG_CPU_SUPPORTS_HIGHMEM=y 137 - CONFIG_ARCH_FLATMEM_ENABLE=y 138 - CONFIG_SELECT_MEMORY_MODEL=y 139 - CONFIG_FLATMEM_MANUAL=y 140 - # CONFIG_DISCONTIGMEM_MANUAL is not set 141 - # CONFIG_SPARSEMEM_MANUAL is not set 142 - CONFIG_FLATMEM=y 143 - CONFIG_FLAT_NODE_MEM_MAP=y 144 - # CONFIG_SPARSEMEM_STATIC is not set 145 - CONFIG_SPLIT_PTLOCK_CPUS=4 146 - CONFIG_RESOURCES_64BIT=y 147 - CONFIG_ZONE_DMA_FLAG=1 148 - # CONFIG_HZ_48 is not set 149 - # CONFIG_HZ_100 is not set 150 - # CONFIG_HZ_128 is not set 151 - # CONFIG_HZ_250 is not set 152 - # CONFIG_HZ_256 is not set 153 - CONFIG_HZ_1000=y 154 - # CONFIG_HZ_1024 is not set 155 - CONFIG_SYS_SUPPORTS_ARBIT_HZ=y 156 - CONFIG_HZ=1000 157 - CONFIG_PREEMPT_NONE=y 158 - # CONFIG_PREEMPT_VOLUNTARY is not set 159 - # CONFIG_PREEMPT is not set 160 - # CONFIG_KEXEC is not set 161 - CONFIG_LOCKDEP_SUPPORT=y 162 - CONFIG_STACKTRACE_SUPPORT=y 163 - CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 164 - 165 - # 166 - # Code maturity level options 167 - # 168 - CONFIG_EXPERIMENTAL=y 169 - CONFIG_BROKEN_ON_SMP=y 170 - CONFIG_INIT_ENV_ARG_LIMIT=32 171 - 172 - # 173 - # General setup 174 - # 175 - CONFIG_LOCALVERSION="" 176 - CONFIG_LOCALVERSION_AUTO=y 177 - CONFIG_SWAP=y 178 - CONFIG_SYSVIPC=y 179 - # CONFIG_IPC_NS is not set 180 - CONFIG_SYSVIPC_SYSCTL=y 181 - # CONFIG_POSIX_MQUEUE is not set 182 - # CONFIG_BSD_PROCESS_ACCT is not set 183 - # CONFIG_TASKSTATS is not set 184 - # CONFIG_UTS_NS is not set 185 - # CONFIG_AUDIT is not set 186 - # CONFIG_IKCONFIG is not set 187 - CONFIG_SYSFS_DEPRECATED=y 188 - CONFIG_RELAY=y 189 - # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 190 - CONFIG_SYSCTL=y 191 - CONFIG_EMBEDDED=y 192 - CONFIG_SYSCTL_SYSCALL=y 193 - CONFIG_KALLSYMS=y 194 - # CONFIG_KALLSYMS_EXTRA_PASS is not set 195 - CONFIG_HOTPLUG=y 196 - CONFIG_PRINTK=y 197 - CONFIG_BUG=y 198 - CONFIG_ELF_CORE=y 199 - CONFIG_BASE_FULL=y 200 - CONFIG_FUTEX=y 201 - CONFIG_EPOLL=y 202 - CONFIG_SHMEM=y 203 - CONFIG_SLAB=y 204 - CONFIG_VM_EVENT_COUNTERS=y 205 - CONFIG_RT_MUTEXES=y 206 - # CONFIG_TINY_SHMEM is not set 207 - CONFIG_BASE_SMALL=0 208 - # CONFIG_SLOB is not set 209 - 210 - # 211 - # Loadable module support 212 - # 213 - # CONFIG_MODULES is not set 214 - 215 - # 216 - # Block layer 217 - # 218 - CONFIG_BLOCK=y 219 - # CONFIG_LBD is not set 220 - # CONFIG_BLK_DEV_IO_TRACE is not set 221 - CONFIG_LSF=y 222 - 223 - # 224 - # IO Schedulers 225 - # 226 - CONFIG_IOSCHED_NOOP=y 227 - CONFIG_IOSCHED_AS=y 228 - CONFIG_IOSCHED_DEADLINE=y 229 - CONFIG_IOSCHED_CFQ=y 230 - CONFIG_DEFAULT_AS=y 231 - # CONFIG_DEFAULT_DEADLINE is not set 232 - # CONFIG_DEFAULT_CFQ is not set 233 - # CONFIG_DEFAULT_NOOP is not set 234 - CONFIG_DEFAULT_IOSCHED="anticipatory" 235 - 236 - # 237 - # Bus options (PCI, PCMCIA, EISA, ISA, TC) 238 - # 239 - CONFIG_HW_HAS_PCI=y 240 - CONFIG_PCI=y 241 - CONFIG_MMU=y 242 - 243 - # 244 - # PCCARD (PCMCIA/CardBus) support 245 - # 246 - # CONFIG_PCCARD is not set 247 - 248 - # 249 - # PCI Hotplug Support 250 - # 251 - # CONFIG_HOTPLUG_PCI is not set 252 - 253 - # 254 - # Executable file formats 255 - # 256 - CONFIG_BINFMT_ELF=y 257 - # CONFIG_BINFMT_MISC is not set 258 - CONFIG_TRAD_SIGNALS=y 259 - 260 - # 261 - # Power management options 262 - # 263 - CONFIG_PM=y 264 - # CONFIG_PM_LEGACY is not set 265 - # CONFIG_PM_DEBUG is not set 266 - # CONFIG_PM_SYSFS_DEPRECATED is not set 267 - 268 - # 269 - # Networking 270 - # 271 - CONFIG_NET=y 272 - 273 - # 274 - # Networking options 275 - # 276 - # CONFIG_NETDEBUG is not set 277 - # CONFIG_PACKET is not set 278 - CONFIG_UNIX=y 279 - CONFIG_XFRM=y 280 - CONFIG_XFRM_USER=y 281 - # CONFIG_XFRM_SUB_POLICY is not set 282 - CONFIG_XFRM_MIGRATE=y 283 - CONFIG_NET_KEY=y 284 - CONFIG_NET_KEY_MIGRATE=y 285 - CONFIG_INET=y 286 - # CONFIG_IP_MULTICAST is not set 287 - # CONFIG_IP_ADVANCED_ROUTER is not set 288 - CONFIG_IP_FIB_HASH=y 289 - CONFIG_IP_PNP=y 290 - CONFIG_IP_PNP_DHCP=y 291 - # CONFIG_IP_PNP_BOOTP is not set 292 - # CONFIG_IP_PNP_RARP is not set 293 - # CONFIG_NET_IPIP is not set 294 - # CONFIG_NET_IPGRE is not set 295 - # CONFIG_ARPD is not set 296 - # CONFIG_SYN_COOKIES is not set 297 - # CONFIG_INET_AH is not set 298 - # CONFIG_INET_ESP is not set 299 - # CONFIG_INET_IPCOMP is not set 300 - # CONFIG_INET_XFRM_TUNNEL is not set 301 - # CONFIG_INET_TUNNEL is not set 302 - CONFIG_INET_XFRM_MODE_TRANSPORT=y 303 - CONFIG_INET_XFRM_MODE_TUNNEL=y 304 - CONFIG_INET_XFRM_MODE_BEET=y 305 - CONFIG_INET_DIAG=y 306 - CONFIG_INET_TCP_DIAG=y 307 - # CONFIG_TCP_CONG_ADVANCED is not set 308 - CONFIG_TCP_CONG_CUBIC=y 309 - CONFIG_DEFAULT_TCP_CONG="cubic" 310 - CONFIG_TCP_MD5SIG=y 311 - # CONFIG_IPV6 is not set 312 - # CONFIG_INET6_XFRM_TUNNEL is not set 313 - # CONFIG_INET6_TUNNEL is not set 314 - CONFIG_NETWORK_SECMARK=y 315 - # CONFIG_NETFILTER is not set 316 - 317 - # 318 - # DCCP Configuration (EXPERIMENTAL) 319 - # 320 - # CONFIG_IP_DCCP is not set 321 - 322 - # 323 - # SCTP Configuration (EXPERIMENTAL) 324 - # 325 - # CONFIG_IP_SCTP is not set 326 - 327 - # 328 - # TIPC Configuration (EXPERIMENTAL) 329 - # 330 - # CONFIG_TIPC is not set 331 - # CONFIG_ATM is not set 332 - # CONFIG_BRIDGE is not set 333 - # CONFIG_VLAN_8021Q is not set 334 - # CONFIG_DECNET is not set 335 - # CONFIG_LLC2 is not set 336 - # CONFIG_IPX is not set 337 - # CONFIG_ATALK is not set 338 - # CONFIG_X25 is not set 339 - # CONFIG_LAPB is not set 340 - # CONFIG_ECONET is not set 341 - # CONFIG_WAN_ROUTER is not set 342 - 343 - # 344 - # QoS and/or fair queueing 345 - # 346 - # CONFIG_NET_SCHED is not set 347 - 348 - # 349 - # Network testing 350 - # 351 - # CONFIG_NET_PKTGEN is not set 352 - # CONFIG_HAMRADIO is not set 353 - # CONFIG_IRDA is not set 354 - # CONFIG_BT is not set 355 - CONFIG_IEEE80211=y 356 - # CONFIG_IEEE80211_DEBUG is not set 357 - CONFIG_IEEE80211_CRYPT_WEP=y 358 - CONFIG_IEEE80211_CRYPT_CCMP=y 359 - CONFIG_IEEE80211_SOFTMAC=y 360 - # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set 361 - CONFIG_WIRELESS_EXT=y 362 - 363 - # 364 - # Device Drivers 365 - # 366 - 367 - # 368 - # Generic Driver Options 369 - # 370 - CONFIG_STANDALONE=y 371 - CONFIG_PREVENT_FIRMWARE_BUILD=y 372 - CONFIG_FW_LOADER=y 373 - # CONFIG_SYS_HYPERVISOR is not set 374 - 375 - # 376 - # Connector - unified userspace <-> kernelspace linker 377 - # 378 - CONFIG_CONNECTOR=y 379 - CONFIG_PROC_EVENTS=y 380 - 381 - # 382 - # Memory Technology Devices (MTD) 383 - # 384 - # CONFIG_MTD is not set 385 - 386 - # 387 - # Parallel port support 388 - # 389 - # CONFIG_PARPORT is not set 390 - 391 - # 392 - # Plug and Play support 393 - # 394 - # CONFIG_PNPACPI is not set 395 - 396 - # 397 - # Block devices 398 - # 399 - # CONFIG_BLK_CPQ_DA is not set 400 - # CONFIG_BLK_CPQ_CISS_DA is not set 401 - # CONFIG_BLK_DEV_DAC960 is not set 402 - # CONFIG_BLK_DEV_UMEM is not set 403 - # CONFIG_BLK_DEV_COW_COMMON is not set 404 - # CONFIG_BLK_DEV_LOOP is not set 405 - # CONFIG_BLK_DEV_NBD is not set 406 - # CONFIG_BLK_DEV_SX8 is not set 407 - # CONFIG_BLK_DEV_RAM is not set 408 - # CONFIG_BLK_DEV_INITRD is not set 409 - CONFIG_CDROM_PKTCDVD=y 410 - CONFIG_CDROM_PKTCDVD_BUFFERS=8 411 - # CONFIG_CDROM_PKTCDVD_WCACHE is not set 412 - CONFIG_ATA_OVER_ETH=y 413 - 414 - # 415 - # Misc devices 416 - # 417 - CONFIG_SGI_IOC4=y 418 - # CONFIG_TIFM_CORE is not set 419 - 420 - # 421 - # ATA/ATAPI/MFM/RLL support 422 - # 423 - # CONFIG_IDE is not set 424 - 425 - # 426 - # SCSI device support 427 - # 428 - CONFIG_RAID_ATTRS=y 429 - # CONFIG_SCSI is not set 430 - # CONFIG_SCSI_NETLINK is not set 431 - 432 - # 433 - # Serial ATA (prod) and Parallel ATA (experimental) drivers 434 - # 435 - # CONFIG_ATA is not set 436 - 437 - # 438 - # Multi-device support (RAID and LVM) 439 - # 440 - # CONFIG_MD is not set 441 - 442 - # 443 - # Fusion MPT device support 444 - # 445 - # CONFIG_FUSION is not set 446 - 447 - # 448 - # IEEE 1394 (FireWire) support 449 - # 450 - # CONFIG_IEEE1394 is not set 451 - 452 - # 453 - # I2O device support 454 - # 455 - # CONFIG_I2O is not set 456 - 457 - # 458 - # Network device support 459 - # 460 - CONFIG_NETDEVICES=y 461 - # CONFIG_DUMMY is not set 462 - # CONFIG_BONDING is not set 463 - # CONFIG_EQUALIZER is not set 464 - # CONFIG_TUN is not set 465 - 466 - # 467 - # ARCnet devices 468 - # 469 - # CONFIG_ARCNET is not set 470 - 471 - # 472 - # PHY device support 473 - # 474 - CONFIG_PHYLIB=y 475 - 476 - # 477 - # MII PHY device drivers 478 - # 479 - CONFIG_MARVELL_PHY=y 480 - CONFIG_DAVICOM_PHY=y 481 - CONFIG_QSEMI_PHY=y 482 - CONFIG_LXT_PHY=y 483 - CONFIG_CICADA_PHY=y 484 - CONFIG_VITESSE_PHY=y 485 - CONFIG_SMSC_PHY=y 486 - # CONFIG_BROADCOM_PHY is not set 487 - # CONFIG_FIXED_PHY is not set 488 - 489 - # 490 - # Ethernet (10 or 100Mbit) 491 - # 492 - CONFIG_NET_ETHERNET=y 493 - CONFIG_MII=y 494 - CONFIG_GALILEO_64240_ETH=y 495 - # CONFIG_HAPPYMEAL is not set 496 - # CONFIG_SUNGEM is not set 497 - # CONFIG_CASSINI is not set 498 - # CONFIG_NET_VENDOR_3COM is not set 499 - # CONFIG_DM9000 is not set 500 - 501 - # 502 - # Tulip family network device support 503 - # 504 - # CONFIG_NET_TULIP is not set 505 - # CONFIG_HP100 is not set 506 - # CONFIG_NET_PCI is not set 507 - 508 - # 509 - # Ethernet (1000 Mbit) 510 - # 511 - # CONFIG_ACENIC is not set 512 - # CONFIG_DL2K is not set 513 - # CONFIG_E1000 is not set 514 - # CONFIG_NS83820 is not set 515 - # CONFIG_HAMACHI is not set 516 - # CONFIG_YELLOWFIN is not set 517 - # CONFIG_R8169 is not set 518 - # CONFIG_SIS190 is not set 519 - # CONFIG_SKGE is not set 520 - # CONFIG_SKY2 is not set 521 - # CONFIG_SK98LIN is not set 522 - # CONFIG_TIGON3 is not set 523 - # CONFIG_BNX2 is not set 524 - CONFIG_QLA3XXX=y 525 - # CONFIG_ATL1 is not set 526 - 527 - # 528 - # Ethernet (10000 Mbit) 529 - # 530 - # CONFIG_CHELSIO_T1 is not set 531 - CONFIG_CHELSIO_T3=y 532 - # CONFIG_IXGB is not set 533 - # CONFIG_S2IO is not set 534 - # CONFIG_MYRI10GE is not set 535 - CONFIG_NETXEN_NIC=y 536 - 537 - # 538 - # Token Ring devices 539 - # 540 - # CONFIG_TR is not set 541 - 542 - # 543 - # Wireless LAN (non-hamradio) 544 - # 545 - # CONFIG_NET_RADIO is not set 546 - 547 - # 548 - # Wan interfaces 549 - # 550 - # CONFIG_WAN is not set 551 - # CONFIG_FDDI is not set 552 - # CONFIG_HIPPI is not set 553 - # CONFIG_PPP is not set 554 - # CONFIG_SLIP is not set 555 - # CONFIG_SHAPER is not set 556 - # CONFIG_NETCONSOLE is not set 557 - # CONFIG_NETPOLL is not set 558 - # CONFIG_NET_POLL_CONTROLLER is not set 559 - 560 - # 561 - # ISDN subsystem 562 - # 563 - # CONFIG_ISDN is not set 564 - 565 - # 566 - # Telephony Support 567 - # 568 - # CONFIG_PHONE is not set 569 - 570 - # 571 - # Input device support 572 - # 573 - CONFIG_INPUT=y 574 - # CONFIG_INPUT_FF_MEMLESS is not set 575 - 576 - # 577 - # Userland interfaces 578 - # 579 - CONFIG_INPUT_MOUSEDEV=y 580 - CONFIG_INPUT_MOUSEDEV_PSAUX=y 581 - CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 582 - CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 583 - # CONFIG_INPUT_JOYDEV is not set 584 - # CONFIG_INPUT_TSDEV is not set 585 - # CONFIG_INPUT_EVDEV is not set 586 - # CONFIG_INPUT_EVBUG is not set 587 - 588 - # 589 - # Input Device Drivers 590 - # 591 - # CONFIG_INPUT_KEYBOARD is not set 592 - # CONFIG_INPUT_MOUSE is not set 593 - # CONFIG_INPUT_JOYSTICK is not set 594 - # CONFIG_INPUT_TOUCHSCREEN is not set 595 - # CONFIG_INPUT_MISC is not set 596 - 597 - # 598 - # Hardware I/O ports 599 - # 600 - CONFIG_SERIO=y 601 - # CONFIG_SERIO_I8042 is not set 602 - CONFIG_SERIO_SERPORT=y 603 - # CONFIG_SERIO_PCIPS2 is not set 604 - # CONFIG_SERIO_LIBPS2 is not set 605 - CONFIG_SERIO_RAW=y 606 - # CONFIG_GAMEPORT is not set 607 - 608 - # 609 - # Character devices 610 - # 611 - CONFIG_VT=y 612 - CONFIG_VT_CONSOLE=y 613 - CONFIG_HW_CONSOLE=y 614 - CONFIG_VT_HW_CONSOLE_BINDING=y 615 - # CONFIG_SERIAL_NONSTANDARD is not set 616 - 617 - # 618 - # Serial drivers 619 - # 620 - CONFIG_SERIAL_8250=y 621 - CONFIG_SERIAL_8250_CONSOLE=y 622 - CONFIG_SERIAL_8250_PCI=y 623 - CONFIG_SERIAL_8250_NR_UARTS=4 624 - CONFIG_SERIAL_8250_RUNTIME_UARTS=4 625 - # CONFIG_SERIAL_8250_EXTENDED is not set 626 - 627 - # 628 - # Non-8250 serial port support 629 - # 630 - CONFIG_SERIAL_CORE=y 631 - CONFIG_SERIAL_CORE_CONSOLE=y 632 - # CONFIG_SERIAL_JSM is not set 633 - CONFIG_UNIX98_PTYS=y 634 - CONFIG_LEGACY_PTYS=y 635 - CONFIG_LEGACY_PTY_COUNT=256 636 - 637 - # 638 - # IPMI 639 - # 640 - # CONFIG_IPMI_HANDLER is not set 641 - 642 - # 643 - # Watchdog Cards 644 - # 645 - # CONFIG_WATCHDOG is not set 646 - # CONFIG_HW_RANDOM is not set 647 - # CONFIG_RTC is not set 648 - # CONFIG_GEN_RTC is not set 649 - # CONFIG_DTLK is not set 650 - # CONFIG_R3964 is not set 651 - # CONFIG_APPLICOM is not set 652 - # CONFIG_DRM is not set 653 - # CONFIG_RAW_DRIVER is not set 654 - 655 - # 656 - # TPM devices 657 - # 658 - # CONFIG_TCG_TPM is not set 659 - 660 - # 661 - # I2C support 662 - # 663 - # CONFIG_I2C is not set 664 - 665 - # 666 - # SPI support 667 - # 668 - # CONFIG_SPI is not set 669 - # CONFIG_SPI_MASTER is not set 670 - 671 - # 672 - # Dallas's 1-wire bus 673 - # 674 - # CONFIG_W1 is not set 675 - 676 - # 677 - # Hardware Monitoring support 678 - # 679 - # CONFIG_HWMON is not set 680 - # CONFIG_HWMON_VID is not set 681 - 682 - # 683 - # Multimedia devices 684 - # 685 - # CONFIG_VIDEO_DEV is not set 686 - 687 - # 688 - # Digital Video Broadcasting Devices 689 - # 690 - # CONFIG_DVB is not set 691 - 692 - # 693 - # Graphics support 694 - # 695 - # CONFIG_FIRMWARE_EDID is not set 696 - # CONFIG_FB is not set 697 - 698 - # 699 - # Console display driver support 700 - # 701 - # CONFIG_VGA_CONSOLE is not set 702 - CONFIG_DUMMY_CONSOLE=y 703 - # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 704 - 705 - # 706 - # Sound 707 - # 708 - # CONFIG_SOUND is not set 709 - 710 - # 711 - # HID Devices 712 - # 713 - # CONFIG_HID is not set 714 - 715 - # 716 - # USB support 717 - # 718 - CONFIG_USB_ARCH_HAS_HCD=y 719 - CONFIG_USB_ARCH_HAS_OHCI=y 720 - CONFIG_USB_ARCH_HAS_EHCI=y 721 - # CONFIG_USB is not set 722 - 723 - # 724 - # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 725 - # 726 - 727 - # 728 - # USB Gadget Support 729 - # 730 - # CONFIG_USB_GADGET is not set 731 - 732 - # 733 - # MMC/SD Card support 734 - # 735 - # CONFIG_MMC is not set 736 - 737 - # 738 - # LED devices 739 - # 740 - # CONFIG_NEW_LEDS is not set 741 - 742 - # 743 - # LED drivers 744 - # 745 - 746 - # 747 - # LED Triggers 748 - # 749 - 750 - # 751 - # InfiniBand support 752 - # 753 - # CONFIG_INFINIBAND is not set 754 - 755 - # 756 - # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) 757 - # 758 - 759 - # 760 - # Real Time Clock 761 - # 762 - # CONFIG_RTC_CLASS is not set 763 - 764 - # 765 - # DMA Engine support 766 - # 767 - # CONFIG_DMA_ENGINE is not set 768 - 769 - # 770 - # DMA Clients 771 - # 772 - 773 - # 774 - # DMA Devices 775 - # 776 - 777 - # 778 - # Auxiliary Display support 779 - # 780 - 781 - # 782 - # Virtualization 783 - # 784 - 785 - # 786 - # File systems 787 - # 788 - CONFIG_EXT2_FS=y 789 - # CONFIG_EXT2_FS_XATTR is not set 790 - # CONFIG_EXT2_FS_XIP is not set 791 - # CONFIG_EXT3_FS is not set 792 - # CONFIG_EXT4DEV_FS is not set 793 - # CONFIG_REISERFS_FS is not set 794 - # CONFIG_JFS_FS is not set 795 - CONFIG_FS_POSIX_ACL=y 796 - # CONFIG_XFS_FS is not set 797 - # CONFIG_GFS2_FS is not set 798 - # CONFIG_OCFS2_FS is not set 799 - # CONFIG_MINIX_FS is not set 800 - # CONFIG_ROMFS_FS is not set 801 - CONFIG_INOTIFY=y 802 - CONFIG_INOTIFY_USER=y 803 - # CONFIG_QUOTA is not set 804 - CONFIG_DNOTIFY=y 805 - # CONFIG_AUTOFS_FS is not set 806 - # CONFIG_AUTOFS4_FS is not set 807 - CONFIG_FUSE_FS=y 808 - CONFIG_GENERIC_ACL=y 809 - 810 - # 811 - # CD-ROM/DVD Filesystems 812 - # 813 - # CONFIG_ISO9660_FS is not set 814 - # CONFIG_UDF_FS is not set 815 - 816 - # 817 - # DOS/FAT/NT Filesystems 818 - # 819 - # CONFIG_MSDOS_FS is not set 820 - # CONFIG_VFAT_FS is not set 821 - # CONFIG_NTFS_FS is not set 822 - 823 - # 824 - # Pseudo filesystems 825 - # 826 - CONFIG_PROC_FS=y 827 - CONFIG_PROC_KCORE=y 828 - CONFIG_PROC_SYSCTL=y 829 - CONFIG_SYSFS=y 830 - CONFIG_TMPFS=y 831 - CONFIG_TMPFS_POSIX_ACL=y 832 - # CONFIG_HUGETLB_PAGE is not set 833 - CONFIG_RAMFS=y 834 - CONFIG_CONFIGFS_FS=y 835 - 836 - # 837 - # Miscellaneous filesystems 838 - # 839 - # CONFIG_ADFS_FS is not set 840 - # CONFIG_AFFS_FS is not set 841 - # CONFIG_ECRYPT_FS is not set 842 - # CONFIG_HFS_FS is not set 843 - # CONFIG_HFSPLUS_FS is not set 844 - # CONFIG_BEFS_FS is not set 845 - # CONFIG_BFS_FS is not set 846 - # CONFIG_EFS_FS is not set 847 - # CONFIG_CRAMFS is not set 848 - # CONFIG_VXFS_FS is not set 849 - # CONFIG_HPFS_FS is not set 850 - # CONFIG_QNX4FS_FS is not set 851 - # CONFIG_SYSV_FS is not set 852 - # CONFIG_UFS_FS is not set 853 - 854 - # 855 - # Network File Systems 856 - # 857 - CONFIG_NFS_FS=y 858 - # CONFIG_NFS_V3 is not set 859 - # CONFIG_NFS_V4 is not set 860 - # CONFIG_NFS_DIRECTIO is not set 861 - CONFIG_NFSD=y 862 - # CONFIG_NFSD_V3 is not set 863 - # CONFIG_NFSD_TCP is not set 864 - CONFIG_ROOT_NFS=y 865 - CONFIG_LOCKD=y 866 - CONFIG_EXPORTFS=y 867 - CONFIG_NFS_COMMON=y 868 - CONFIG_SUNRPC=y 869 - # CONFIG_RPCSEC_GSS_KRB5 is not set 870 - # CONFIG_RPCSEC_GSS_SPKM3 is not set 871 - # CONFIG_SMB_FS is not set 872 - # CONFIG_CIFS is not set 873 - # CONFIG_NCP_FS is not set 874 - # CONFIG_CODA_FS is not set 875 - # CONFIG_AFS_FS is not set 876 - # CONFIG_9P_FS is not set 877 - 878 - # 879 - # Partition Types 880 - # 881 - # CONFIG_PARTITION_ADVANCED is not set 882 - CONFIG_MSDOS_PARTITION=y 883 - 884 - # 885 - # Native Language Support 886 - # 887 - # CONFIG_NLS is not set 888 - 889 - # 890 - # Distributed Lock Manager 891 - # 892 - CONFIG_DLM=y 893 - CONFIG_DLM_TCP=y 894 - # CONFIG_DLM_SCTP is not set 895 - # CONFIG_DLM_DEBUG is not set 896 - 897 - # 898 - # Profiling support 899 - # 900 - # CONFIG_PROFILING is not set 901 - 902 - # 903 - # Kernel hacking 904 - # 905 - CONFIG_TRACE_IRQFLAGS_SUPPORT=y 906 - # CONFIG_PRINTK_TIME is not set 907 - CONFIG_ENABLE_MUST_CHECK=y 908 - # CONFIG_MAGIC_SYSRQ is not set 909 - # CONFIG_UNUSED_SYMBOLS is not set 910 - # CONFIG_DEBUG_FS is not set 911 - # CONFIG_HEADERS_CHECK is not set 912 - # CONFIG_DEBUG_KERNEL is not set 913 - CONFIG_LOG_BUF_SHIFT=14 914 - CONFIG_CROSSCOMPILE=y 915 - CONFIG_CMDLINE="" 916 - 917 - # 918 - # Security options 919 - # 920 - CONFIG_KEYS=y 921 - CONFIG_KEYS_DEBUG_PROC_KEYS=y 922 - # CONFIG_SECURITY is not set 923 - 924 - # 925 - # Cryptographic options 926 - # 927 - CONFIG_CRYPTO=y 928 - CONFIG_CRYPTO_ALGAPI=y 929 - CONFIG_CRYPTO_BLKCIPHER=y 930 - CONFIG_CRYPTO_HASH=y 931 - CONFIG_CRYPTO_MANAGER=y 932 - CONFIG_CRYPTO_HMAC=y 933 - CONFIG_CRYPTO_XCBC=y 934 - CONFIG_CRYPTO_NULL=y 935 - CONFIG_CRYPTO_MD4=y 936 - CONFIG_CRYPTO_MD5=y 937 - CONFIG_CRYPTO_SHA1=y 938 - CONFIG_CRYPTO_SHA256=y 939 - CONFIG_CRYPTO_SHA512=y 940 - CONFIG_CRYPTO_WP512=y 941 - CONFIG_CRYPTO_TGR192=y 942 - CONFIG_CRYPTO_GF128MUL=y 943 - CONFIG_CRYPTO_ECB=y 944 - CONFIG_CRYPTO_CBC=y 945 - CONFIG_CRYPTO_PCBC=y 946 - CONFIG_CRYPTO_LRW=y 947 - CONFIG_CRYPTO_DES=y 948 - CONFIG_CRYPTO_FCRYPT=y 949 - CONFIG_CRYPTO_BLOWFISH=y 950 - CONFIG_CRYPTO_TWOFISH=y 951 - CONFIG_CRYPTO_TWOFISH_COMMON=y 952 - CONFIG_CRYPTO_SERPENT=y 953 - CONFIG_CRYPTO_AES=y 954 - CONFIG_CRYPTO_CAST5=y 955 - CONFIG_CRYPTO_CAST6=y 956 - CONFIG_CRYPTO_TEA=y 957 - CONFIG_CRYPTO_ARC4=y 958 - CONFIG_CRYPTO_KHAZAD=y 959 - CONFIG_CRYPTO_ANUBIS=y 960 - CONFIG_CRYPTO_DEFLATE=y 961 - CONFIG_CRYPTO_MICHAEL_MIC=y 962 - CONFIG_CRYPTO_CRC32C=y 963 - CONFIG_CRYPTO_CAMELLIA=y 964 - 965 - # 966 - # Hardware crypto devices 967 - # 968 - 969 - # 970 - # Library routines 971 - # 972 - CONFIG_BITREVERSE=y 973 - # CONFIG_CRC_CCITT is not set 974 - CONFIG_CRC16=y 975 - CONFIG_CRC32=y 976 - CONFIG_LIBCRC32C=y 977 - CONFIG_ZLIB_INFLATE=y 978 - CONFIG_ZLIB_DEFLATE=y 979 - CONFIG_PLIST=y 980 - CONFIG_HAS_IOMEM=y 981 - CONFIG_HAS_IOPORT=y
+1
arch/mips/configs/pb1100_defconfig
··· 9 9 # Machine selection 10 10 # 11 11 CONFIG_ZONE_DMA=y 12 + CONFIG_MACH_ALCHEMY=y 12 13 # CONFIG_MIPS_MTX1 is not set 13 14 # CONFIG_MIPS_BOSPORUS is not set 14 15 # CONFIG_MIPS_PB1000 is not set
+1
arch/mips/configs/pb1500_defconfig
··· 9 9 # Machine selection 10 10 # 11 11 CONFIG_ZONE_DMA=y 12 + CONFIG_MACH_ALCHEMY=y 12 13 # CONFIG_MIPS_MTX1 is not set 13 14 # CONFIG_MIPS_BOSPORUS is not set 14 15 # CONFIG_MIPS_PB1000 is not set
+1
arch/mips/configs/pb1550_defconfig
··· 9 9 # Machine selection 10 10 # 11 11 CONFIG_ZONE_DMA=y 12 + CONFIG_MACH_ALCHEMY=y 12 13 # CONFIG_MIPS_MTX1 is not set 13 14 # CONFIG_MIPS_BOSPORUS is not set 14 15 # CONFIG_MIPS_PB1000 is not set
-1
arch/mips/configs/rbhma4500_defconfig
··· 89 89 CONFIG_SWAP_IO_SPACE=y 90 90 CONFIG_MIPS_L1_CACHE_SHIFT=5 91 91 CONFIG_HAVE_STD_PC_SERIAL_PORT=y 92 - CONFIG_TOSHIBA_BOARDS=y 93 92 94 93 # 95 94 # CPU selection
+15 -9
arch/mips/configs/tb0229_defconfig arch/mips/configs/tb0219_defconfig
··· 1 1 # 2 2 # Automatically generated make config: don't edit 3 - # Linux kernel version: 2.6.20 4 - # Tue Feb 20 21:47:41 2007 3 + # Linux kernel version: 2.6.21-rc6 4 + # Sun Apr 15 01:06:01 2007 5 5 # 6 6 CONFIG_MIPS=y 7 7 ··· 66 66 # CONFIG_IBM_WORKPAD is not set 67 67 # CONFIG_NEC_CMBVR4133 is not set 68 68 CONFIG_TANBAC_TB022X=y 69 - # CONFIG_TANBAC_TB0226 is not set 70 - # CONFIG_TANBAC_TB0287 is not set 71 69 # CONFIG_VICTOR_MPC30X is not set 72 70 # CONFIG_ZAO_CAPCELLA is not set 71 + CONFIG_TANBAC_TB0219=y 72 + # CONFIG_TANBAC_TB0226 is not set 73 + # CONFIG_TANBAC_TB0287 is not set 73 74 CONFIG_PCI_VR41XX=y 74 75 CONFIG_RWSEM_GENERIC_SPINLOCK=y 75 76 # CONFIG_ARCH_HAS_ILOG2_U32 is not set ··· 185 184 # CONFIG_IKCONFIG is not set 186 185 CONFIG_SYSFS_DEPRECATED=y 187 186 # CONFIG_RELAY is not set 187 + # CONFIG_BLK_DEV_INITRD is not set 188 188 # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set 189 189 CONFIG_SYSCTL=y 190 190 CONFIG_EMBEDDED=y ··· 377 375 # 378 376 CONFIG_STANDALONE=y 379 377 CONFIG_PREVENT_FIRMWARE_BUILD=y 380 - # CONFIG_FW_LOADER is not set 378 + CONFIG_FW_LOADER=m 381 379 # CONFIG_SYS_HYPERVISOR is not set 382 380 383 381 # ··· 417 415 CONFIG_BLK_DEV_RAM_COUNT=16 418 416 CONFIG_BLK_DEV_RAM_SIZE=4096 419 417 CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 420 - # CONFIG_BLK_DEV_INITRD is not set 421 418 # CONFIG_CDROM_PKTCDVD is not set 422 419 # CONFIG_ATA_OVER_ETH is not set 423 420 ··· 647 646 # CONFIG_DTLK is not set 648 647 # CONFIG_R3964 is not set 649 648 # CONFIG_APPLICOM is not set 650 - CONFIG_TANBAC_TB0219=y 649 + CONFIG_GPIO_TB0219=y 651 650 # CONFIG_DRM is not set 652 651 CONFIG_GPIO_VR41XX=y 653 652 # CONFIG_RAW_DRIVER is not set ··· 680 679 # CONFIG_HWMON_VID is not set 681 680 682 681 # 682 + # Multifunction device drivers 683 + # 684 + # CONFIG_MFD_SM501 is not set 685 + 686 + # 683 687 # Multimedia devices 684 688 # 685 689 # CONFIG_VIDEO_DEV is not set ··· 698 692 # 699 693 # Graphics support 700 694 # 701 - # CONFIG_FIRMWARE_EDID is not set 695 + # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 702 696 # CONFIG_FB is not set 703 697 704 698 # ··· 706 700 # 707 701 # CONFIG_VGA_CONSOLE is not set 708 702 CONFIG_DUMMY_CONSOLE=y 709 - # CONFIG_BACKLIGHT_LCD_SUPPORT is not set 710 703 711 704 # 712 705 # Sound ··· 836 831 # CONFIG_USB_SISUSBVGA is not set 837 832 # CONFIG_USB_LD is not set 838 833 # CONFIG_USB_TRANCEVIBRATOR is not set 834 + # CONFIG_USB_IOWARRIOR is not set 839 835 # CONFIG_USB_TEST is not set 840 836 841 837 #
+9 -2
arch/mips/kernel/early_printk.c
··· 12 12 13 13 extern void prom_putchar(char); 14 14 15 - static void early_console_write(struct console *con, const char *s, unsigned n) 15 + static void __init 16 + early_console_write(struct console *con, const char *s, unsigned n) 16 17 { 17 18 while (n-- && *s) { 18 19 if (*s == '\n') ··· 23 22 } 24 23 } 25 24 26 - static struct console early_console = { 25 + static struct console early_console __initdata = { 27 26 .name = "early", 28 27 .write = early_console_write, 29 28 .flags = CON_PRINTBUFFER | CON_BOOT, 30 29 .index = -1 31 30 }; 32 31 32 + static int early_console_initialized __initdata; 33 + 33 34 void __init setup_early_printk(void) 34 35 { 36 + if (early_console_initialized) 37 + return; 38 + early_console_initialized = 1; 39 + 35 40 register_console(&early_console); 36 41 }
+5 -5
arch/mips/kernel/irq-msc01.c
··· 132 132 }; 133 133 134 134 135 - void __init init_msc_irqs(unsigned int base, msc_irqmap_t *imp, int nirq) 135 + void __init init_msc_irqs(unsigned long icubase, unsigned int irqbase, msc_irqmap_t *imp, int nirq) 136 136 { 137 137 extern void (*board_bind_eic_interrupt)(unsigned int irq, unsigned int regset); 138 138 139 - _icctrl_msc = (unsigned long) ioremap (MIPS_MSC01_IC_REG_BASE, 0x40000); 139 + _icctrl_msc = (unsigned long) ioremap (icubase, 0x40000); 140 140 141 141 /* Reset interrupt controller - initialises all registers to 0 */ 142 142 MSCIC_WRITE(MSC01_IC_RST, MSC01_IC_RST_RST_BIT); ··· 148 148 149 149 switch (imp->im_type) { 150 150 case MSC01_IRQ_EDGE: 151 - set_irq_chip(base+n, &msc_edgeirq_type); 151 + set_irq_chip(irqbase+n, &msc_edgeirq_type); 152 152 if (cpu_has_veic) 153 153 MSCIC_WRITE(MSC01_IC_SUP+n*8, MSC01_IC_SUP_EDGE_BIT); 154 154 else 155 155 MSCIC_WRITE(MSC01_IC_SUP+n*8, MSC01_IC_SUP_EDGE_BIT | imp->im_lvl); 156 156 break; 157 157 case MSC01_IRQ_LEVEL: 158 - set_irq_chip(base+n, &msc_levelirq_type); 158 + set_irq_chip(irqbase+n, &msc_levelirq_type); 159 159 if (cpu_has_veic) 160 160 MSCIC_WRITE(MSC01_IC_SUP+n*8, 0); 161 161 else ··· 163 163 } 164 164 } 165 165 166 - irq_base = base; 166 + irq_base = irqbase; 167 167 168 168 MSCIC_WRITE(MSC01_IC_GENA, MSC01_IC_GENA_GENA_BIT); /* Enable interrupt generation */ 169 169
+2 -2
arch/mips/kernel/irq.c
··· 28 28 29 29 static unsigned long irq_map[NR_IRQS / BITS_PER_LONG]; 30 30 31 - int __devinit allocate_irqno(void) 31 + int allocate_irqno(void) 32 32 { 33 33 int irq; 34 34 ··· 59 59 BUG_ON(test_and_set_bit(i, irq_map)); 60 60 } 61 61 62 - void __devinit free_irqno(unsigned int irq) 62 + void free_irqno(unsigned int irq) 63 63 { 64 64 smp_mb__before_clear_bit(); 65 65 clear_bit(irq, irq_map);
+1 -1
arch/mips/kernel/time.c
··· 306 306 307 307 struct clocksource clocksource_mips = { 308 308 .name = "MIPS", 309 - .mask = 0xffffffff, 309 + .mask = CLOCKSOURCE_MASK(32), 310 310 .flags = CLOCK_SOURCE_IS_CONTINUOUS, 311 311 }; 312 312
+4 -4
arch/mips/kernel/traps.c
··· 927 927 (regs->cp0_cause & 0x7f) >> 2); 928 928 } 929 929 930 - asmlinkage void do_default_vi(struct pt_regs *regs) 930 + static asmlinkage void do_default_vi(void) 931 931 { 932 - show_regs(regs); 932 + show_regs(get_irq_regs()); 933 933 panic("Caught unexpected vectored interrupt."); 934 934 } 935 935 ··· 1128 1128 clear_bit(set, &sr->sr_allocated); 1129 1129 } 1130 1130 1131 - static void *set_vi_srs_handler(int n, void *addr, int srs) 1131 + static void *set_vi_srs_handler(int n, vi_handler_t addr, int srs) 1132 1132 { 1133 1133 unsigned long handler; 1134 1134 unsigned long old_handler = vi_handlers[n]; ··· 1217 1217 return (void *)old_handler; 1218 1218 } 1219 1219 1220 - void *set_vi_handler(int n, void *addr) 1220 + void *set_vi_handler(int n, vi_handler_t addr) 1221 1221 { 1222 1222 return set_vi_srs_handler(n, addr, 0); 1223 1223 }
+1 -1
arch/mips/lib/Makefile
··· 9 9 obj-$(CONFIG_PCI) += iomap-pci.o 10 10 11 11 # libgcc-style stuff needed in the kernel 12 - lib-y += ashldi3.o ashrdi3.o lshrdi3.o 12 + lib-y += ashldi3.o ashrdi3.o lshrdi3.o ucmpdi2.o
+19
arch/mips/lib/ucmpdi2.c
··· 1 + #include <linux/module.h> 2 + 3 + #include "libgcc.h" 4 + 5 + word_type __ucmpdi2 (unsigned long a, unsigned long b) 6 + { 7 + const DWunion au = {.ll = a}; 8 + const DWunion bu = {.ll = b}; 9 + 10 + if ((unsigned int) au.s.high < (unsigned int) bu.s.high) 11 + return 0; 12 + else if ((unsigned int) au.s.high > (unsigned int) bu.s.high) 13 + return 2; 14 + if ((unsigned int) au.s.low < (unsigned int) bu.s.low) 15 + return 0; 16 + else if ((unsigned int) au.s.low > (unsigned int) bu.s.low) 17 + return 2; 18 + return 1; 19 + }
+13 -8
arch/mips/mips-boards/malta/malta_int.c
··· 311 311 if (!cpu_has_veic) 312 312 mips_cpu_irq_init(); 313 313 314 - switch(mips_revision_corid) { 315 - case MIPS_REVISION_CORID_CORE_MSC: 316 - case MIPS_REVISION_CORID_CORE_FPGA2: 317 - case MIPS_REVISION_CORID_CORE_FPGA3: 318 - case MIPS_REVISION_CORID_CORE_24K: 319 - case MIPS_REVISION_CORID_CORE_EMUL_MSC: 314 + switch(mips_revision_sconid) { 315 + case MIPS_REVISION_SCON_SOCIT: 316 + case MIPS_REVISION_SCON_ROCIT: 320 317 if (cpu_has_veic) 321 - init_msc_irqs (MSC01E_INT_BASE, msc_eicirqmap, msc_nr_eicirqs); 318 + init_msc_irqs (MIPS_MSC01_IC_REG_BASE, MSC01E_INT_BASE, msc_eicirqmap, msc_nr_eicirqs); 322 319 else 323 - init_msc_irqs (MSC01C_INT_BASE, msc_irqmap, msc_nr_irqs); 320 + init_msc_irqs (MIPS_MSC01_IC_REG_BASE, MSC01C_INT_BASE, msc_irqmap, msc_nr_irqs); 321 + break; 322 + 323 + case MIPS_REVISION_SCON_SOCITSC: 324 + case MIPS_REVISION_SCON_SOCITSCP: 325 + if (cpu_has_veic) 326 + init_msc_irqs (MIPS_SOCITSC_IC_REG_BASE, MSC01E_INT_BASE, msc_eicirqmap, msc_nr_eicirqs); 327 + else 328 + init_msc_irqs (MIPS_SOCITSC_IC_REG_BASE, MSC01C_INT_BASE, msc_irqmap, msc_nr_irqs); 324 329 } 325 330 326 331 if (cpu_has_veic) {
-2
arch/mips/mm/highmem.c
··· 80 80 pagefault_enable(); 81 81 } 82 82 83 - #ifndef CONFIG_LIMITED_DMA 84 83 /* 85 84 * This is the same as kmap_atomic() but can map memory that doesn't 86 85 * have a struct page associated with it. ··· 98 99 99 100 return (void*) vaddr; 100 101 } 101 - #endif /* CONFIG_LIMITED_DMA */ 102 102 103 103 struct page *__kmap_atomic_to_page(void *ptr) 104 104 {
-3
arch/mips/mm/init.c
··· 424 424 continue; 425 425 } 426 426 ClearPageReserved(page); 427 - #ifdef CONFIG_LIMITED_DMA 428 - set_page_address(page, lowmem_page_address(page)); 429 - #endif 430 427 init_page_count(page); 431 428 __free_page(page); 432 429 totalhigh_pages++;
+18 -18
arch/mips/mm/tlbex.c
··· 35 35 #include <asm/smp.h> 36 36 #include <asm/war.h> 37 37 38 - static __init int __attribute__((unused)) r45k_bvahwbug(void) 38 + static __init int __maybe_unused r45k_bvahwbug(void) 39 39 { 40 40 /* XXX: We should probe for the presence of this bug, but we don't. */ 41 41 return 0; 42 42 } 43 43 44 - static __init int __attribute__((unused)) r4k_250MHZhwbug(void) 44 + static __init int __maybe_unused r4k_250MHZhwbug(void) 45 45 { 46 46 /* XXX: We should probe for the presence of this bug, but we don't. */ 47 47 return 0; 48 48 } 49 49 50 - static __init int __attribute__((unused)) bcm1250_m3_war(void) 50 + static __init int __maybe_unused bcm1250_m3_war(void) 51 51 { 52 52 return BCM1250_M3_WAR; 53 53 } 54 54 55 - static __init int __attribute__((unused)) r10000_llsc_war(void) 55 + static __init int __maybe_unused r10000_llsc_war(void) 56 56 { 57 57 return R10000_LLSC_WAR; 58 58 } ··· 511 511 #define i_ehb(buf) i_sll(buf, 0, 0, 3) 512 512 513 513 #ifdef CONFIG_64BIT 514 - static __init int __attribute__((unused)) in_compat_space_p(long addr) 514 + static __init int __maybe_unused in_compat_space_p(long addr) 515 515 { 516 516 /* Is this address in 32bit compat space? */ 517 517 return (((addr) & 0xffffffff00000000L) == 0xffffffff00000000L); 518 518 } 519 519 520 - static __init int __attribute__((unused)) rel_highest(long val) 520 + static __init int __maybe_unused rel_highest(long val) 521 521 { 522 522 return ((((val + 0x800080008000L) >> 48) & 0xffff) ^ 0x8000) - 0x8000; 523 523 } 524 524 525 - static __init int __attribute__((unused)) rel_higher(long val) 525 + static __init int __maybe_unused rel_higher(long val) 526 526 { 527 527 return ((((val + 0x80008000L) >> 32) & 0xffff) ^ 0x8000) - 0x8000; 528 528 } ··· 556 556 i_lui(buf, rs, rel_hi(addr)); 557 557 } 558 558 559 - static __init void __attribute__((unused)) i_LA(u32 **buf, unsigned int rs, 560 - long addr) 559 + static __init void __maybe_unused i_LA(u32 **buf, unsigned int rs, 560 + long addr) 561 561 { 562 562 i_LA_mostly(buf, rs, addr); 563 563 if (rel_lo(addr)) ··· 636 636 move_labels(lab, first, end, off); 637 637 } 638 638 639 - static __init int __attribute__((unused)) insn_has_bdelay(struct reloc *rel, 640 - u32 *addr) 639 + static __init int __maybe_unused insn_has_bdelay(struct reloc *rel, 640 + u32 *addr) 641 641 { 642 642 for (; rel->lab != label_invalid; rel++) { 643 643 if (rel->addr == addr ··· 650 650 } 651 651 652 652 /* convenience functions for labeled branches */ 653 - static void __init __attribute__((unused)) 653 + static void __init __maybe_unused 654 654 il_bltz(u32 **p, struct reloc **r, unsigned int reg, enum label_id l) 655 655 { 656 656 r_mips_pc16(r, *p, l); 657 657 i_bltz(p, reg, 0); 658 658 } 659 659 660 - static void __init __attribute__((unused)) il_b(u32 **p, struct reloc **r, 661 - enum label_id l) 660 + static void __init __maybe_unused il_b(u32 **p, struct reloc **r, 661 + enum label_id l) 662 662 { 663 663 r_mips_pc16(r, *p, l); 664 664 i_b(p, 0); ··· 671 671 i_beqz(p, reg, 0); 672 672 } 673 673 674 - static void __init __attribute__((unused)) 674 + static void __init __maybe_unused 675 675 il_beqzl(u32 **p, struct reloc **r, unsigned int reg, enum label_id l) 676 676 { 677 677 r_mips_pc16(r, *p, l); ··· 692 692 i_bgezl(p, reg, 0); 693 693 } 694 694 695 - static void __init __attribute__((unused)) 695 + static void __init __maybe_unused 696 696 il_bgez(u32 **p, struct reloc **r, unsigned int reg, enum label_id l) 697 697 { 698 698 r_mips_pc16(r, *p, l); ··· 810 810 * 811 811 * As if we MIPS hackers wouldn't know how to nop pipelines happy ... 812 812 */ 813 - static __init void __attribute__((unused)) build_tlb_probe_entry(u32 **p) 813 + static __init void __maybe_unused build_tlb_probe_entry(u32 **p) 814 814 { 815 815 switch (current_cpu_data.cputype) { 816 816 /* Found by experiment: R4600 v2.0 needs this, too. */ ··· 1098 1098 * TMP and PTR are scratch. 1099 1099 * TMP will be clobbered, PTR will hold the pgd entry. 1100 1100 */ 1101 - static __init void __attribute__((unused)) 1101 + static __init void __maybe_unused 1102 1102 build_get_pgde32(u32 **p, unsigned int tmp, unsigned int ptr) 1103 1103 { 1104 1104 long pgdc = (long)pgd_current;
-6
arch/mips/momentum/Kconfig
··· 1 - config JAGUAR_DMALOW 2 - bool "Low DMA Mode" 3 - depends on MOMENCO_JAGUAR_ATX 4 - help 5 - Select to Y if jump JP5 is set on your board, N otherwise. Normally 6 - the jumper is set, so if you feel unsafe, just say Y.
-12
arch/mips/momentum/jaguar_atx/Makefile
··· 1 - # 2 - # Makefile for Momentum Computer's Jaguar-ATX board. 3 - # 4 - # Note! Dependencies are done automagically by 'make dep', which also 5 - # removes any old dependencies. DON'T put your own dependencies here 6 - # unless it's something special (ie not a .c file). 7 - # 8 - 9 - obj-y += irq.o platform.o prom.o reset.o setup.o 10 - 11 - obj-$(CONFIG_SERIAL_8250_CONSOLE) += ja-console.o 12 - obj-$(CONFIG_REMOTE_DEBUG) += dbg_io.o
-125
arch/mips/momentum/jaguar_atx/dbg_io.c
··· 1 - 2 - #if defined(CONFIG_REMOTE_DEBUG) 3 - 4 - #include <asm/serial.h> /* For the serial port location and base baud */ 5 - 6 - /* --- CONFIG --- */ 7 - 8 - typedef unsigned char uint8; 9 - typedef unsigned int uint32; 10 - 11 - /* --- END OF CONFIG --- */ 12 - 13 - #define UART16550_BAUD_2400 2400 14 - #define UART16550_BAUD_4800 4800 15 - #define UART16550_BAUD_9600 9600 16 - #define UART16550_BAUD_19200 19200 17 - #define UART16550_BAUD_38400 38400 18 - #define UART16550_BAUD_57600 57600 19 - #define UART16550_BAUD_115200 115200 20 - 21 - #define UART16550_PARITY_NONE 0 22 - #define UART16550_PARITY_ODD 0x08 23 - #define UART16550_PARITY_EVEN 0x18 24 - #define UART16550_PARITY_MARK 0x28 25 - #define UART16550_PARITY_SPACE 0x38 26 - 27 - #define UART16550_DATA_5BIT 0x0 28 - #define UART16550_DATA_6BIT 0x1 29 - #define UART16550_DATA_7BIT 0x2 30 - #define UART16550_DATA_8BIT 0x3 31 - 32 - #define UART16550_STOP_1BIT 0x0 33 - #define UART16550_STOP_2BIT 0x4 34 - 35 - /* ----------------------------------------------------- */ 36 - 37 - /* === CONFIG === */ 38 - 39 - /* [jsun] we use the second serial port for kdb */ 40 - #define BASE OCELOT_SERIAL1_BASE 41 - #define MAX_BAUD OCELOT_BASE_BAUD 42 - 43 - /* === END OF CONFIG === */ 44 - 45 - #define REG_OFFSET 4 46 - 47 - /* register offset */ 48 - #define OFS_RCV_BUFFER 0 49 - #define OFS_TRANS_HOLD 0 50 - #define OFS_SEND_BUFFER 0 51 - #define OFS_INTR_ENABLE (1*REG_OFFSET) 52 - #define OFS_INTR_ID (2*REG_OFFSET) 53 - #define OFS_DATA_FORMAT (3*REG_OFFSET) 54 - #define OFS_LINE_CONTROL (3*REG_OFFSET) 55 - #define OFS_MODEM_CONTROL (4*REG_OFFSET) 56 - #define OFS_RS232_OUTPUT (4*REG_OFFSET) 57 - #define OFS_LINE_STATUS (5*REG_OFFSET) 58 - #define OFS_MODEM_STATUS (6*REG_OFFSET) 59 - #define OFS_RS232_INPUT (6*REG_OFFSET) 60 - #define OFS_SCRATCH_PAD (7*REG_OFFSET) 61 - 62 - #define OFS_DIVISOR_LSB (0*REG_OFFSET) 63 - #define OFS_DIVISOR_MSB (1*REG_OFFSET) 64 - 65 - 66 - /* memory-mapped read/write of the port */ 67 - #define UART16550_READ(y) (*((volatile uint8*)(BASE + y))) 68 - #define UART16550_WRITE(y, z) ((*((volatile uint8*)(BASE + y))) = z) 69 - 70 - void debugInit(uint32 baud, uint8 data, uint8 parity, uint8 stop) 71 - { 72 - /* disable interrupts */ 73 - UART16550_WRITE(OFS_INTR_ENABLE, 0); 74 - 75 - /* set up baud rate */ 76 - { 77 - uint32 divisor; 78 - 79 - /* set DIAB bit */ 80 - UART16550_WRITE(OFS_LINE_CONTROL, 0x80); 81 - 82 - /* set divisor */ 83 - divisor = MAX_BAUD / baud; 84 - UART16550_WRITE(OFS_DIVISOR_LSB, divisor & 0xff); 85 - UART16550_WRITE(OFS_DIVISOR_MSB, (divisor & 0xff00) >> 8); 86 - 87 - /* clear DIAB bit */ 88 - UART16550_WRITE(OFS_LINE_CONTROL, 0x0); 89 - } 90 - 91 - /* set data format */ 92 - UART16550_WRITE(OFS_DATA_FORMAT, data | parity | stop); 93 - } 94 - 95 - static int remoteDebugInitialized = 0; 96 - 97 - uint8 getDebugChar(void) 98 - { 99 - if (!remoteDebugInitialized) { 100 - remoteDebugInitialized = 1; 101 - debugInit(UART16550_BAUD_38400, 102 - UART16550_DATA_8BIT, 103 - UART16550_PARITY_NONE, UART16550_STOP_1BIT); 104 - } 105 - 106 - while ((UART16550_READ(OFS_LINE_STATUS) & 0x1) == 0); 107 - return UART16550_READ(OFS_RCV_BUFFER); 108 - } 109 - 110 - 111 - int putDebugChar(uint8 byte) 112 - { 113 - if (!remoteDebugInitialized) { 114 - remoteDebugInitialized = 1; 115 - debugInit(UART16550_BAUD_38400, 116 - UART16550_DATA_8BIT, 117 - UART16550_PARITY_NONE, UART16550_STOP_1BIT); 118 - } 119 - 120 - while ((UART16550_READ(OFS_LINE_STATUS) & 0x20) == 0); 121 - UART16550_WRITE(OFS_SEND_BUFFER, byte); 122 - return 1; 123 - } 124 - 125 - #endif
-94
arch/mips/momentum/jaguar_atx/irq.c
··· 1 - /* 2 - * Copyright (C) 2002 Momentum Computer, Inc. 3 - * Author: Matthew Dharm, mdharm@momenco.com 4 - * 5 - * Based on work by: 6 - * Copyright (C) 2000 RidgeRun, Inc. 7 - * Author: RidgeRun, Inc. 8 - * glonnon@ridgerun.com, skranz@ridgerun.com, stevej@ridgerun.com 9 - * 10 - * Copyright 2001 MontaVista Software Inc. 11 - * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net 12 - * 13 - * Copyright (C) 2000, 01, 06 Ralf Baechle (ralf@linux-mips.org) 14 - * 15 - * This program is free software; you can redistribute it and/or modify it 16 - * under the terms of the GNU General Public License as published by the 17 - * Free Software Foundation; either version 2 of the License, or (at your 18 - * option) any later version. 19 - * 20 - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED 21 - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 22 - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN 23 - * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 24 - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 25 - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 26 - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 27 - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 29 - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 - * 31 - * You should have received a copy of the GNU General Public License along 32 - * with this program; if not, write to the Free Software Foundation, Inc., 33 - * 675 Mass Ave, Cambridge, MA 02139, USA. 34 - */ 35 - #include <linux/init.h> 36 - #include <linux/interrupt.h> 37 - #include <linux/signal.h> 38 - #include <linux/types.h> 39 - #include <asm/irq_cpu.h> 40 - #include <asm/mipsregs.h> 41 - #include <asm/time.h> 42 - 43 - asmlinkage void plat_irq_dispatch(void) 44 - { 45 - unsigned int pending = read_c0_cause() & read_c0_status(); 46 - 47 - if (pending & STATUSF_IP0) 48 - do_IRQ(0); 49 - else if (pending & STATUSF_IP1) 50 - do_IRQ(1); 51 - else if (pending & STATUSF_IP2) 52 - do_IRQ(2); 53 - else if (pending & STATUSF_IP3) 54 - do_IRQ(3); 55 - else if (pending & STATUSF_IP4) 56 - do_IRQ(4); 57 - else if (pending & STATUSF_IP5) 58 - do_IRQ(5); 59 - else if (pending & STATUSF_IP6) 60 - do_IRQ(6); 61 - else if (pending & STATUSF_IP7) 62 - ll_timer_interrupt(7); 63 - else { 64 - /* 65 - * Now look at the extended interrupts 66 - */ 67 - pending = (read_c0_cause() & (read_c0_intcontrol() << 8)) >> 16; 68 - if (pending & STATUSF_IP8) 69 - ll_mv64340_irq(); 70 - } 71 - } 72 - 73 - static struct irqaction cascade_mv64340 = { 74 - no_action, IRQF_DISABLED, CPU_MASK_NONE, "MV64340-Cascade", NULL, NULL 75 - }; 76 - 77 - void __init arch_init_irq(void) 78 - { 79 - /* 80 - * Clear all of the interrupts while we change the able around a bit. 81 - * int-handler is not on bootstrap 82 - */ 83 - clear_c0_status(ST0_IM); 84 - 85 - mips_cpu_irq_init(); 86 - rm7k_cpu_irq_init(); 87 - 88 - /* set up the cascading interrupts */ 89 - setup_irq(8, &cascade_mv64340); 90 - 91 - mv64340_irq_init(16); 92 - 93 - set_c0_status(ST0_IM); 94 - }
-101
arch/mips/momentum/jaguar_atx/ja-console.c
··· 1 - /* 2 - * This file is subject to the terms and conditions of the GNU General Public 3 - * License. See the file "COPYING" in the main directory of this archive 4 - * for more details. 5 - * 6 - * Copyright (C) 2001, 2002, 2004 Ralf Baechle 7 - */ 8 - #include <linux/init.h> 9 - #include <linux/console.h> 10 - #include <linux/kdev_t.h> 11 - #include <linux/major.h> 12 - #include <linux/termios.h> 13 - #include <linux/sched.h> 14 - #include <linux/tty.h> 15 - 16 - #include <linux/serial.h> 17 - #include <linux/serial_core.h> 18 - #include <asm/serial.h> 19 - 20 - /* SUPERIO uart register map */ 21 - struct ja_uartregs { 22 - union { 23 - volatile u8 pad0[3]; 24 - volatile u8 rbr; /* read only, DLAB == 0 */ 25 - volatile u8 pad1[3]; 26 - volatile u8 thr; /* write only, DLAB == 0 */ 27 - volatile u8 pad2[3]; 28 - volatile u8 dll; /* DLAB == 1 */ 29 - } u1; 30 - union { 31 - volatile u8 pad0[3]; 32 - volatile u8 ier; /* DLAB == 0 */ 33 - volatile u8 pad1[3]; 34 - volatile u8 dlm; /* DLAB == 1 */ 35 - } u2; 36 - union { 37 - volatile u8 pad0[3]; 38 - volatile u8 iir; /* read only */ 39 - volatile u8 pad1[3]; 40 - volatile u8 fcr; /* write only */ 41 - } u3; 42 - volatile u8 pad0[3]; 43 - volatile u8 iu_lcr; 44 - volatile u8 pad1[3]; 45 - volatile u8 iu_mcr; 46 - volatile u8 pad2[3]; 47 - volatile u8 iu_lsr; 48 - volatile u8 pad3[3]; 49 - volatile u8 iu_msr; 50 - volatile u8 pad4[3]; 51 - volatile u8 iu_scr; 52 - } ja_uregs_t; 53 - 54 - #define iu_rbr u1.rbr 55 - #define iu_thr u1.thr 56 - #define iu_dll u1.dll 57 - #define iu_ier u2.ier 58 - #define iu_dlm u2.dlm 59 - #define iu_iir u3.iir 60 - #define iu_fcr u3.fcr 61 - 62 - extern unsigned long uart_base; 63 - 64 - static inline struct ja_uartregs *console_uart(void) 65 - { 66 - return (struct ja_uartregs *) (uart_base + 0x23UL); 67 - } 68 - 69 - void prom_putchar(char c) 70 - { 71 - struct ja_uartregs *uart = console_uart(); 72 - 73 - while ((uart->iu_lsr & 0x20) == 0); 74 - uart->iu_thr = c; 75 - } 76 - 77 - static void inline ja_console_probe(void) 78 - { 79 - struct uart_port up; 80 - 81 - /* 82 - * Register to interrupt zero because we share the interrupt with 83 - * the serial driver which we don't properly support yet. 84 - */ 85 - memset(&up, 0, sizeof(up)); 86 - up.membase = (unsigned char *) uart_base + 0x23UL; 87 - up.irq = JAGUAR_ATX_SERIAL1_IRQ; 88 - up.uartclk = JAGUAR_ATX_UART_CLK; 89 - up.regshift = 2; 90 - up.iotype = UPIO_MEM; 91 - up.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST; 92 - up.line = 0; 93 - 94 - if (early_serial_setup(&up)) 95 - printk(KERN_ERR "Early serial init of port 0 failed\n"); 96 - } 97 - 98 - __init void ja_setup_console(void) 99 - { 100 - ja_console_probe(); 101 - }
-54
arch/mips/momentum/jaguar_atx/jaguar_atx_fpga.h
··· 1 - /* 2 - * Jaguar-ATX Board Register Definitions 3 - * 4 - * (C) 2002 Momentum Computer Inc. 5 - * 6 - * This program is free software; you can redistribute it and/or modify it 7 - * under the terms of the GNU General Public License as published by the 8 - * Free Software Foundation; either version 2 of the License, or (at your 9 - * option) any later version. 10 - * 11 - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED 12 - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 13 - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN 14 - * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 15 - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 16 - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 17 - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 18 - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 19 - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 20 - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 21 - * 22 - * You should have received a copy of the GNU General Public License along 23 - * with this program; if not, write to the Free Software Foundation, Inc., 24 - * 675 Mass Ave, Cambridge, MA 02139, USA. 25 - */ 26 - #ifndef __JAGUAR_ATX_FPGA_H__ 27 - #define __JAGUAR_ATX_FPGA_H__ 28 - 29 - #define JAGUAR_ATX_REG_BOARDREV 0x0 30 - #define JAGUAR_ATX_REG_FPGA_REV 0x1 31 - #define JAGUAR_ATX_REG_FPGA_TYPE 0x2 32 - #define JAGUAR_ATX_REG_RESET_STATUS 0x3 33 - #define JAGUAR_ATX_REG_BOARD_STATUS 0x4 34 - #define JAGUAR_ATX_REG_RESERVED1 0x5 35 - #define JAGUAR_ATX_REG_SET 0x6 36 - #define JAGUAR_ATX_REG_CLR 0x7 37 - #define JAGUAR_ATX_REG_EEPROM_MODE 0x9 38 - #define JAGUAR_ATX_REG_RESERVED2 0xa 39 - #define JAGUAR_ATX_REG_RESERVED3 0xb 40 - #define JAGUAR_ATX_REG_RESERVED4 0xc 41 - #define JAGUAR_ATX_REG_PHY_INTSTAT 0xd 42 - #define JAGUAR_ATX_REG_RESERVED5 0xe 43 - #define JAGUAR_ATX_REG_RESERVED6 0xf 44 - 45 - #define JAGUAR_ATX_CS0_ADDR 0xfc000000L 46 - 47 - extern unsigned long ja_fpga_base; 48 - 49 - #define __FPGA_REG_TO_ADDR(reg) \ 50 - ((void *) ja_fpga_base + JAGUAR_ATX_REG_##reg) 51 - #define JAGUAR_FPGA_WRITE(x, reg) writeb(x, __FPGA_REG_TO_ADDR(reg)) 52 - #define JAGUAR_FPGA_READ(reg) readb(__FPGA_REG_TO_ADDR(reg)) 53 - 54 - #endif
-208
arch/mips/momentum/jaguar_atx/platform.c
··· 1 - #include <linux/delay.h> 2 - #include <linux/if_ether.h> 3 - #include <linux/ioport.h> 4 - #include <linux/mv643xx.h> 5 - #include <linux/platform_device.h> 6 - 7 - #include "jaguar_atx_fpga.h" 8 - 9 - #if defined(CONFIG_MV643XX_ETH) || defined(CONFIG_MV643XX_ETH_MODULE) 10 - 11 - static struct resource mv643xx_eth_shared_resources[] = { 12 - [0] = { 13 - .name = "ethernet shared base", 14 - .start = 0xf1000000 + MV643XX_ETH_SHARED_REGS, 15 - .end = 0xf1000000 + MV643XX_ETH_SHARED_REGS + 16 - MV643XX_ETH_SHARED_REGS_SIZE - 1, 17 - .flags = IORESOURCE_MEM, 18 - }, 19 - }; 20 - 21 - static struct platform_device mv643xx_eth_shared_device = { 22 - .name = MV643XX_ETH_SHARED_NAME, 23 - .id = 0, 24 - .num_resources = ARRAY_SIZE(mv643xx_eth_shared_resources), 25 - .resource = mv643xx_eth_shared_resources, 26 - }; 27 - 28 - #define MV_SRAM_BASE 0xfe000000UL 29 - #define MV_SRAM_SIZE (256 * 1024) 30 - 31 - #define MV_SRAM_RXRING_SIZE (MV_SRAM_SIZE / 4) 32 - #define MV_SRAM_TXRING_SIZE (MV_SRAM_SIZE / 4) 33 - 34 - #define MV_SRAM_BASE_ETH0 MV_SRAM_BASE 35 - #define MV_SRAM_BASE_ETH1 (MV_SRAM_BASE + (MV_SRAM_SIZE / 2)) 36 - 37 - #define MV64x60_IRQ_ETH_0 48 38 - #define MV64x60_IRQ_ETH_1 49 39 - #define MV64x60_IRQ_ETH_2 50 40 - 41 - static struct resource mv64x60_eth0_resources[] = { 42 - [0] = { 43 - .name = "eth0 irq", 44 - .start = MV64x60_IRQ_ETH_0, 45 - .end = MV64x60_IRQ_ETH_0, 46 - .flags = IORESOURCE_IRQ, 47 - }, 48 - }; 49 - 50 - static struct mv643xx_eth_platform_data eth0_pd = { 51 - .port_number = 0, 52 - 53 - .tx_sram_addr = MV_SRAM_BASE_ETH0, 54 - .tx_sram_size = MV_SRAM_TXRING_SIZE, 55 - .tx_queue_size = MV_SRAM_TXRING_SIZE / 16, 56 - 57 - .rx_sram_addr = MV_SRAM_BASE_ETH0 + MV_SRAM_TXRING_SIZE, 58 - .rx_sram_size = MV_SRAM_RXRING_SIZE, 59 - .rx_queue_size = MV_SRAM_RXRING_SIZE / 16, 60 - }; 61 - 62 - static struct platform_device eth0_device = { 63 - .name = MV643XX_ETH_NAME, 64 - .id = 0, 65 - .num_resources = ARRAY_SIZE(mv64x60_eth0_resources), 66 - .resource = mv64x60_eth0_resources, 67 - .dev = { 68 - .platform_data = &eth0_pd, 69 - }, 70 - }; 71 - 72 - static struct resource mv64x60_eth1_resources[] = { 73 - [0] = { 74 - .name = "eth1 irq", 75 - .start = MV64x60_IRQ_ETH_1, 76 - .end = MV64x60_IRQ_ETH_1, 77 - .flags = IORESOURCE_IRQ, 78 - }, 79 - }; 80 - 81 - static struct mv643xx_eth_platform_data eth1_pd = { 82 - .port_number = 1, 83 - 84 - .tx_sram_addr = MV_SRAM_BASE_ETH1, 85 - .tx_sram_size = MV_SRAM_TXRING_SIZE, 86 - .tx_queue_size = MV_SRAM_TXRING_SIZE / 16, 87 - 88 - .rx_sram_addr = MV_SRAM_BASE_ETH1 + MV_SRAM_TXRING_SIZE, 89 - .rx_sram_size = MV_SRAM_RXRING_SIZE, 90 - .rx_queue_size = MV_SRAM_RXRING_SIZE / 16, 91 - }; 92 - 93 - static struct platform_device eth1_device = { 94 - .name = MV643XX_ETH_NAME, 95 - .id = 1, 96 - .num_resources = ARRAY_SIZE(mv64x60_eth1_resources), 97 - .resource = mv64x60_eth1_resources, 98 - .dev = { 99 - .platform_data = &eth1_pd, 100 - }, 101 - }; 102 - 103 - static struct resource mv64x60_eth2_resources[] = { 104 - [0] = { 105 - .name = "eth2 irq", 106 - .start = MV64x60_IRQ_ETH_2, 107 - .end = MV64x60_IRQ_ETH_2, 108 - .flags = IORESOURCE_IRQ, 109 - }, 110 - }; 111 - 112 - static struct mv643xx_eth_platform_data eth2_pd = { 113 - .port_number = 2, 114 - }; 115 - 116 - static struct platform_device eth2_device = { 117 - .name = MV643XX_ETH_NAME, 118 - .id = 2, 119 - .num_resources = ARRAY_SIZE(mv64x60_eth2_resources), 120 - .resource = mv64x60_eth2_resources, 121 - .dev = { 122 - .platform_data = &eth2_pd, 123 - }, 124 - }; 125 - 126 - static struct platform_device *mv643xx_eth_pd_devs[] __initdata = { 127 - &mv643xx_eth_shared_device, 128 - &eth0_device, 129 - &eth1_device, 130 - &eth2_device, 131 - }; 132 - 133 - static u8 __init exchange_bit(u8 val, u8 cs) 134 - { 135 - /* place the data */ 136 - JAGUAR_FPGA_WRITE((val << 2) | cs, EEPROM_MODE); 137 - udelay(1); 138 - 139 - /* turn the clock on */ 140 - JAGUAR_FPGA_WRITE((val << 2) | cs | 0x2, EEPROM_MODE); 141 - udelay(1); 142 - 143 - /* turn the clock off and read-strobe */ 144 - JAGUAR_FPGA_WRITE((val << 2) | cs | 0x10, EEPROM_MODE); 145 - 146 - /* return the data */ 147 - return (JAGUAR_FPGA_READ(EEPROM_MODE) >> 3) & 0x1; 148 - } 149 - 150 - static void __init get_mac(char dest[6]) 151 - { 152 - u8 read_opcode[12] = {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; 153 - int i,j; 154 - 155 - for (i = 0; i < 12; i++) 156 - exchange_bit(read_opcode[i], 1); 157 - 158 - for (j = 0; j < 6; j++) { 159 - dest[j] = 0; 160 - for (i = 0; i < 8; i++) { 161 - dest[j] <<= 1; 162 - dest[j] |= exchange_bit(0, 1); 163 - } 164 - } 165 - 166 - /* turn off CS */ 167 - exchange_bit(0,0); 168 - } 169 - 170 - /* 171 - * Copy and increment ethernet MAC address by a small value. 172 - * 173 - * This is useful for systems where the only one MAC address is stored in 174 - * non-volatile memory for multiple ports. 175 - */ 176 - static inline void eth_mac_add(unsigned char *dst, unsigned char *src, 177 - unsigned int add) 178 - { 179 - int i; 180 - 181 - BUG_ON(add >= 256); 182 - 183 - for (i = ETH_ALEN; i >= 0; i--) { 184 - dst[i] = src[i] + add; 185 - add = dst[i] < src[i]; /* compute carry */ 186 - } 187 - 188 - WARN_ON(add); 189 - } 190 - 191 - static int __init mv643xx_eth_add_pds(void) 192 - { 193 - unsigned char mac[ETH_ALEN]; 194 - int ret; 195 - 196 - get_mac(mac); 197 - eth_mac_add(eth0_pd.mac_addr, mac, 0); 198 - eth_mac_add(eth1_pd.mac_addr, mac, 1); 199 - eth_mac_add(eth2_pd.mac_addr, mac, 2); 200 - ret = platform_add_devices(mv643xx_eth_pd_devs, 201 - ARRAY_SIZE(mv643xx_eth_pd_devs)); 202 - 203 - return ret; 204 - } 205 - 206 - device_initcall(mv643xx_eth_add_pds); 207 - 208 - #endif /* defined(CONFIG_MV643XX_ETH) || defined(CONFIG_MV643XX_ETH_MODULE) */
-210
arch/mips/momentum/jaguar_atx/prom.c
··· 1 - /* 2 - * Copyright 2002 Momentum Computer Inc. 3 - * Author: Matthew Dharm <mdharm@momenco.com> 4 - * 5 - * Louis Hamilton, Red Hat, Inc. 6 - * hamilton@redhat.com [MIPS64 modifications] 7 - * 8 - * Based on Ocelot Linux port, which is 9 - * Copyright 2001 MontaVista Software Inc. 10 - * Author: jsun@mvista.com or jsun@junsun.net 11 - * 12 - * This program is free software; you can redistribute it and/or modify it 13 - * under the terms of the GNU General Public License as published by the 14 - * Free Software Foundation; either version 2 of the License, or (at your 15 - * option) any later version. 16 - * 17 - * Added changes for SMP - Manish Lachwani (lachwani@pmc-sierra.com) 18 - */ 19 - #include <linux/init.h> 20 - #include <linux/mm.h> 21 - #include <linux/sched.h> 22 - #include <linux/bootmem.h> 23 - #include <linux/mv643xx.h> 24 - 25 - #include <asm/addrspace.h> 26 - #include <asm/bootinfo.h> 27 - #include <asm/pmon.h> 28 - 29 - #include "jaguar_atx_fpga.h" 30 - 31 - extern void ja_setup_console(void); 32 - 33 - struct callvectors *debug_vectors; 34 - 35 - extern unsigned long cpu_clock; 36 - 37 - const char *get_system_type(void) 38 - { 39 - return "Momentum Jaguar-ATX"; 40 - } 41 - 42 - #ifdef CONFIG_64BIT 43 - 44 - unsigned long signext(unsigned long addr) 45 - { 46 - addr &= 0xffffffff; 47 - return (unsigned long)((int)addr); 48 - } 49 - 50 - void *get_arg(unsigned long args, int arc) 51 - { 52 - unsigned long ul; 53 - unsigned char *puc, uc; 54 - 55 - args += (arc * 4); 56 - ul = (unsigned long)signext(args); 57 - puc = (unsigned char *)ul; 58 - if (puc == 0) 59 - return (void *)0; 60 - 61 - #ifdef CONFIG_CPU_LITTLE_ENDIAN 62 - uc = *puc++; 63 - l = (unsigned long)uc; 64 - uc = *puc++; 65 - ul |= (((unsigned long)uc) << 8); 66 - uc = *puc++; 67 - ul |= (((unsigned long)uc) << 16); 68 - uc = *puc++; 69 - ul |= (((unsigned long)uc) << 24); 70 - #else 71 - uc = *puc++; 72 - ul = ((unsigned long)uc) << 24; 73 - uc = *puc++; 74 - ul |= (((unsigned long)uc) << 16); 75 - uc = *puc++; 76 - ul |= (((unsigned long)uc) << 8); 77 - uc = *puc++; 78 - ul |= ((unsigned long)uc); 79 - #endif 80 - ul = signext(ul); 81 - 82 - return (void *)ul; 83 - } 84 - 85 - char *arg64(unsigned long addrin, int arg_index) 86 - { 87 - unsigned long args; 88 - char *p; 89 - 90 - args = signext(addrin); 91 - p = (char *)get_arg(args, arg_index); 92 - 93 - return p; 94 - } 95 - #endif /* CONFIG_64BIT */ 96 - 97 - /* PMON passes arguments in C main() style */ 98 - void __init prom_init(void) 99 - { 100 - int argc = fw_arg0; 101 - char **arg = (char **) fw_arg1; 102 - char **env = (char **) fw_arg2; 103 - struct callvectors *cv = (struct callvectors *) fw_arg3; 104 - int i; 105 - 106 - #ifdef CONFIG_SERIAL_8250_CONSOLE 107 - // ja_setup_console(); /* The very first thing. */ 108 - #endif 109 - 110 - #ifdef CONFIG_64BIT 111 - char *ptr; 112 - 113 - printk("Mips64 Jaguar-ATX\n"); 114 - /* save the PROM vectors for debugging use */ 115 - debug_vectors = (struct callvectors *)signext((unsigned long)cv); 116 - 117 - /* arg[0] is "g", the rest is boot parameters */ 118 - arcs_cmdline[0] = '\0'; 119 - 120 - for (i = 1; i < argc; i++) { 121 - ptr = (char *)arg64((unsigned long)arg, i); 122 - if ((strlen(arcs_cmdline) + strlen(ptr) + 1) >= 123 - sizeof(arcs_cmdline)) 124 - break; 125 - strcat(arcs_cmdline, ptr); 126 - strcat(arcs_cmdline, " "); 127 - } 128 - 129 - i = 0; 130 - while (1) { 131 - ptr = (char *)arg64((unsigned long)env, i); 132 - if (! ptr) 133 - break; 134 - 135 - if (strncmp("gtbase", ptr, strlen("gtbase")) == 0) { 136 - marvell_base = simple_strtol(ptr + strlen("gtbase="), 137 - NULL, 16); 138 - 139 - if ((marvell_base & 0xffffffff00000000) == 0) 140 - marvell_base |= 0xffffffff00000000; 141 - 142 - printk("marvell_base set to 0x%016lx\n", marvell_base); 143 - } 144 - if (strncmp("cpuclock", ptr, strlen("cpuclock")) == 0) { 145 - cpu_clock = simple_strtol(ptr + strlen("cpuclock="), 146 - NULL, 10); 147 - printk("cpu_clock set to %d\n", cpu_clock); 148 - } 149 - i++; 150 - } 151 - printk("arcs_cmdline: %s\n", arcs_cmdline); 152 - 153 - #else /* CONFIG_64BIT */ 154 - /* save the PROM vectors for debugging use */ 155 - debug_vectors = cv; 156 - 157 - /* arg[0] is "g", the rest is boot parameters */ 158 - arcs_cmdline[0] = '\0'; 159 - for (i = 1; i < argc; i++) { 160 - if (strlen(arcs_cmdline) + strlen(arg[i] + 1) 161 - >= sizeof(arcs_cmdline)) 162 - break; 163 - strcat(arcs_cmdline, arg[i]); 164 - strcat(arcs_cmdline, " "); 165 - } 166 - 167 - while (*env) { 168 - if (strncmp("gtbase", *env, strlen("gtbase")) == 0) { 169 - marvell_base = simple_strtol(*env + strlen("gtbase="), 170 - NULL, 16); 171 - } 172 - if (strncmp("cpuclock", *env, strlen("cpuclock")) == 0) { 173 - cpu_clock = simple_strtol(*env + strlen("cpuclock="), 174 - NULL, 10); 175 - } 176 - env++; 177 - } 178 - #endif /* CONFIG_64BIT */ 179 - mips_machgroup = MACH_GROUP_MOMENCO; 180 - mips_machtype = MACH_MOMENCO_JAGUAR_ATX; 181 - } 182 - 183 - void __init prom_free_prom_memory(void) 184 - { 185 - } 186 - 187 - void __init prom_fixup_mem_map(unsigned long start, unsigned long end) 188 - { 189 - } 190 - 191 - int prom_boot_secondary(int cpu, unsigned long sp, unsigned long gp) 192 - { 193 - /* Clear the semaphore */ 194 - *(volatile uint32_t *)(0xbb000a68) = 0x80000000; 195 - 196 - return 1; 197 - } 198 - 199 - void prom_init_secondary(void) 200 - { 201 - clear_c0_config(CONF_CM_CMASK); 202 - set_c0_config(0x2); 203 - 204 - clear_c0_status(ST0_IM); 205 - set_c0_status(0x1ffff); 206 - } 207 - 208 - void prom_smp_finish(void) 209 - { 210 - }
-56
arch/mips/momentum/jaguar_atx/reset.c
··· 1 - /* 2 - * This program is free software; you can redistribute it and/or modify it 3 - * under the terms of the GNU General Public License as published by the 4 - * Free Software Foundation; either version 2 of the License, or (at your 5 - * option) any later version. 6 - * 7 - * Copyright (C) 1997, 2001 Ralf Baechle 8 - * Copyright 2001 MontaVista Software Inc. 9 - * Author: jsun@mvista.com or jsun@junsun.net 10 - * 11 - * Copyright (C) 2002 Momentum Computer Inc. 12 - * Author: Matthew Dharm <mdharm@momenco.com> 13 - * 14 - * Louis Hamilton, Red Hat, Inc. 15 - * hamilton@redhat.com [MIPS64 modifications] 16 - */ 17 - #include <linux/sched.h> 18 - #include <linux/mm.h> 19 - #include <asm/io.h> 20 - #include <asm/pgtable.h> 21 - #include <asm/processor.h> 22 - #include <asm/reboot.h> 23 - #include <asm/system.h> 24 - #include <linux/delay.h> 25 - 26 - void momenco_jaguar_restart(char *command) 27 - { 28 - /* base address of timekeeper portion of part */ 29 - #ifdef CONFIG_64BIT 30 - void *nvram = (void*) 0xfffffffffc807000; 31 - #else 32 - void *nvram = (void*) 0xfc807000; 33 - #endif 34 - /* Ask the NVRAM/RTC/watchdog chip to assert reset in 1/16 second */ 35 - writeb(0x84, nvram + 0xff7); 36 - 37 - /* wait for the watchdog to go off */ 38 - mdelay(100+(1000/16)); 39 - 40 - /* if the watchdog fails for some reason, let people know */ 41 - printk(KERN_NOTICE "Watchdog reset failed\n"); 42 - } 43 - 44 - void momenco_jaguar_halt(void) 45 - { 46 - printk(KERN_NOTICE "\n** You can safely turn off the power\n"); 47 - while (1) 48 - __asm__(".set\tmips3\n\t" 49 - "wait\n\t" 50 - ".set\tmips0"); 51 - } 52 - 53 - void momenco_jaguar_power_off(void) 54 - { 55 - momenco_jaguar_halt(); 56 - }
-475
arch/mips/momentum/jaguar_atx/setup.c
··· 1 - /* 2 - * BRIEF MODULE DESCRIPTION 3 - * Momentum Computer Jaguar-ATX board dependent boot routines 4 - * 5 - * Copyright (C) 1996, 1997, 2001, 04, 06 Ralf Baechle (ralf@linux-mips.org) 6 - * Copyright (C) 2000 RidgeRun, Inc. 7 - * Copyright (C) 2001 Red Hat, Inc. 8 - * Copyright (C) 2002 Momentum Computer 9 - * 10 - * Author: Matthew Dharm, Momentum Computer 11 - * mdharm@momenco.com 12 - * 13 - * Louis Hamilton, Red Hat, Inc. 14 - * hamilton@redhat.com [MIPS64 modifications] 15 - * 16 - * Author: RidgeRun, Inc. 17 - * glonnon@ridgerun.com, skranz@ridgerun.com, stevej@ridgerun.com 18 - * 19 - * Copyright 2001 MontaVista Software Inc. 20 - * Author: jsun@mvista.com or jsun@junsun.net 21 - * 22 - * This program is free software; you can redistribute it and/or modify it 23 - * under the terms of the GNU General Public License as published by the 24 - * Free Software Foundation; either version 2 of the License, or (at your 25 - * option) any later version. 26 - * 27 - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED 28 - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 29 - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN 30 - * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 31 - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 32 - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 33 - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 34 - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 35 - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 36 - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 37 - * 38 - * You should have received a copy of the GNU General Public License along 39 - * with this program; if not, write to the Free Software Foundation, Inc., 40 - * 675 Mass Ave, Cambridge, MA 02139, USA. 41 - */ 42 - #include <linux/bcd.h> 43 - #include <linux/init.h> 44 - #include <linux/kernel.h> 45 - #include <linux/types.h> 46 - #include <linux/mm.h> 47 - #include <linux/bootmem.h> 48 - #include <linux/module.h> 49 - #include <linux/pci.h> 50 - #include <linux/swap.h> 51 - #include <linux/ioport.h> 52 - #include <linux/pm.h> 53 - #include <linux/sched.h> 54 - #include <linux/interrupt.h> 55 - #include <linux/timex.h> 56 - #include <linux/vmalloc.h> 57 - #include <linux/mv643xx.h> 58 - 59 - #include <asm/time.h> 60 - #include <asm/bootinfo.h> 61 - #include <asm/page.h> 62 - #include <asm/io.h> 63 - #include <asm/irq.h> 64 - #include <asm/processor.h> 65 - #include <asm/reboot.h> 66 - #include <asm/tlbflush.h> 67 - 68 - #include "jaguar_atx_fpga.h" 69 - 70 - extern unsigned long mv64340_sram_base; 71 - unsigned long cpu_clock; 72 - 73 - /* These functions are used for rebooting or halting the machine*/ 74 - extern void momenco_jaguar_restart(char *command); 75 - extern void momenco_jaguar_halt(void); 76 - extern void momenco_jaguar_power_off(void); 77 - 78 - void momenco_time_init(void); 79 - 80 - static char reset_reason; 81 - 82 - static inline unsigned long ENTRYLO(unsigned long paddr) 83 - { 84 - return ((paddr & PAGE_MASK) | 85 - (_PAGE_PRESENT | __READABLE | __WRITEABLE | _PAGE_GLOBAL | 86 - _CACHE_UNCACHED)) >> 6; 87 - } 88 - 89 - void __init bus_error_init(void) { /* nothing */ } 90 - 91 - /* 92 - * Load a few TLB entries for the MV64340 and perhiperals. The MV64340 is going 93 - * to be hit on every IRQ anyway - there's absolutely no point in letting it be 94 - * a random TLB entry, as it'll just cause needless churning of the TLB. And we 95 - * use the other half for the serial port, which is just a PITA otherwise :) 96 - * 97 - * Device Physical Virtual 98 - * MV64340 Internal Regs 0xf4000000 0xf4000000 99 - * Ocelot-C[S] PLD (CS0) 0xfc000000 0xfc000000 100 - * NVRAM (CS1) 0xfc800000 0xfc800000 101 - * UARTs (CS2) 0xfd000000 0xfd000000 102 - * Internal SRAM 0xfe000000 0xfe000000 103 - * M-Systems DOC (CS3) 0xff000000 0xff000000 104 - */ 105 - 106 - static __init void wire_stupidity_into_tlb(void) 107 - { 108 - #ifdef CONFIG_32BIT 109 - write_c0_wired(0); 110 - local_flush_tlb_all(); 111 - 112 - /* marvell and extra space */ 113 - add_wired_entry(ENTRYLO(0xf4000000), ENTRYLO(0xf4010000), 114 - 0xf4000000UL, PM_64K); 115 - /* fpga, rtc, and uart */ 116 - add_wired_entry(ENTRYLO(0xfc000000), ENTRYLO(0xfd000000), 117 - 0xfc000000UL, PM_16M); 118 - // /* m-sys and internal SRAM */ 119 - // add_wired_entry(ENTRYLO(0xfe000000), ENTRYLO(0xff000000), 120 - // 0xfe000000UL, PM_16M); 121 - 122 - marvell_base = 0xf4000000; 123 - //mv64340_sram_base = 0xfe000000; /* Currently unused */ 124 - #endif 125 - } 126 - 127 - unsigned long marvell_base = 0xf4000000L; 128 - unsigned long ja_fpga_base = JAGUAR_ATX_CS0_ADDR; 129 - unsigned long uart_base = 0xfd000000L; 130 - static unsigned char *rtc_base = (unsigned char*) 0xfc800000L; 131 - 132 - EXPORT_SYMBOL(marvell_base); 133 - 134 - static __init int per_cpu_mappings(void) 135 - { 136 - marvell_base = (unsigned long) ioremap(0xf4000000, 0x10000); 137 - ja_fpga_base = (unsigned long) ioremap(JAGUAR_ATX_CS0_ADDR, 0x1000); 138 - uart_base = (unsigned long) ioremap(0xfd000000UL, 0x1000); 139 - rtc_base = ioremap(0xfc000000UL, 0x8000); 140 - // ioremap(0xfe000000, 32 << 20); 141 - write_c0_wired(0); 142 - local_flush_tlb_all(); 143 - ja_setup_console(); 144 - 145 - return 0; 146 - } 147 - arch_initcall(per_cpu_mappings); 148 - 149 - unsigned long m48t37y_get_time(void) 150 - { 151 - unsigned int year, month, day, hour, min, sec; 152 - unsigned long flags; 153 - 154 - spin_lock_irqsave(&rtc_lock, flags); 155 - /* stop the update */ 156 - rtc_base[0x7ff8] = 0x40; 157 - 158 - year = BCD2BIN(rtc_base[0x7fff]); 159 - year += BCD2BIN(rtc_base[0x7ff1]) * 100; 160 - 161 - month = BCD2BIN(rtc_base[0x7ffe]); 162 - 163 - day = BCD2BIN(rtc_base[0x7ffd]); 164 - 165 - hour = BCD2BIN(rtc_base[0x7ffb]); 166 - min = BCD2BIN(rtc_base[0x7ffa]); 167 - sec = BCD2BIN(rtc_base[0x7ff9]); 168 - 169 - /* start the update */ 170 - rtc_base[0x7ff8] = 0x00; 171 - spin_unlock_irqrestore(&rtc_lock, flags); 172 - 173 - return mktime(year, month, day, hour, min, sec); 174 - } 175 - 176 - int m48t37y_set_time(unsigned long sec) 177 - { 178 - struct rtc_time tm; 179 - unsigned long flags; 180 - 181 - /* convert to a more useful format -- note months count from 0 */ 182 - to_tm(sec, &tm); 183 - tm.tm_mon += 1; 184 - 185 - spin_lock_irqsave(&rtc_lock, flags); 186 - /* enable writing */ 187 - rtc_base[0x7ff8] = 0x80; 188 - 189 - /* year */ 190 - rtc_base[0x7fff] = BIN2BCD(tm.tm_year % 100); 191 - rtc_base[0x7ff1] = BIN2BCD(tm.tm_year / 100); 192 - 193 - /* month */ 194 - rtc_base[0x7ffe] = BIN2BCD(tm.tm_mon); 195 - 196 - /* day */ 197 - rtc_base[0x7ffd] = BIN2BCD(tm.tm_mday); 198 - 199 - /* hour/min/sec */ 200 - rtc_base[0x7ffb] = BIN2BCD(tm.tm_hour); 201 - rtc_base[0x7ffa] = BIN2BCD(tm.tm_min); 202 - rtc_base[0x7ff9] = BIN2BCD(tm.tm_sec); 203 - 204 - /* day of week -- not really used, but let's keep it up-to-date */ 205 - rtc_base[0x7ffc] = BIN2BCD(tm.tm_wday + 1); 206 - 207 - /* disable writing */ 208 - rtc_base[0x7ff8] = 0x00; 209 - spin_unlock_irqrestore(&rtc_lock, flags); 210 - 211 - return 0; 212 - } 213 - 214 - void __init plat_timer_setup(struct irqaction *irq) 215 - { 216 - setup_irq(8, irq); 217 - } 218 - 219 - /* 220 - * Ugly but the least of all evils. TLB initialization did flush the TLB so 221 - * We need to setup mappings again before we can touch the RTC. 222 - */ 223 - void momenco_time_init(void) 224 - { 225 - wire_stupidity_into_tlb(); 226 - 227 - mips_hpt_frequency = cpu_clock / 2; 228 - 229 - rtc_mips_get_time = m48t37y_get_time; 230 - rtc_mips_set_time = m48t37y_set_time; 231 - } 232 - 233 - static struct resource mv_pci_io_mem0_resource = { 234 - .name = "MV64340 PCI0 IO MEM", 235 - .flags = IORESOURCE_IO 236 - }; 237 - 238 - static struct resource mv_pci_mem0_resource = { 239 - .name = "MV64340 PCI0 MEM", 240 - .flags = IORESOURCE_MEM 241 - }; 242 - 243 - static struct mv_pci_controller mv_bus0_controller = { 244 - .pcic = { 245 - .pci_ops = &mv_pci_ops, 246 - .mem_resource = &mv_pci_mem0_resource, 247 - .io_resource = &mv_pci_io_mem0_resource, 248 - }, 249 - .config_addr = MV64340_PCI_0_CONFIG_ADDR, 250 - .config_vreg = MV64340_PCI_0_CONFIG_DATA_VIRTUAL_REG, 251 - }; 252 - 253 - static uint32_t mv_io_base, mv_io_size; 254 - 255 - static void ja_pci0_init(void) 256 - { 257 - uint32_t mem0_base, mem0_size; 258 - uint32_t io_base, io_size; 259 - 260 - io_base = MV_READ(MV64340_PCI_0_IO_BASE_ADDR) << 16; 261 - io_size = (MV_READ(MV64340_PCI_0_IO_SIZE) + 1) << 16; 262 - mem0_base = MV_READ(MV64340_PCI_0_MEMORY0_BASE_ADDR) << 16; 263 - mem0_size = (MV_READ(MV64340_PCI_0_MEMORY0_SIZE) + 1) << 16; 264 - 265 - mv_pci_io_mem0_resource.start = 0; 266 - mv_pci_io_mem0_resource.end = io_size - 1; 267 - mv_pci_mem0_resource.start = mem0_base; 268 - mv_pci_mem0_resource.end = mem0_base + mem0_size - 1; 269 - mv_bus0_controller.pcic.mem_offset = mem0_base; 270 - mv_bus0_controller.pcic.io_offset = 0; 271 - 272 - ioport_resource.end = io_size - 1; 273 - 274 - register_pci_controller(&mv_bus0_controller.pcic); 275 - 276 - mv_io_base = io_base; 277 - mv_io_size = io_size; 278 - } 279 - 280 - static struct resource mv_pci_io_mem1_resource = { 281 - .name = "MV64340 PCI1 IO MEM", 282 - .flags = IORESOURCE_IO 283 - }; 284 - 285 - static struct resource mv_pci_mem1_resource = { 286 - .name = "MV64340 PCI1 MEM", 287 - .flags = IORESOURCE_MEM 288 - }; 289 - 290 - static struct mv_pci_controller mv_bus1_controller = { 291 - .pcic = { 292 - .pci_ops = &mv_pci_ops, 293 - .mem_resource = &mv_pci_mem1_resource, 294 - .io_resource = &mv_pci_io_mem1_resource, 295 - }, 296 - .config_addr = MV64340_PCI_1_CONFIG_ADDR, 297 - .config_vreg = MV64340_PCI_1_CONFIG_DATA_VIRTUAL_REG, 298 - }; 299 - 300 - static __init void ja_pci1_init(void) 301 - { 302 - uint32_t mem0_base, mem0_size; 303 - uint32_t io_base, io_size; 304 - 305 - io_base = MV_READ(MV64340_PCI_1_IO_BASE_ADDR) << 16; 306 - io_size = (MV_READ(MV64340_PCI_1_IO_SIZE) + 1) << 16; 307 - mem0_base = MV_READ(MV64340_PCI_1_MEMORY0_BASE_ADDR) << 16; 308 - mem0_size = (MV_READ(MV64340_PCI_1_MEMORY0_SIZE) + 1) << 16; 309 - 310 - /* 311 - * Here we assume the I/O window of second bus to be contiguous with 312 - * the first. A gap is no problem but would waste address space for 313 - * remapping the port space. 314 - */ 315 - mv_pci_io_mem1_resource.start = mv_io_size; 316 - mv_pci_io_mem1_resource.end = mv_io_size + io_size - 1; 317 - mv_pci_mem1_resource.start = mem0_base; 318 - mv_pci_mem1_resource.end = mem0_base + mem0_size - 1; 319 - mv_bus1_controller.pcic.mem_offset = mem0_base; 320 - mv_bus1_controller.pcic.io_offset = 0; 321 - 322 - ioport_resource.end = io_base + io_size -mv_io_base - 1; 323 - 324 - register_pci_controller(&mv_bus1_controller.pcic); 325 - 326 - mv_io_size = io_base + io_size - mv_io_base; 327 - } 328 - 329 - static __init int __init ja_pci_init(void) 330 - { 331 - unsigned long io_v_base; 332 - uint32_t enable; 333 - 334 - enable = ~MV_READ(MV64340_BASE_ADDR_ENABLE); 335 - 336 - /* 337 - * We require at least one enabled I/O or PCI memory window or we 338 - * will ignore this PCI bus. We ignore PCI windows 1, 2 and 3. 339 - */ 340 - if (enable & (0x01 << 9) || enable & (0x01 << 10)) 341 - ja_pci0_init(); 342 - 343 - if (enable & (0x01 << 14) || enable & (0x01 << 15)) 344 - ja_pci1_init(); 345 - 346 - if (mv_io_size) { 347 - io_v_base = (unsigned long) ioremap(mv_io_base, mv_io_size); 348 - if (!io_v_base) 349 - panic("Could not ioremap I/O port range"); 350 - 351 - set_io_port_base(io_v_base); 352 - } 353 - 354 - return 0; 355 - } 356 - 357 - arch_initcall(ja_pci_init); 358 - 359 - void __init plat_mem_setup(void) 360 - { 361 - unsigned int tmpword; 362 - 363 - board_time_init = momenco_time_init; 364 - 365 - _machine_restart = momenco_jaguar_restart; 366 - _machine_halt = momenco_jaguar_halt; 367 - pm_power_off = momenco_jaguar_power_off; 368 - 369 - /* 370 - * initrd_start = (unsigned long)jaguar_initrd_start; 371 - * initrd_end = (unsigned long)jaguar_initrd_start + (ulong)jaguar_initrd_size; 372 - * initrd_below_start_ok = 1; 373 - */ 374 - 375 - wire_stupidity_into_tlb(); 376 - 377 - /* 378 - * shut down ethernet ports, just to be sure our memory doesn't get 379 - * corrupted by random ethernet traffic. 380 - */ 381 - MV_WRITE(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(0), 0xff << 8); 382 - MV_WRITE(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(1), 0xff << 8); 383 - MV_WRITE(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(2), 0xff << 8); 384 - MV_WRITE(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(0), 0xff << 8); 385 - MV_WRITE(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(1), 0xff << 8); 386 - MV_WRITE(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(2), 0xff << 8); 387 - while (MV_READ(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(0)) & 0xff); 388 - while (MV_READ(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(1)) & 0xff); 389 - while (MV_READ(MV643XX_ETH_RECEIVE_QUEUE_COMMAND_REG(2)) & 0xff); 390 - while (MV_READ(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(0)) & 0xff); 391 - while (MV_READ(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(1)) & 0xff); 392 - while (MV_READ(MV643XX_ETH_TRANSMIT_QUEUE_COMMAND_REG(2)) & 0xff); 393 - MV_WRITE(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(0), 394 - MV_READ(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(0)) & ~1); 395 - MV_WRITE(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(1), 396 - MV_READ(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(1)) & ~1); 397 - MV_WRITE(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(2), 398 - MV_READ(MV643XX_ETH_PORT_SERIAL_CONTROL_REG(2)) & ~1); 399 - 400 - /* Turn off the Bit-Error LED */ 401 - JAGUAR_FPGA_WRITE(0x80, CLR); 402 - 403 - tmpword = JAGUAR_FPGA_READ(BOARDREV); 404 - if (tmpword < 26) 405 - printk("Momentum Jaguar-ATX: Board Assembly Rev. %c\n", 406 - 'A'+tmpword); 407 - else 408 - printk("Momentum Jaguar-ATX: Board Assembly Revision #0x%x\n", 409 - tmpword); 410 - 411 - tmpword = JAGUAR_FPGA_READ(FPGA_REV); 412 - printk("FPGA Rev: %d.%d\n", tmpword>>4, tmpword&15); 413 - tmpword = JAGUAR_FPGA_READ(RESET_STATUS); 414 - printk("Reset reason: 0x%x\n", tmpword); 415 - switch (tmpword) { 416 - case 0x1: 417 - printk(" - Power-up reset\n"); 418 - break; 419 - case 0x2: 420 - printk(" - Push-button reset\n"); 421 - break; 422 - case 0x8: 423 - printk(" - Watchdog reset\n"); 424 - break; 425 - case 0x10: 426 - printk(" - JTAG reset\n"); 427 - break; 428 - default: 429 - printk(" - Unknown reset cause\n"); 430 - } 431 - reset_reason = tmpword; 432 - JAGUAR_FPGA_WRITE(0xff, RESET_STATUS); 433 - 434 - tmpword = JAGUAR_FPGA_READ(BOARD_STATUS); 435 - printk("Board Status register: 0x%02x\n", tmpword); 436 - printk(" - User jumper: %s\n", (tmpword & 0x80)?"installed":"absent"); 437 - printk(" - Boot flash write jumper: %s\n", (tmpword&0x40)?"installed":"absent"); 438 - 439 - /* 256MiB of RM9000x2 DDR */ 440 - // add_memory_region(0x0, 0x100<<20, BOOT_MEM_RAM); 441 - 442 - /* 128MiB of MV-64340 DDR */ 443 - // add_memory_region(0x100<<20, 0x80<<20, BOOT_MEM_RAM); 444 - 445 - /* XXX Memory configuration should be picked up from PMON2k */ 446 - #ifdef CONFIG_JAGUAR_DMALOW 447 - printk("Jaguar ATX DMA-low mode set\n"); 448 - add_memory_region(0x00000000, 0x08000000, BOOT_MEM_RAM); 449 - add_memory_region(0x08000000, 0x10000000, BOOT_MEM_RAM); 450 - #else 451 - /* 128MiB of MV-64340 DDR RAM */ 452 - printk("Jaguar ATX DMA-low mode is not set\n"); 453 - add_memory_region(0x100<<20, 0x80<<20, BOOT_MEM_RAM); 454 - #endif 455 - 456 - #ifdef GEMDEBUG_TRACEBUFFER 457 - { 458 - unsigned int tbControl; 459 - tbControl = 460 - 0 << 26 | /* post trigger delay 0 */ 461 - 0x2 << 16 | /* sequential trace mode */ 462 - // 0x0 << 16 | /* non-sequential trace mode */ 463 - // 0xf << 4 | /* watchpoints disabled */ 464 - 2 << 2 | /* armed */ 465 - 2 ; /* interrupt disabled */ 466 - printk ("setting tbControl = %08lx\n", tbControl); 467 - write_32bit_cp0_set1_register($22, tbControl); 468 - __asm__ __volatile__(".set noreorder\n\t" \ 469 - "nop; nop; nop; nop; nop; nop;\n\t" \ 470 - "nop; nop; nop; nop; nop; nop;\n\t" \ 471 - ".set reorder\n\t"); 472 - 473 - } 474 - #endif 475 - }
-6
arch/mips/momentum/ocelot_g/Makefile
··· 1 - # 2 - # Makefile for Momentum Computer's Ocelot-G board. 3 - # 4 - 5 - obj-y += irq.o gt-irq.o prom.o reset.o setup.o 6 - obj-$(CONFIG_KGDB) += dbg_io.o
-121
arch/mips/momentum/ocelot_g/dbg_io.c
··· 1 - 2 - #include <asm/serial.h> /* For the serial port location and base baud */ 3 - 4 - /* --- CONFIG --- */ 5 - 6 - typedef unsigned char uint8; 7 - typedef unsigned int uint32; 8 - 9 - /* --- END OF CONFIG --- */ 10 - 11 - #define UART16550_BAUD_2400 2400 12 - #define UART16550_BAUD_4800 4800 13 - #define UART16550_BAUD_9600 9600 14 - #define UART16550_BAUD_19200 19200 15 - #define UART16550_BAUD_38400 38400 16 - #define UART16550_BAUD_57600 57600 17 - #define UART16550_BAUD_115200 115200 18 - 19 - #define UART16550_PARITY_NONE 0 20 - #define UART16550_PARITY_ODD 0x08 21 - #define UART16550_PARITY_EVEN 0x18 22 - #define UART16550_PARITY_MARK 0x28 23 - #define UART16550_PARITY_SPACE 0x38 24 - 25 - #define UART16550_DATA_5BIT 0x0 26 - #define UART16550_DATA_6BIT 0x1 27 - #define UART16550_DATA_7BIT 0x2 28 - #define UART16550_DATA_8BIT 0x3 29 - 30 - #define UART16550_STOP_1BIT 0x0 31 - #define UART16550_STOP_2BIT 0x4 32 - 33 - /* ----------------------------------------------------- */ 34 - 35 - /* === CONFIG === */ 36 - 37 - /* [jsun] we use the second serial port for kdb */ 38 - #define BASE OCELOT_SERIAL1_BASE 39 - #define MAX_BAUD OCELOT_BASE_BAUD 40 - 41 - /* === END OF CONFIG === */ 42 - 43 - #define REG_OFFSET 4 44 - 45 - /* register offset */ 46 - #define OFS_RCV_BUFFER 0 47 - #define OFS_TRANS_HOLD 0 48 - #define OFS_SEND_BUFFER 0 49 - #define OFS_INTR_ENABLE (1*REG_OFFSET) 50 - #define OFS_INTR_ID (2*REG_OFFSET) 51 - #define OFS_DATA_FORMAT (3*REG_OFFSET) 52 - #define OFS_LINE_CONTROL (3*REG_OFFSET) 53 - #define OFS_MODEM_CONTROL (4*REG_OFFSET) 54 - #define OFS_RS232_OUTPUT (4*REG_OFFSET) 55 - #define OFS_LINE_STATUS (5*REG_OFFSET) 56 - #define OFS_MODEM_STATUS (6*REG_OFFSET) 57 - #define OFS_RS232_INPUT (6*REG_OFFSET) 58 - #define OFS_SCRATCH_PAD (7*REG_OFFSET) 59 - 60 - #define OFS_DIVISOR_LSB (0*REG_OFFSET) 61 - #define OFS_DIVISOR_MSB (1*REG_OFFSET) 62 - 63 - 64 - /* memory-mapped read/write of the port */ 65 - #define UART16550_READ(y) (*((volatile uint8*)(BASE + y))) 66 - #define UART16550_WRITE(y, z) ((*((volatile uint8*)(BASE + y))) = z) 67 - 68 - void debugInit(uint32 baud, uint8 data, uint8 parity, uint8 stop) 69 - { 70 - /* disable interrupts */ 71 - UART16550_WRITE(OFS_INTR_ENABLE, 0); 72 - 73 - /* set up baud rate */ 74 - { 75 - uint32 divisor; 76 - 77 - /* set DIAB bit */ 78 - UART16550_WRITE(OFS_LINE_CONTROL, 0x80); 79 - 80 - /* set divisor */ 81 - divisor = MAX_BAUD / baud; 82 - UART16550_WRITE(OFS_DIVISOR_LSB, divisor & 0xff); 83 - UART16550_WRITE(OFS_DIVISOR_MSB, (divisor & 0xff00) >> 8); 84 - 85 - /* clear DIAB bit */ 86 - UART16550_WRITE(OFS_LINE_CONTROL, 0x0); 87 - } 88 - 89 - /* set data format */ 90 - UART16550_WRITE(OFS_DATA_FORMAT, data | parity | stop); 91 - } 92 - 93 - static int remoteDebugInitialized = 0; 94 - 95 - uint8 getDebugChar(void) 96 - { 97 - if (!remoteDebugInitialized) { 98 - remoteDebugInitialized = 1; 99 - debugInit(UART16550_BAUD_38400, 100 - UART16550_DATA_8BIT, 101 - UART16550_PARITY_NONE, UART16550_STOP_1BIT); 102 - } 103 - 104 - while ((UART16550_READ(OFS_LINE_STATUS) & 0x1) == 0); 105 - return UART16550_READ(OFS_RCV_BUFFER); 106 - } 107 - 108 - 109 - int putDebugChar(uint8 byte) 110 - { 111 - if (!remoteDebugInitialized) { 112 - remoteDebugInitialized = 1; 113 - debugInit(UART16550_BAUD_38400, 114 - UART16550_DATA_8BIT, 115 - UART16550_PARITY_NONE, UART16550_STOP_1BIT); 116 - } 117 - 118 - while ((UART16550_READ(OFS_LINE_STATUS) & 0x20) == 0); 119 - UART16550_WRITE(OFS_SEND_BUFFER, byte); 120 - return 1; 121 - }
-212
arch/mips/momentum/ocelot_g/gt-irq.c
··· 1 - /* 2 - * 3 - * Copyright 2002 Momentum Computer 4 - * Author: mdharm@momenco.com 5 - * 6 - * arch/mips/momentum/ocelot_g/gt_irq.c 7 - * Interrupt routines for gt64240. Currently it only handles timer irq. 8 - * 9 - * This program is free software; you can redistribute it and/or modify it 10 - * under the terms of the GNU General Public License as published by the 11 - * Free Software Foundation; either version 2 of the License, or (at your 12 - * option) any later version. 13 - */ 14 - #include <linux/module.h> 15 - #include <linux/interrupt.h> 16 - #include <linux/kernel.h> 17 - #include <linux/sched.h> 18 - #include <linux/kernel_stat.h> 19 - #include <asm/gt64240.h> 20 - #include <asm/io.h> 21 - 22 - unsigned long bus_clock; 23 - 24 - /* 25 - * These are interrupt handlers for the GT on-chip interrupts. They 26 - * all come in to the MIPS on a single interrupt line, and have to 27 - * be handled and ack'ed differently than other MIPS interrupts. 28 - */ 29 - 30 - #if 0 31 - 32 - struct tq_struct irq_handlers[MAX_CAUSE_REGS][MAX_CAUSE_REG_WIDTH]; 33 - void hook_irq_handler(int int_cause, int bit_num, void *isr_ptr); 34 - 35 - /* 36 - * Hooks IRQ handler to the system. When the system is interrupted 37 - * the interrupt service routine is called. 38 - * 39 - * Inputs : 40 - * int_cause - The interrupt cause number. In EVB64120 two parameters 41 - * are declared, INT_CAUSE_MAIN and INT_CAUSE_HIGH. 42 - * bit_num - Indicates which bit number in the cause register 43 - * isr_ptr - Pointer to the interrupt service routine 44 - */ 45 - void hook_irq_handler(int int_cause, int bit_num, void *isr_ptr) 46 - { 47 - irq_handlers[int_cause][bit_num].routine = isr_ptr; 48 - } 49 - 50 - 51 - /* 52 - * Enables the IRQ on Galileo Chip 53 - * 54 - * Inputs : 55 - * int_cause - The interrupt cause number. In EVB64120 two parameters 56 - * are declared, INT_CAUSE_MAIN and INT_CAUSE_HIGH. 57 - * bit_num - Indicates which bit number in the cause register 58 - * 59 - * Outputs : 60 - * 1 if successful, 0 if failure 61 - */ 62 - int enable_galileo_irq(int int_cause, int bit_num) 63 - { 64 - if (int_cause == INT_CAUSE_MAIN) 65 - SET_REG_BITS(CPU_INTERRUPT_MASK_REGISTER, (1 << bit_num)); 66 - else if (int_cause == INT_CAUSE_HIGH) 67 - SET_REG_BITS(CPU_HIGH_INTERRUPT_MASK_REGISTER, 68 - (1 << bit_num)); 69 - else 70 - return 0; 71 - 72 - return 1; 73 - } 74 - 75 - /* 76 - * Disables the IRQ on Galileo Chip 77 - * 78 - * Inputs : 79 - * int_cause - The interrupt cause number. In EVB64120 two parameters 80 - * are declared, INT_CAUSE_MAIN and INT_CAUSE_HIGH. 81 - * bit_num - Indicates which bit number in the cause register 82 - * 83 - * Outputs : 84 - * 1 if successful, 0 if failure 85 - */ 86 - int disable_galileo_irq(int int_cause, int bit_num) 87 - { 88 - if (int_cause == INT_CAUSE_MAIN) 89 - RESET_REG_BITS(CPU_INTERRUPT_MASK_REGISTER, 90 - (1 << bit_num)); 91 - else if (int_cause == INT_CAUSE_HIGH) 92 - RESET_REG_BITS(CPU_HIGH_INTERRUPT_MASK_REGISTER, 93 - (1 << bit_num)); 94 - else 95 - return 0; 96 - return 1; 97 - } 98 - #endif /* 0 */ 99 - 100 - /* 101 - * Interrupt handler for interrupts coming from the Galileo chip via P0_INT#. 102 - * 103 - * We route the timer interrupt to P0_INT# (IRQ 6), and that's all this 104 - * routine can handle, for now. 105 - * 106 - * In the future, we'll route more interrupts to this pin, and that's why 107 - * we keep this particular structure in the function. 108 - */ 109 - 110 - static irqreturn_t gt64240_p0int_irq(int irq, void *dev) 111 - { 112 - uint32_t irq_src, irq_src_mask; 113 - int handled; 114 - 115 - /* get the low interrupt cause register */ 116 - irq_src = MV_READ(LOW_INTERRUPT_CAUSE_REGISTER); 117 - 118 - /* get the mask register for this pin */ 119 - irq_src_mask = MV_READ(PCI_0INTERRUPT_CAUSE_MASK_REGISTER_LOW); 120 - 121 - /* mask off only the interrupts we're interested in */ 122 - irq_src = irq_src & irq_src_mask; 123 - 124 - handled = IRQ_NONE; 125 - 126 - /* Check for timer interrupt */ 127 - if (irq_src & 0x00000100) { 128 - handled = IRQ_HANDLED; 129 - irq_src &= ~0x00000100; 130 - 131 - /* Clear any pending cause bits */ 132 - MV_WRITE(TIMER_COUNTER_0_3_INTERRUPT_CAUSE, 0x0); 133 - 134 - /* handle the timer call */ 135 - do_timer(1); 136 - #ifndef CONFIG_SMP 137 - update_process_times(user_mode(get_irq_regs())); 138 - #endif 139 - } 140 - 141 - if (irq_src) { 142 - printk(KERN_INFO 143 - "UNKNOWN P0_INT# interrupt received, irq_src=0x%x\n", 144 - irq_src); 145 - } 146 - 147 - return handled; 148 - } 149 - 150 - /* 151 - * Initializes timer using galileo's built in timer. 152 - */ 153 - 154 - /* 155 - * This will ignore the standard MIPS timer interrupt handler 156 - * that is passed in as *irq (=irq0 in ../kernel/time.c). 157 - * We will do our own timer interrupt handling. 158 - */ 159 - void gt64240_time_init(void) 160 - { 161 - static struct irqaction timer; 162 - 163 - /* Stop the timer -- we'll use timer #0 */ 164 - MV_WRITE(TIMER_COUNTER_0_3_CONTROL, 0x0); 165 - 166 - /* Load timer value for 100 Hz */ 167 - MV_WRITE(TIMER_COUNTER0, bus_clock / 100); 168 - 169 - /* 170 - * Create the IRQ structure entry for the timer. Since we're too early 171 - * in the boot process to use the "request_irq()" call, we'll hard-code 172 - * the values to the correct interrupt line. 173 - */ 174 - timer.handler = &gt64240_p0int_irq; 175 - timer.flags = IRQF_SHARED | IRQF_DISABLED; 176 - timer.name = "timer"; 177 - timer.dev_id = NULL; 178 - timer.next = NULL; 179 - timer.mask = CPU_MASK_NONE; 180 - irq_desc[6].action = &timer; 181 - 182 - enable_irq(6); 183 - 184 - /* Clear any pending cause bits */ 185 - MV_WRITE(TIMER_COUNTER_0_3_INTERRUPT_CAUSE, 0x0); 186 - 187 - /* Enable the interrupt for timer 0 */ 188 - MV_WRITE(TIMER_COUNTER_0_3_INTERRUPT_MASK, 0x1); 189 - 190 - /* Enable the timer interrupt for GT-64240 pin P0_INT# */ 191 - MV_WRITE (PCI_0INTERRUPT_CAUSE_MASK_REGISTER_LOW, 0x100); 192 - 193 - /* Configure and start the timer */ 194 - MV_WRITE(TIMER_COUNTER_0_3_CONTROL, 0x3); 195 - } 196 - 197 - void gt64240_irq_init(void) 198 - { 199 - #if 0 200 - int i, j; 201 - 202 - /* Reset irq handlers pointers to NULL */ 203 - for (i = 0; i < MAX_CAUSE_REGS; i++) { 204 - for (j = 0; j < MAX_CAUSE_REG_WIDTH; j++) { 205 - irq_handlers[i][j].next = NULL; 206 - irq_handlers[i][j].sync = 0; 207 - irq_handlers[i][j].routine = NULL; 208 - irq_handlers[i][j].data = NULL; 209 - } 210 - } 211 - #endif /* 0 */ 212 - }
-101
arch/mips/momentum/ocelot_g/irq.c
··· 1 - /* 2 - * Copyright (C) 2000 RidgeRun, Inc. 3 - * Author: RidgeRun, Inc. 4 - * glonnon@ridgerun.com, skranz@ridgerun.com, stevej@ridgerun.com 5 - * 6 - * Copyright 2001 MontaVista Software Inc. 7 - * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net 8 - * Copyright (C) 2000, 01, 05 Ralf Baechle (ralf@linux-mips.org) 9 - * 10 - * This program is free software; you can redistribute it and/or modify it 11 - * under the terms of the GNU General Public License as published by the 12 - * Free Software Foundation; either version 2 of the License, or (at your 13 - * option) any later version. 14 - * 15 - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED 16 - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 17 - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN 18 - * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19 - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20 - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 21 - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 22 - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24 - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 - * 26 - * You should have received a copy of the GNU General Public License along 27 - * with this program; if not, write to the Free Software Foundation, Inc., 28 - * 675 Mass Ave, Cambridge, MA 02139, USA. 29 - * 30 - */ 31 - #include <linux/errno.h> 32 - #include <linux/init.h> 33 - #include <linux/kernel_stat.h> 34 - #include <linux/module.h> 35 - #include <linux/signal.h> 36 - #include <linux/sched.h> 37 - #include <linux/types.h> 38 - #include <linux/interrupt.h> 39 - #include <linux/ioport.h> 40 - #include <linux/timex.h> 41 - #include <linux/slab.h> 42 - #include <linux/random.h> 43 - #include <linux/bitops.h> 44 - #include <asm/bootinfo.h> 45 - #include <asm/io.h> 46 - #include <asm/irq.h> 47 - #include <asm/irq_cpu.h> 48 - #include <asm/mipsregs.h> 49 - #include <asm/system.h> 50 - 51 - asmlinkage void plat_irq_dispatch(void) 52 - { 53 - unsigned int pending = read_c0_cause() & read_c0_status(); 54 - 55 - if (pending & STATUSF_IP2) 56 - do_IRQ(2); 57 - else if (pending & STATUSF_IP3) 58 - do_IRQ(3); 59 - else if (pending & STATUSF_IP4) 60 - do_IRQ(4); 61 - else if (pending & STATUSF_IP5) 62 - do_IRQ(5); 63 - else if (pending & STATUSF_IP6) 64 - do_IRQ(6); 65 - else if (pending & STATUSF_IP7) 66 - do_IRQ(7); 67 - else { 68 - /* 69 - * Now look at the extended interrupts 70 - */ 71 - pending = (read_c0_cause() & (read_c0_intcontrol() << 8)) >> 16; 72 - 73 - if (pending & STATUSF_IP8) 74 - do_IRQ(8); 75 - else if (pending & STATUSF_IP9) 76 - do_IRQ(9); 77 - else if (pending & STATUSF_IP10) 78 - do_IRQ(10); 79 - else if (pending & STATUSF_IP11) 80 - do_IRQ(11); 81 - else 82 - spurious_interrupt(); 83 - } 84 - } 85 - 86 - extern void gt64240_irq_init(void); 87 - 88 - void __init arch_init_irq(void) 89 - { 90 - /* 91 - * Clear all of the interrupts while we change the able around a bit. 92 - * int-handler is not on bootstrap 93 - */ 94 - clear_c0_status(ST0_IM); 95 - local_irq_disable(); 96 - 97 - mips_cpu_irq_init(); 98 - rm7k_cpu_irq_init(); 99 - 100 - gt64240_irq_init(); 101 - }
-30
arch/mips/momentum/ocelot_g/ocelot_pld.h
··· 1 - /* 2 - * Ocelot Board Register Definitions 3 - * 4 - * (C) 2001 Red Hat, Inc. 5 - * 6 - * GPL'd 7 - */ 8 - #ifndef __MOMENCO_OCELOT_PLD_H__ 9 - #define __MOMENCO_OCELOT_PLD_H__ 10 - 11 - #define OCELOT_CS0_ADDR (0xfc000000) 12 - 13 - #define OCELOT_REG_BOARDREV (0) 14 - #define OCELOT_REG_PLD1_ID (1) 15 - #define OCELOT_REG_PLD2_ID (2) 16 - #define OCELOT_REG_RESET_STATUS (3) 17 - #define OCELOT_REG_BOARD_STATUS (4) 18 - #define OCELOT_REG_CPCI_ID (5) 19 - #define OCELOT_REG_I2C_CTRL (8) 20 - #define OCELOT_REG_EEPROM_MODE (9) 21 - #define OCELOT_REG_INTMASK (10) 22 - #define OCELOT_REG_INTSTATUS (11) 23 - #define OCELOT_REG_INTSET (12) 24 - #define OCELOT_REG_INTCLR (13) 25 - 26 - #define __PLD_REG_TO_ADDR(reg) ((void *) OCELOT_CS0_ADDR + OCELOT_REG_##reg) 27 - #define OCELOT_PLD_WRITE(x, reg) writeb(x, __PLD_REG_TO_ADDR(reg)) 28 - #define OCELOT_PLD_READ(reg) readb(__PLD_REG_TO_ADDR(reg)) 29 - 30 - #endif /* __MOMENCO_OCELOT_PLD_H__ */
-84
arch/mips/momentum/ocelot_g/prom.c
··· 1 - /* 2 - * Copyright 2002 Momentum Computer Inc. 3 - * Author: Matthew Dharm <mdharm@momenco.com> 4 - * 5 - * Based on Ocelot Linux port, which is 6 - * Copyright 2001 MontaVista Software Inc. 7 - * Author: jsun@mvista.com or jsun@junsun.net 8 - * 9 - * This program is free software; you can redistribute it and/or modify it 10 - * under the terms of the GNU General Public License as published by the 11 - * Free Software Foundation; either version 2 of the License, or (at your 12 - * option) any later version. 13 - */ 14 - #include <linux/init.h> 15 - #include <linux/mm.h> 16 - #include <linux/sched.h> 17 - #include <linux/bootmem.h> 18 - 19 - #include <asm/addrspace.h> 20 - #include <asm/bootinfo.h> 21 - #include <asm/pmon.h> 22 - #include <asm/gt64240.h> 23 - 24 - #include "ocelot_pld.h" 25 - 26 - struct callvectors* debug_vectors; 27 - 28 - extern unsigned long marvell_base; 29 - extern unsigned long bus_clock; 30 - 31 - #ifdef CONFIG_GALILEO_GT64240_ETH 32 - extern unsigned char prom_mac_addr_base[6]; 33 - #endif 34 - 35 - const char *get_system_type(void) 36 - { 37 - return "Momentum Ocelot"; 38 - } 39 - 40 - void __init prom_init(void) 41 - { 42 - int argc = fw_arg0; 43 - char **arg = (char **) fw_arg1; 44 - char **env = (char **) fw_arg2; 45 - struct callvectors *cv = (struct callvectors *) fw_arg3; 46 - int i; 47 - 48 - /* save the PROM vectors for debugging use */ 49 - debug_vectors = cv; 50 - 51 - /* arg[0] is "g", the rest is boot parameters */ 52 - arcs_cmdline[0] = '\0'; 53 - for (i = 1; i < argc; i++) { 54 - if (strlen(arcs_cmdline) + strlen(arg[i] + 1) 55 - >= sizeof(arcs_cmdline)) 56 - break; 57 - strcat(arcs_cmdline, arg[i]); 58 - strcat(arcs_cmdline, " "); 59 - } 60 - 61 - mips_machgroup = MACH_GROUP_MOMENCO; 62 - mips_machtype = MACH_MOMENCO_OCELOT_G; 63 - 64 - #ifdef CONFIG_GALILEO_GT64240_ETH 65 - /* get the base MAC address for on-board ethernet ports */ 66 - memcpy(prom_mac_addr_base, (void*)0xfc807cf2, 6); 67 - #endif 68 - 69 - while (*env) { 70 - if (strncmp("gtbase", *env, strlen("gtbase")) == 0) { 71 - marvell_base = simple_strtol(*env + strlen("gtbase="), 72 - NULL, 16); 73 - } 74 - if (strncmp("busclock", *env, strlen("busclock")) == 0) { 75 - bus_clock = simple_strtol(*env + strlen("busclock="), 76 - NULL, 10); 77 - } 78 - env++; 79 - } 80 - } 81 - 82 - void __init prom_free_prom_memory(void) 83 - { 84 - }
-47
arch/mips/momentum/ocelot_g/reset.c
··· 1 - /* 2 - * This program is free software; you can redistribute it and/or modify it 3 - * under the terms of the GNU General Public License as published by the 4 - * Free Software Foundation; either version 2 of the License, or (at your 5 - * option) any later version. 6 - * 7 - * Copyright (C) 1997, 2001 Ralf Baechle 8 - * Copyright 2001 MontaVista Software Inc. 9 - * Author: jsun@mvista.com or jsun@junsun.net 10 - */ 11 - #include <linux/sched.h> 12 - #include <linux/mm.h> 13 - #include <asm/io.h> 14 - #include <asm/pgtable.h> 15 - #include <asm/processor.h> 16 - #include <asm/reboot.h> 17 - #include <asm/system.h> 18 - #include <linux/delay.h> 19 - 20 - void momenco_ocelot_restart(char *command) 21 - { 22 - void *nvram = ioremap_nocache(0x2c807000, 0x1000); 23 - 24 - if (!nvram) { 25 - printk(KERN_NOTICE "ioremap of reset register failed\n"); 26 - return; 27 - } 28 - writeb(0x84, nvram + 0xff7); /* Ask the NVRAM/RTC/watchdog chip to 29 - assert reset in 1/16 second */ 30 - mdelay(10+(1000/16)); 31 - iounmap(nvram); 32 - printk(KERN_NOTICE "Watchdog reset failed\n"); 33 - } 34 - 35 - void momenco_ocelot_halt(void) 36 - { 37 - printk(KERN_NOTICE "\n** You can safely turn off the power\n"); 38 - while (1) 39 - __asm__(".set\tmips3\n\t" 40 - "wait\n\t" 41 - ".set\tmips0"); 42 - } 43 - 44 - void momenco_ocelot_power_off(void) 45 - { 46 - momenco_ocelot_halt(); 47 - }
-267
arch/mips/momentum/ocelot_g/setup.c
··· 1 - /* 2 - * BRIEF MODULE DESCRIPTION 3 - * Momentum Computer Ocelot-G (CP7000G) - board dependent boot routines 4 - * 5 - * Copyright (C) 1996, 1997, 2001 Ralf Baechle 6 - * Copyright (C) 2000 RidgeRun, Inc. 7 - * Copyright (C) 2001 Red Hat, Inc. 8 - * Copyright (C) 2002 Momentum Computer 9 - * 10 - * Author: Matthew Dharm, Momentum Computer 11 - * mdharm@momenco.com 12 - * 13 - * Author: RidgeRun, Inc. 14 - * glonnon@ridgerun.com, skranz@ridgerun.com, stevej@ridgerun.com 15 - * 16 - * Copyright 2001 MontaVista Software Inc. 17 - * Author: jsun@mvista.com or jsun@junsun.net 18 - * 19 - * This program is free software; you can redistribute it and/or modify it 20 - * under the terms of the GNU General Public License as published by the 21 - * Free Software Foundation; either version 2 of the License, or (at your 22 - * option) any later version. 23 - * 24 - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED 25 - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 26 - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN 27 - * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 28 - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 29 - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 30 - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 31 - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 32 - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 33 - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34 - * 35 - * You should have received a copy of the GNU General Public License along 36 - * with this program; if not, write to the Free Software Foundation, Inc., 37 - * 675 Mass Ave, Cambridge, MA 02139, USA. 38 - * 39 - */ 40 - #include <linux/init.h> 41 - #include <linux/kernel.h> 42 - #include <linux/types.h> 43 - #include <linux/mm.h> 44 - #include <linux/swap.h> 45 - #include <linux/ioport.h> 46 - #include <linux/sched.h> 47 - #include <linux/interrupt.h> 48 - #include <linux/pci.h> 49 - #include <linux/pm.h> 50 - #include <linux/timex.h> 51 - #include <linux/vmalloc.h> 52 - 53 - #include <asm/time.h> 54 - #include <asm/bootinfo.h> 55 - #include <asm/page.h> 56 - #include <asm/io.h> 57 - #include <asm/gt64240.h> 58 - #include <asm/irq.h> 59 - #include <asm/pci.h> 60 - #include <asm/pgtable.h> 61 - #include <asm/processor.h> 62 - #include <asm/reboot.h> 63 - #include <linux/bootmem.h> 64 - 65 - #include "ocelot_pld.h" 66 - 67 - #ifdef CONFIG_GALILEO_GT64240_ETH 68 - extern unsigned char prom_mac_addr_base[6]; 69 - #endif 70 - 71 - unsigned long marvell_base; 72 - 73 - /* These functions are used for rebooting or halting the machine*/ 74 - extern void momenco_ocelot_restart(char *command); 75 - extern void momenco_ocelot_halt(void); 76 - extern void momenco_ocelot_power_off(void); 77 - 78 - extern void gt64240_time_init(void); 79 - extern void momenco_ocelot_irq_setup(void); 80 - 81 - static char reset_reason; 82 - 83 - static unsigned long ENTRYLO(unsigned long paddr) 84 - { 85 - return ((paddr & PAGE_MASK) | 86 - (_PAGE_PRESENT | __READABLE | __WRITEABLE | _PAGE_GLOBAL | 87 - _CACHE_UNCACHED)) >> 6; 88 - } 89 - 90 - /* setup code for a handoff from a version 2 PMON 2000 PROM */ 91 - void PMON_v2_setup(void) 92 - { 93 - /* A wired TLB entry for the GT64240 and the serial port. The 94 - GT64240 is going to be hit on every IRQ anyway - there's 95 - absolutely no point in letting it be a random TLB entry, as 96 - it'll just cause needless churning of the TLB. And we use 97 - the other half for the serial port, which is just a PITA 98 - otherwise :) 99 - 100 - Device Physical Virtual 101 - GT64240 Internal Regs 0xf4000000 0xe0000000 102 - UARTs (CS2) 0xfd000000 0xe0001000 103 - */ 104 - add_wired_entry(ENTRYLO(0xf4000000), ENTRYLO(0xf4010000), 105 - 0xf4000000, PM_64K); 106 - add_wired_entry(ENTRYLO(0xfd000000), ENTRYLO(0xfd001000), 107 - 0xfd000000, PM_4K); 108 - 109 - /* Also a temporary entry to let us talk to the Ocelot PLD and NVRAM 110 - in the CS[012] region. We can't use ioremap() yet. The NVRAM 111 - is a ST M48T37Y, which includes NVRAM, RTC, and Watchdog functions. 112 - 113 - Ocelot PLD (CS0) 0xfc000000 0xe0020000 114 - NVRAM (CS1) 0xfc800000 0xe0030000 115 - */ 116 - add_temporary_entry(ENTRYLO(0xfc000000), ENTRYLO(0xfc010000), 117 - 0xfc000000, PM_64K); 118 - add_temporary_entry(ENTRYLO(0xfc800000), ENTRYLO(0xfc810000), 119 - 0xfc800000, PM_64K); 120 - 121 - marvell_base = 0xf4000000; 122 - } 123 - 124 - extern int rm7k_tcache_enabled; 125 - 126 - /* 127 - * This runs in KSEG1. See the verbiage in rm7k.c::probe_scache() 128 - */ 129 - #define Page_Invalidate_T 0x16 130 - static void __init setup_l3cache(unsigned long size) 131 - { 132 - int register i; 133 - 134 - printk("Enabling L3 cache..."); 135 - 136 - /* Enable the L3 cache in the GT64120A's CPU Configuration register */ 137 - MV_WRITE(0, MV_READ(0) | (1<<14)); 138 - 139 - /* Enable the L3 cache in the CPU */ 140 - set_c0_config(1<<12 /* CONF_TE */); 141 - 142 - /* Clear the cache */ 143 - write_c0_taglo(0); 144 - write_c0_taghi(0); 145 - 146 - for (i=0; i < size; i+= 4096) { 147 - __asm__ __volatile__ ( 148 - ".set noreorder\n\t" 149 - ".set mips3\n\t" 150 - "cache %1, (%0)\n\t" 151 - ".set mips0\n\t" 152 - ".set reorder" 153 - : 154 - : "r" (KSEG0ADDR(i)), 155 - "i" (Page_Invalidate_T)); 156 - } 157 - 158 - /* Let the RM7000 MM code know that the tertiary cache is enabled */ 159 - rm7k_tcache_enabled = 1; 160 - 161 - printk("Done\n"); 162 - } 163 - 164 - void __init plat_timer_setup(struct irqaction *irq) 165 - { 166 - } 167 - 168 - void __init plat_mem_setup(void) 169 - { 170 - void (*l3func)(unsigned long) = (void *) KSEG1ADDR(setup_l3cache); 171 - unsigned int tmpword; 172 - 173 - board_time_init = gt64240_time_init; 174 - 175 - _machine_restart = momenco_ocelot_restart; 176 - _machine_halt = momenco_ocelot_halt; 177 - pm_power_off = momenco_ocelot_power_off; 178 - 179 - /* 180 - * initrd_start = (unsigned long)ocelot_initrd_start; 181 - * initrd_end = (unsigned long)ocelot_initrd_start + (ulong)ocelot_initrd_size; 182 - * initrd_below_start_ok = 1; 183 - */ 184 - 185 - /* do handoff reconfiguration */ 186 - PMON_v2_setup(); 187 - 188 - #ifdef CONFIG_GALILEO_GT64240_ETH 189 - /* get the mac addr */ 190 - memcpy(prom_mac_addr_base, (void*)0xfc807cf2, 6); 191 - #endif 192 - 193 - /* Turn off the Bit-Error LED */ 194 - OCELOT_PLD_WRITE(0x80, INTCLR); 195 - 196 - tmpword = OCELOT_PLD_READ(BOARDREV); 197 - if (tmpword < 26) 198 - printk("Momenco Ocelot-G: Board Assembly Rev. %c\n", 'A'+tmpword); 199 - else 200 - printk("Momenco Ocelot-G: Board Assembly Revision #0x%x\n", tmpword); 201 - 202 - tmpword = OCELOT_PLD_READ(PLD1_ID); 203 - printk("PLD 1 ID: %d.%d\n", tmpword>>4, tmpword&15); 204 - tmpword = OCELOT_PLD_READ(PLD2_ID); 205 - printk("PLD 2 ID: %d.%d\n", tmpword>>4, tmpword&15); 206 - tmpword = OCELOT_PLD_READ(RESET_STATUS); 207 - printk("Reset reason: 0x%x\n", tmpword); 208 - reset_reason = tmpword; 209 - OCELOT_PLD_WRITE(0xff, RESET_STATUS); 210 - 211 - tmpword = OCELOT_PLD_READ(BOARD_STATUS); 212 - printk("Board Status register: 0x%02x\n", tmpword); 213 - printk(" - User jumper: %s\n", (tmpword & 0x80)?"installed":"absent"); 214 - printk(" - Boot flash write jumper: %s\n", (tmpword&0x40)?"installed":"absent"); 215 - printk(" - Tulip PHY %s connected\n", (tmpword&0x10)?"is":"not"); 216 - printk(" - L3 Cache size: %d MiB\n", (1<<((tmpword&12) >> 2))&~1); 217 - printk(" - SDRAM size: %d MiB\n", 1<<(6+(tmpword&3))); 218 - 219 - if (tmpword&12) 220 - l3func((1<<(((tmpword&12) >> 2)+20))); 221 - 222 - switch(tmpword &3) { 223 - case 3: 224 - /* 512MiB -- two banks of 256MiB */ 225 - add_memory_region( 0x0<<20, 0x100<<20, BOOT_MEM_RAM); 226 - /* 227 - add_memory_region(0x100<<20, 0x100<<20, BOOT_MEM_RAM); 228 - */ 229 - break; 230 - case 2: 231 - /* 256MiB -- two banks of 128MiB */ 232 - add_memory_region( 0x0<<20, 0x80<<20, BOOT_MEM_RAM); 233 - add_memory_region(0x80<<20, 0x80<<20, BOOT_MEM_RAM); 234 - break; 235 - case 1: 236 - /* 128MiB -- 64MiB per bank */ 237 - add_memory_region( 0x0<<20, 0x40<<20, BOOT_MEM_RAM); 238 - add_memory_region(0x40<<20, 0x40<<20, BOOT_MEM_RAM); 239 - break; 240 - case 0: 241 - /* 64MiB */ 242 - add_memory_region( 0x0<<20, 0x40<<20, BOOT_MEM_RAM); 243 - break; 244 - } 245 - 246 - /* FIXME: Fix up the DiskOnChip mapping */ 247 - MV_WRITE(0x468, 0xfef73); 248 - } 249 - 250 - /* This needs to be one of the first initcalls, because no I/O port access 251 - can work before this */ 252 - 253 - static int io_base_ioremap(void) 254 - { 255 - /* we're mapping PCI accesses from 0xc0000000 to 0xf0000000 */ 256 - unsigned long io_remap_range; 257 - 258 - io_remap_range = (unsigned long) ioremap(0xc0000000, 0x30000000); 259 - if (!io_remap_range) 260 - panic("Could not ioremap I/O port range"); 261 - 262 - set_io_port_base(io_remap_range - 0xc0000000); 263 - 264 - return 0; 265 - } 266 - 267 - module_init(io_base_ioremap);
-2
arch/mips/pci/Makefile
··· 30 30 obj-$(CONFIG_SOC_AU1550) += fixup-au1000.o ops-au1000.o 31 31 obj-$(CONFIG_SOC_PNX8550) += fixup-pnx8550.o ops-pnx8550.o 32 32 obj-$(CONFIG_MIPS_MALTA) += fixup-malta.o 33 - obj-$(CONFIG_MOMENCO_JAGUAR_ATX)+= fixup-jaguar.o 34 33 obj-$(CONFIG_MOMENCO_OCELOT) += fixup-ocelot.o pci-ocelot.o 35 34 obj-$(CONFIG_MOMENCO_OCELOT_3) += fixup-ocelot3.o 36 35 obj-$(CONFIG_MOMENCO_OCELOT_C) += fixup-ocelot-c.o pci-ocelot-c.o 37 - obj-$(CONFIG_MOMENCO_OCELOT_G) += fixup-ocelot-g.o pci-ocelot-g.o 38 36 obj-$(CONFIG_PMC_YOSEMITE) += fixup-yosemite.o ops-titan.o ops-titan-ht.o \ 39 37 pci-yosemite.o 40 38 obj-$(CONFIG_SGI_IP27) += ops-bridge.o pci-ip27.o
+22 -3
arch/mips/pci/fixup-cobalt.c
··· 17 17 #include <asm/io.h> 18 18 #include <asm/gt64120.h> 19 19 20 - #include <asm/mach-cobalt/cobalt.h> 21 - 22 - extern int cobalt_board_id; 20 + #include <cobalt.h> 23 21 24 22 static void qube_raq_galileo_early_fixup(struct pci_dev *dev) 25 23 { ··· 112 114 113 115 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL, PCI_DEVICE_ID_MARVELL_GT64111, 114 116 qube_raq_galileo_fixup); 117 + 118 + int cobalt_board_id; 119 + 120 + static void qube_raq_via_board_id_fixup(struct pci_dev *dev) 121 + { 122 + u8 id; 123 + int retval; 124 + 125 + retval = pci_read_config_byte(dev, VIA_COBALT_BRD_ID_REG, &id); 126 + if (retval) { 127 + panic("Cannot read board ID"); 128 + return; 129 + } 130 + 131 + cobalt_board_id = VIA_COBALT_BRD_REG_to_ID(id); 132 + 133 + printk(KERN_INFO "Cobalt board ID: %d\n", cobalt_board_id); 134 + } 135 + 136 + DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_0, 137 + qube_raq_via_board_id_fixup); 115 138 116 139 static char irq_tab_qube1[] __initdata = { 117 140 [COBALT_PCICONF_CPU] = 0,
-43
arch/mips/pci/fixup-jaguar.c
··· 1 - /* 2 - * This file is subject to the terms and conditions of the GNU General Public 3 - * License. See the file "COPYING" in the main directory of this archive 4 - * for more details. 5 - * 6 - * Marvell MV64340 interrupt fixup code. 7 - * 8 - * Marvell wants an NDA for their docs so this was written without 9 - * documentation. You've been warned. 10 - * 11 - * Copyright (C) 2004 Ralf Baechle (ralf@linux-mips.org) 12 - */ 13 - #include <linux/kernel.h> 14 - #include <linux/init.h> 15 - #include <linux/pci.h> 16 - 17 - #include <asm/mipsregs.h> 18 - 19 - /* 20 - * WARNING: Example of how _NOT_ to do it. 21 - */ 22 - int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 23 - { 24 - int bus = dev->bus->number; 25 - 26 - if (bus == 0 && slot == 1) 27 - return 3; /* PCI-X A */ 28 - if (bus == 0 && slot == 2) 29 - return 4; /* PCI-X B */ 30 - if (bus == 1 && slot == 1) 31 - return 5; /* PCI A */ 32 - if (bus == 1 && slot == 2) 33 - return 6; /* PCI B */ 34 - 35 - return 0; 36 - panic("Whooops in pcibios_map_irq"); 37 - } 38 - 39 - /* Do platform specific device initialization at pci_enable_device() time */ 40 - int pcibios_plat_dev_init(struct pci_dev *dev) 41 - { 42 - return 0; 43 - }
-37
arch/mips/pci/fixup-ocelot-g.c
··· 1 - /* 2 - * This program is free software; you can redistribute it and/or modify it 3 - * under the terms of the GNU General Public License as published by the 4 - * Free Software Foundation; either version 2 of the License, or (at your 5 - * option) any later version. 6 - * 7 - * Copyright (C) 2004 Ralf Baechle (ralf@linux-mips.org) 8 - */ 9 - #include <linux/types.h> 10 - #include <linux/pci.h> 11 - #include <linux/kernel.h> 12 - #include <linux/init.h> 13 - 14 - int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 15 - { 16 - int bus = dev->bus->number; 17 - 18 - if (bus == 0 && slot == 1) /* Intel 82543 Gigabit MAC */ 19 - return 2; /* irq_nr is 2 for INT0 */ 20 - 21 - if (bus == 0 && slot == 2) /* Intel 82543 Gigabit MAC */ 22 - return 3; /* irq_nr is 3 for INT1 */ 23 - 24 - if (bus == 1 && slot == 3) /* Intel 21555 bridge */ 25 - return 5; /* irq_nr is 8 for INT6 */ 26 - 27 - if (bus == 1 && slot == 4) /* PMC Slot */ 28 - return 9; /* irq_nr is 9 for INT7 */ 29 - 30 - return -1; 31 - } 32 - 33 - /* Do platform specific device initialization at pci_enable_device() time */ 34 - int pcibios_plat_dev_init(struct pci_dev *dev) 35 - { 36 - return 0; 37 - }
-97
arch/mips/pci/pci-ocelot-g.c
··· 1 - /* 2 - * This file is subject to the terms and conditions of the GNU General Public 3 - * License. See the file "COPYING" in the main directory of this archive 4 - * for more details. 5 - * 6 - * Copyright (C) 2004 by Ralf Baechle (ralf@linux-mips.org) 7 - * 8 - * This doesn't really fly - but I don't have a GT64240 system for testing. 9 - */ 10 - #include <linux/init.h> 11 - #include <linux/kernel.h> 12 - #include <linux/types.h> 13 - #include <linux/pci.h> 14 - #include <asm/gt64240.h> 15 - 16 - /* 17 - * We assume these address ranges have been programmed into the GT-64240 by 18 - * the firmware. PMON in case of the Ocelot G does that. Note the size of 19 - * the I/O range is completly stupid; I/O mappings are limited to at most 20 - * 256 bytes by the PCI spec and deprecated; and just to make things worse 21 - * apparently many devices don't decode more than 64k of I/O space. 22 - */ 23 - 24 - #define gt_io_size 0x20000000UL 25 - #define gt_io_base 0xe0000000UL 26 - 27 - static struct resource gt_pci_mem0_resource = { 28 - .name = "MV64240 PCI0 MEM", 29 - .start = 0xc0000000UL, 30 - .end = 0xcfffffffUL, 31 - .flags = IORESOURCE_MEM 32 - }; 33 - 34 - static struct resource gt_pci_io_mem0_resource = { 35 - .name = "MV64240 PCI0 IO MEM", 36 - .start = 0xe0000000UL, 37 - .end = 0xefffffffUL, 38 - .flags = IORESOURCE_IO 39 - }; 40 - 41 - static struct mv_pci_controller gt_bus0_controller = { 42 - .pcic = { 43 - .pci_ops = &mv_pci_ops, 44 - .mem_resource = &gt_pci_mem0_resource, 45 - .mem_offset = 0xc0000000UL, 46 - .io_resource = &gt_pci_io_mem0_resource, 47 - .io_offset = 0x00000000UL 48 - }, 49 - .config_addr = PCI_0CONFIGURATION_ADDRESS, 50 - .config_vreg = PCI_0CONFIGURATION_DATA_VIRTUAL_REGISTER, 51 - }; 52 - 53 - static struct resource gt_pci_mem1_resource = { 54 - .name = "MV64240 PCI1 MEM", 55 - .start = 0xd0000000UL, 56 - .end = 0xdfffffffUL, 57 - .flags = IORESOURCE_MEM 58 - }; 59 - 60 - static struct resource gt_pci_io_mem1_resource = { 61 - .name = "MV64240 PCI1 IO MEM", 62 - .start = 0xf0000000UL, 63 - .end = 0xffffffffUL, 64 - .flags = IORESOURCE_IO 65 - }; 66 - 67 - static struct mv_pci_controller gt_bus1_controller = { 68 - .pcic = { 69 - .pci_ops = &mv_pci_ops, 70 - .mem_resource = &gt_pci_mem1_resource, 71 - .mem_offset = 0xd0000000UL, 72 - .io_resource = &gt_pci_io_mem1_resource, 73 - .io_offset = 0x10000000UL 74 - }, 75 - .config_addr = PCI_1CONFIGURATION_ADDRESS, 76 - .config_vreg = PCI_1CONFIGURATION_DATA_VIRTUAL_REGISTER, 77 - }; 78 - 79 - static __init int __init ocelot_g_pci_init(void) 80 - { 81 - unsigned long io_v_base; 82 - 83 - if (gt_io_size) { 84 - io_v_base = (unsigned long) ioremap(gt_io_base, gt_io_size); 85 - if (!io_v_base) 86 - panic("Could not ioremap I/O port range"); 87 - 88 - set_io_port_base(io_v_base); 89 - } 90 - 91 - register_pci_controller(&gt_bus0_controller.pcic); 92 - register_pci_controller(&gt_bus1_controller.pcic); 93 - 94 - return 0; 95 - } 96 - 97 - arch_initcall(ocelot_g_pci_init);
+1 -1
drivers/rtc/Kconfig
··· 246 246 config RTC_DRV_CMOS 247 247 tristate "PC-style 'CMOS'" 248 248 depends on RTC_CLASS && (X86 || ALPHA || ARM26 || ARM \ 249 - || M32R || ATARI || POWERPC) 249 + || M32R || ATARI || POWERPC || MIPS) 250 250 help 251 251 Say "yes" here to get direct support for the real time clock 252 252 found in every PC or ACPI-based system, and some other boards.
+1 -1
include/asm-mips/atomic.h
··· 689 689 } 690 690 691 691 #define atomic64_cmpxchg(v, o, n) \ 692 - (((__typeof__((v)->counter)))cmpxchg(&((v)->counter), (o), (n))) 692 + ((__typeof__((v)->counter))cmpxchg(&((v)->counter), (o), (n))) 693 693 #define atomic64_xchg(v, new) (xchg(&((v)->counter), (new))) 694 694 695 695 /**
+2 -2
include/asm-mips/bootinfo.h
··· 119 119 */ 120 120 #define MACH_GROUP_MOMENCO 12 /* Momentum Boards */ 121 121 #define MACH_MOMENCO_OCELOT 0 122 - #define MACH_MOMENCO_OCELOT_G 1 122 + #define MACH_MOMENCO_OCELOT_G 1 /* no more supported (may 2007) */ 123 123 #define MACH_MOMENCO_OCELOT_C 2 124 - #define MACH_MOMENCO_JAGUAR_ATX 3 124 + #define MACH_MOMENCO_JAGUAR_ATX 3 /* no more supported (may 2007) */ 125 125 #define MACH_MOMENCO_OCELOT_3 4 126 126 127 127 /*
+3 -20
include/asm-mips/fpu.h
··· 16 16 #include <asm/mipsregs.h> 17 17 #include <asm/cpu.h> 18 18 #include <asm/cpu-features.h> 19 + #include <asm/hazards.h> 19 20 #include <asm/bitops.h> 20 21 #include <asm/processor.h> 21 22 #include <asm/current.h> ··· 39 38 extern void _save_fp(struct task_struct *); 40 39 extern void _restore_fp(struct task_struct *); 41 40 42 - #if defined(CONFIG_CPU_SB1) 43 - #define __enable_fpu_hazard() \ 44 - do { \ 45 - asm(".set push \n\t" \ 46 - ".set mips64 \n\t" \ 47 - ".set noreorder \n\t" \ 48 - "ssnop \n\t" \ 49 - "bnezl $0, .+4 \n\t" \ 50 - "ssnop \n\t" \ 51 - ".set pop"); \ 52 - } while (0) 53 - #else 54 - #define __enable_fpu_hazard() \ 55 - do { \ 56 - asm("nop;nop;nop;nop"); /* max. hazard */ \ 57 - } while (0) 58 - #endif 59 - 60 41 #define __enable_fpu() \ 61 42 do { \ 62 43 set_c0_status(ST0_CU1); \ 63 - __enable_fpu_hazard(); \ 44 + enable_fpu_hazard(); \ 64 45 } while (0) 65 46 66 47 #define __disable_fpu() \ 67 48 do { \ 68 49 clear_c0_status(ST0_CU1); \ 69 - /* We don't care about the c0 hazard here */ \ 50 + disable_fpu_hazard(); \ 70 51 } while (0) 71 52 72 53 #define enable_fpu() \
+32
include/asm-mips/hazards.h
··· 178 178 179 179 #endif 180 180 181 + 182 + /* FPU hazards */ 183 + 184 + #if defined(CONFIG_CPU_SB1) 185 + ASMMACRO(enable_fpu_hazard, 186 + .set push; 187 + .set mips64; 188 + .set noreorder; 189 + _ssnop; 190 + bnezl $0,.+4; 191 + _ssnop; 192 + .set pop 193 + ) 194 + ASMMACRO(disable_fpu_hazard, 195 + ) 196 + 197 + #elif defined(CONFIG_CPU_MIPSR2) 198 + ASMMACRO(enable_fpu_hazard, 199 + _ehb 200 + ) 201 + ASMMACRO(disable_fpu_hazard, 202 + _ehb 203 + ) 204 + #else 205 + ASMMACRO(enable_fpu_hazard, 206 + nop; nop; nop; nop 207 + ) 208 + ASMMACRO(disable_fpu_hazard, 209 + _ehb 210 + ) 211 + #endif 212 + 181 213 #endif /* _ASM_HAZARDS_H */
-42
include/asm-mips/highmem.h
··· 48 48 extern void * kmap_high(struct page *page); 49 49 extern void kunmap_high(struct page *page); 50 50 51 - /* 52 - * CONFIG_LIMITED_DMA is for systems with DMA limitations such as Momentum's 53 - * Jaguar ATX. This option exploits the highmem code in the kernel so is 54 - * always enabled together with CONFIG_HIGHMEM but at this time doesn't 55 - * actually add highmem functionality. 56 - */ 57 - 58 - #ifdef CONFIG_LIMITED_DMA 59 - 60 - /* 61 - * These are the default functions for the no-highmem case from 62 - * <linux/highmem.h> 63 - */ 64 - static inline void *kmap(struct page *page) 65 - { 66 - might_sleep(); 67 - return page_address(page); 68 - } 69 - 70 - #define kunmap(page) do { (void) (page); } while (0) 71 - 72 - static inline void *kmap_atomic(struct page *page, enum km_type type) 73 - { 74 - pagefault_disable(); 75 - return page_address(page); 76 - } 77 - 78 - static inline void kunmap_atomic(void *kvaddr, enum km_type type) 79 - { 80 - pagefault_enable(); 81 - } 82 - 83 - #define kmap_atomic_pfn(pfn, idx) kmap_atomic(pfn_to_page(pfn), (idx)) 84 - 85 - #define kmap_atomic_to_page(ptr) virt_to_page(ptr) 86 - 87 - #define flush_cache_kmaps() do { } while (0) 88 - 89 - #else /* LIMITED_DMA */ 90 - 91 51 extern void *__kmap(struct page *page); 92 52 extern void __kunmap(struct page *page); 93 53 extern void *__kmap_atomic(struct page *page, enum km_type type); ··· 62 102 #define kmap_atomic_to_page __kmap_atomic_to_page 63 103 64 104 #define flush_cache_kmaps() flush_cache_all() 65 - 66 - #endif /* LIMITED_DMA */ 67 105 68 106 #endif /* __KERNEL__ */ 69 107
+2
include/asm-mips/mach-cobalt/cobalt.h
··· 69 69 #define COBALT_BRD_ID_QUBE2 0x5 70 70 #define COBALT_BRD_ID_RAQ2 0x6 71 71 72 + extern int cobalt_board_id; 73 + 72 74 #define PCI_CFG_SET(devfn,where) \ 73 75 GT_WRITE(GT_PCI0_CFGADDR_OFS, (0x80000000 | (PCI_SLOT (devfn) << 11) | \ 74 76 (PCI_FUNC (devfn) << 8) | (where)))
-45
include/asm-mips/mach-ja/cpu-feature-overrides.h
··· 1 - /* 2 - * This file is subject to the terms and conditions of the GNU General Public 3 - * License. See the file "COPYING" in the main directory of this archive 4 - * for more details. 5 - * 6 - * Copyright (C) 2003, 2004 Ralf Baechle 7 - */ 8 - #ifndef __ASM_MACH_JA_CPU_FEATURE_OVERRIDES_H 9 - #define __ASM_MACH_JA_CPU_FEATURE_OVERRIDES_H 10 - 11 - /* 12 - * Momentum Jaguar ATX always has the RM9000 processor. 13 - */ 14 - #define cpu_has_watch 1 15 - #define cpu_has_mips16 0 16 - #define cpu_has_divec 0 17 - #define cpu_has_vce 0 18 - #define cpu_has_cache_cdex_p 0 19 - #define cpu_has_cache_cdex_s 0 20 - #define cpu_has_prefetch 1 21 - #define cpu_has_mcheck 0 22 - #define cpu_has_ejtag 0 23 - 24 - #define cpu_has_llsc 1 25 - #define cpu_has_vtag_icache 0 26 - #define cpu_has_dc_aliases 0 27 - #define cpu_has_ic_fills_f_dc 0 28 - #define cpu_has_dsp 0 29 - #define cpu_icache_snoops_remote_store 0 30 - 31 - #define cpu_has_nofpuex 0 32 - #define cpu_has_64bits 1 33 - 34 - #define cpu_has_inclusive_pcaches 0 35 - 36 - #define cpu_dcache_line_size() 32 37 - #define cpu_icache_line_size() 32 38 - #define cpu_scache_line_size() 32 39 - 40 - #define cpu_has_mips32r1 0 41 - #define cpu_has_mips32r2 0 42 - #define cpu_has_mips64r1 0 43 - #define cpu_has_mips64r2 0 44 - 45 - #endif /* __ASM_MACH_JA_CPU_FEATURE_OVERRIDES_H */
-20
include/asm-mips/mach-ja/spaces.h
··· 1 - /* 2 - * This file is subject to the terms and conditions of the GNU General Public 3 - * License. See the file "COPYING" in the main directory of this archive 4 - * for more details. 5 - * 6 - * Copyright (C) 1994 - 1999, 2000, 03, 04 Ralf Baechle 7 - * Copyright (C) 2000, 2002 Maciej W. Rozycki 8 - * Copyright (C) 1990, 1999, 2000 Silicon Graphics, Inc. 9 - */ 10 - #ifndef __ASM_MACH_JA_SPACES_H 11 - #define __ASM_MACH_JA_SPACES_H 12 - 13 - /* 14 - * Memory above this physical address will be considered highmem. 15 - */ 16 - #define HIGHMEM_START 0x08000000UL 17 - 18 - #include_next <spaces.h> 19 - 20 - #endif /* __ASM_MACH_JA_SPACES_H */
+4
include/asm-mips/mips-boards/malta.h
··· 25 25 #include <asm/mips-boards/msc01_pci.h> 26 26 #include <asm/gt64120.h> 27 27 28 + /* Mips interrupt controller found in SOCit variations */ 29 + #define MIPS_MSC01_IC_REG_BASE 0x1bc40000 30 + #define MIPS_SOCITSC_IC_REG_BASE 0x1ffa0000 31 + 28 32 /* 29 33 * Malta I/O ports base address for the Galileo GT64120 and Algorithmics 30 34 * Bonito system controllers.
+1 -4
include/asm-mips/msc01_ic.h
··· 94 94 /* 95 95 * MIPS System controller interrupt register base. 96 96 * 97 - * FIXME - are these macros specific to Malta and co or to the MSC? If the 98 - * latter, they should be moved elsewhere. 99 97 */ 100 - #define MIPS_MSC01_IC_REG_BASE 0x1bc40000 101 98 102 99 /***************************************************************************** 103 100 * Absolute register addresses ··· 141 144 #define MSC01_IRQ_LEVEL 0 142 145 #define MSC01_IRQ_EDGE 1 143 146 144 - extern void __init init_msc_irqs(unsigned int base, msc_irqmap_t *imp, int nirq); 147 + extern void __init init_msc_irqs(unsigned long icubase, unsigned int base, msc_irqmap_t *imp, int nirq); 145 148 extern void ll_msc_irq(void); 146 149 147 150 #endif /* __ASM_MIPS_BOARDS_MSC01_IC_H */
-4
include/asm-mips/page.h
··· 190 190 #define UNCAC_ADDR(addr) ((addr) - PAGE_OFFSET + UNCAC_BASE) 191 191 #define CAC_ADDR(addr) ((addr) - UNCAC_BASE + PAGE_OFFSET) 192 192 193 - #ifdef CONFIG_LIMITED_DMA 194 - #define WANT_PAGE_VIRTUAL 195 - #endif 196 - 197 193 #include <asm-generic/memory_model.h> 198 194 #include <asm-generic/page.h> 199 195
-41
include/asm-mips/serial.h
··· 81 81 #define STD_SERIAL_PORT_DEFNS 82 82 #endif /* CONFIG_HAVE_STD_PC_SERIAL_PORTS */ 83 83 84 - #ifdef CONFIG_MOMENCO_JAGUAR_ATX 85 - /* Ordinary NS16552 duart with a 20MHz crystal. */ 86 - #define JAGUAR_ATX_UART_CLK 20000000 87 - #define JAGUAR_ATX_BASE_BAUD (JAGUAR_ATX_UART_CLK / 16) 88 - 89 - #define JAGUAR_ATX_SERIAL1_IRQ 6 90 - #define JAGUAR_ATX_SERIAL1_BASE 0xfd000023L 91 - 92 - #define _JAGUAR_ATX_SERIAL_INIT(int, base) \ 93 - { .baud_base = JAGUAR_ATX_BASE_BAUD, irq: int, \ 94 - .flags = (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST), \ 95 - .iomem_base = (u8 *) base, iomem_reg_shift: 2, \ 96 - io_type: SERIAL_IO_MEM } 97 - #define MOMENCO_JAGUAR_ATX_SERIAL_PORT_DEFNS \ 98 - _JAGUAR_ATX_SERIAL_INIT(JAGUAR_ATX_SERIAL1_IRQ, JAGUAR_ATX_SERIAL1_BASE) 99 - #else 100 - #define MOMENCO_JAGUAR_ATX_SERIAL_PORT_DEFNS 101 - #endif 102 - 103 84 #ifdef CONFIG_MOMENCO_OCELOT_3 104 85 #define OCELOT_3_BASE_BAUD ( 20000000 / 16 ) 105 86 #define OCELOT_3_SERIAL_IRQ 6 ··· 113 132 _OCELOT_SERIAL_INIT(OCELOT_SERIAL1_IRQ, OCELOT_SERIAL1_BASE) 114 133 #else 115 134 #define MOMENCO_OCELOT_SERIAL_PORT_DEFNS 116 - #endif 117 - 118 - #ifdef CONFIG_MOMENCO_OCELOT_G 119 - /* Ordinary NS16552 duart with a 20MHz crystal. */ 120 - #define OCELOT_G_BASE_BAUD ( 20000000 / 16 ) 121 - 122 - #define OCELOT_G_SERIAL1_IRQ 4 123 - #if 0 124 - #define OCELOT_G_SERIAL1_BASE 0xe0001020 125 - #else 126 - #define OCELOT_G_SERIAL1_BASE 0xfd000020 127 - #endif 128 - 129 - #define _OCELOT_G_SERIAL_INIT(int, base) \ 130 - { .baud_base = OCELOT_G_BASE_BAUD, .irq = int, .flags = STD_COM_FLAGS,\ 131 - .iomem_base = (u8 *) base, .iomem_reg_shift = 2, \ 132 - .io_type = SERIAL_IO_MEM } 133 - #define MOMENCO_OCELOT_G_SERIAL_PORT_DEFNS \ 134 - _OCELOT_G_SERIAL_INIT(OCELOT_G_SERIAL1_IRQ, OCELOT_G_SERIAL1_BASE) 135 - #else 136 - #define MOMENCO_OCELOT_G_SERIAL_PORT_DEFNS 137 135 #endif 138 136 139 137 #ifdef CONFIG_MOMENCO_OCELOT_C ··· 170 210 IP32_SERIAL_PORT_DEFNS \ 171 211 JAZZ_SERIAL_PORT_DEFNS \ 172 212 STD_SERIAL_PORT_DEFNS \ 173 - MOMENCO_OCELOT_G_SERIAL_PORT_DEFNS \ 174 213 MOMENCO_OCELOT_C_SERIAL_PORT_DEFNS \ 175 214 MOMENCO_OCELOT_SERIAL_PORT_DEFNS \ 176 215 MOMENCO_OCELOT_3_SERIAL_PORT_DEFNS
+4 -1
include/asm-mips/system.h
··· 464 464 465 465 extern void set_handler (unsigned long offset, void *addr, unsigned long len); 466 466 extern void set_uncached_handler (unsigned long offset, void *addr, unsigned long len); 467 - extern void *set_vi_handler (int n, void *addr); 467 + 468 + typedef void (*vi_handler_t)(void); 469 + extern void *set_vi_handler (int n, vi_handler_t addr); 470 + 468 471 extern void *set_except_vector(int n, void *addr); 469 472 extern unsigned long ebase; 470 473 extern void per_cpu_trap_init(void);