diff options
Diffstat (limited to 'arch/sh')
96 files changed, 4057 insertions, 1603 deletions
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index 12720489e458..9a854c8e5274 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig | |||
@@ -72,9 +72,6 @@ config SYS_SUPPORTS_NUMA | |||
72 | config SYS_SUPPORTS_PCI | 72 | config SYS_SUPPORTS_PCI |
73 | bool | 73 | bool |
74 | 74 | ||
75 | config ARCH_MAY_HAVE_PC_FDC | ||
76 | bool | ||
77 | |||
78 | config STACKTRACE_SUPPORT | 75 | config STACKTRACE_SUPPORT |
79 | def_bool y | 76 | def_bool y |
80 | 77 | ||
@@ -170,6 +167,12 @@ config CPU_SUBTYPE_SH7263 | |||
170 | select CPU_SH2A | 167 | select CPU_SH2A |
171 | select CPU_HAS_FPU | 168 | select CPU_HAS_FPU |
172 | 169 | ||
170 | config CPU_SUBTYPE_MXG | ||
171 | bool "Support MX-G processor" | ||
172 | select CPU_SH2A | ||
173 | help | ||
174 | Select MX-G if running on an R8A03022BG part. | ||
175 | |||
173 | # SH-3 Processor Support | 176 | # SH-3 Processor Support |
174 | 177 | ||
175 | config CPU_SUBTYPE_SH7705 | 178 | config CPU_SUBTYPE_SH7705 |
@@ -273,6 +276,14 @@ config CPU_SUBTYPE_SH4_202 | |||
273 | 276 | ||
274 | # SH-4A Processor Support | 277 | # SH-4A Processor Support |
275 | 278 | ||
279 | config CPU_SUBTYPE_SH7723 | ||
280 | bool "Support SH7723 processor" | ||
281 | select CPU_SH4A | ||
282 | select CPU_SHX2 | ||
283 | select ARCH_SPARSEMEM_ENABLE | ||
284 | help | ||
285 | Select SH7723 if you have an SH-MobileR2 CPU. | ||
286 | |||
276 | config CPU_SUBTYPE_SH7763 | 287 | config CPU_SUBTYPE_SH7763 |
277 | bool "Support SH7763 processor" | 288 | bool "Support SH7763 processor" |
278 | select CPU_SH4A | 289 | select CPU_SH4A |
@@ -369,6 +380,14 @@ config SH_7619_SOLUTION_ENGINE | |||
369 | Select 7619 SolutionEngine if configuring for a Hitachi SH7619 | 380 | Select 7619 SolutionEngine if configuring for a Hitachi SH7619 |
370 | evaluation board. | 381 | evaluation board. |
371 | 382 | ||
383 | config SH_7721_SOLUTION_ENGINE | ||
384 | bool "SolutionEngine7721" | ||
385 | select SOLUTION_ENGINE | ||
386 | depends on CPU_SUBTYPE_SH7721 | ||
387 | help | ||
388 | Select 7721 SolutionEngine if configuring for a Hitachi SH7721 | ||
389 | evaluation board. | ||
390 | |||
372 | config SH_7722_SOLUTION_ENGINE | 391 | config SH_7722_SOLUTION_ENGINE |
373 | bool "SolutionEngine7722" | 392 | bool "SolutionEngine7722" |
374 | select SOLUTION_ENGINE | 393 | select SOLUTION_ENGINE |
@@ -428,14 +447,6 @@ config SH_DREAMCAST | |||
428 | Select Dreamcast if configuring for a SEGA Dreamcast. | 447 | Select Dreamcast if configuring for a SEGA Dreamcast. |
429 | More information at <http://www.linux-sh.org> | 448 | More information at <http://www.linux-sh.org> |
430 | 449 | ||
431 | config SH_MPC1211 | ||
432 | bool "Interface MPC1211" | ||
433 | depends on CPU_SUBTYPE_SH7751 && BROKEN | ||
434 | help | ||
435 | CTP/PCI-SH02 is a CPU module computer that is produced | ||
436 | by Interface Corporation. | ||
437 | More information at <http://www.interface.co.jp> | ||
438 | |||
439 | config SH_SH03 | 450 | config SH_SH03 |
440 | bool "Interface CTP/PCI-SH03" | 451 | bool "Interface CTP/PCI-SH03" |
441 | depends on CPU_SUBTYPE_SH7751 | 452 | depends on CPU_SUBTYPE_SH7751 |
@@ -563,7 +574,7 @@ config SH_TMU | |||
563 | config SH_CMT | 574 | config SH_CMT |
564 | def_bool y | 575 | def_bool y |
565 | prompt "CMT timer support" | 576 | prompt "CMT timer support" |
566 | depends on CPU_SH2 | 577 | depends on CPU_SH2 && !CPU_SUBTYPE_MXG |
567 | help | 578 | help |
568 | This enables the use of the CMT as the system timer. | 579 | This enables the use of the CMT as the system timer. |
569 | 580 | ||
@@ -581,6 +592,7 @@ config SH_TIMER_IRQ | |||
581 | default "86" if CPU_SUBTYPE_SH7619 | 592 | default "86" if CPU_SUBTYPE_SH7619 |
582 | default "140" if CPU_SUBTYPE_SH7206 | 593 | default "140" if CPU_SUBTYPE_SH7206 |
583 | default "142" if CPU_SUBTYPE_SH7203 | 594 | default "142" if CPU_SUBTYPE_SH7203 |
595 | default "238" if CPU_SUBTYPE_MXG | ||
584 | default "16" | 596 | default "16" |
585 | 597 | ||
586 | config SH_PCLK_FREQ | 598 | config SH_PCLK_FREQ |
@@ -588,10 +600,10 @@ config SH_PCLK_FREQ | |||
588 | default "27000000" if CPU_SUBTYPE_SH7343 | 600 | default "27000000" if CPU_SUBTYPE_SH7343 |
589 | default "31250000" if CPU_SUBTYPE_SH7619 | 601 | default "31250000" if CPU_SUBTYPE_SH7619 |
590 | default "32000000" if CPU_SUBTYPE_SH7722 | 602 | default "32000000" if CPU_SUBTYPE_SH7722 |
591 | default "33333333" if CPU_SUBTYPE_SH7770 || \ | 603 | default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \ |
592 | CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \ | 604 | CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \ |
593 | CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \ | 605 | CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \ |
594 | CPU_SUBTYPE_SH7263 | 606 | CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG |
595 | default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R | 607 | default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R |
596 | default "66000000" if CPU_SUBTYPE_SH4_202 | 608 | default "66000000" if CPU_SUBTYPE_SH4_202 |
597 | default "50000000" | 609 | default "50000000" |
@@ -636,8 +648,7 @@ source "arch/sh/drivers/Kconfig" | |||
636 | endmenu | 648 | endmenu |
637 | 649 | ||
638 | config ISA_DMA_API | 650 | config ISA_DMA_API |
639 | def_bool y | 651 | bool |
640 | depends on SH_MPC1211 | ||
641 | 652 | ||
642 | menu "Kernel features" | 653 | menu "Kernel features" |
643 | 654 | ||
@@ -645,7 +656,7 @@ source kernel/Kconfig.hz | |||
645 | 656 | ||
646 | config KEXEC | 657 | config KEXEC |
647 | bool "kexec system call (EXPERIMENTAL)" | 658 | bool "kexec system call (EXPERIMENTAL)" |
648 | depends on EXPERIMENTAL | 659 | depends on SUPERH32 && EXPERIMENTAL |
649 | help | 660 | help |
650 | kexec is a system call that implements the ability to shutdown your | 661 | kexec is a system call that implements the ability to shutdown your |
651 | current kernel, and to start another kernel. It is like a reboot | 662 | current kernel, and to start another kernel. It is like a reboot |
@@ -662,7 +673,7 @@ config KEXEC | |||
662 | 673 | ||
663 | config CRASH_DUMP | 674 | config CRASH_DUMP |
664 | bool "kernel crash dumps (EXPERIMENTAL)" | 675 | bool "kernel crash dumps (EXPERIMENTAL)" |
665 | depends on EXPERIMENTAL | 676 | depends on SUPERH32 && EXPERIMENTAL |
666 | help | 677 | help |
667 | Generate crash dump after being started by kexec. | 678 | Generate crash dump after being started by kexec. |
668 | This should be normally only set in special crash dump kernels | 679 | This should be normally only set in special crash dump kernels |
@@ -742,7 +753,7 @@ menu "Boot options" | |||
742 | 753 | ||
743 | config ZERO_PAGE_OFFSET | 754 | config ZERO_PAGE_OFFSET |
744 | hex "Zero page offset" | 755 | hex "Zero page offset" |
745 | default "0x00004000" if SH_MPC1211 || SH_SH03 | 756 | default "0x00004000" if SH_SH03 |
746 | default "0x00010000" if PAGE_SIZE_64KB | 757 | default "0x00010000" if PAGE_SIZE_64KB |
747 | default "0x00002000" if PAGE_SIZE_8KB | 758 | default "0x00002000" if PAGE_SIZE_8KB |
748 | default "0x00001000" | 759 | default "0x00001000" |
diff --git a/arch/sh/Kconfig.debug b/arch/sh/Kconfig.debug index 5dcb74b947a9..0f4549860226 100644 --- a/arch/sh/Kconfig.debug +++ b/arch/sh/Kconfig.debug | |||
@@ -7,6 +7,7 @@ source "lib/Kconfig.debug" | |||
7 | 7 | ||
8 | config SH_STANDARD_BIOS | 8 | config SH_STANDARD_BIOS |
9 | bool "Use LinuxSH standard BIOS" | 9 | bool "Use LinuxSH standard BIOS" |
10 | depends on SUPERH32 | ||
10 | help | 11 | help |
11 | Say Y here if your target has the gdb-sh-stub | 12 | Say Y here if your target has the gdb-sh-stub |
12 | package from www.m17n.org (or any conforming standard LinuxSH BIOS) | 13 | package from www.m17n.org (or any conforming standard LinuxSH BIOS) |
@@ -29,16 +30,17 @@ config EARLY_SCIF_CONSOLE | |||
29 | config EARLY_SCIF_CONSOLE_PORT | 30 | config EARLY_SCIF_CONSOLE_PORT |
30 | hex | 31 | hex |
31 | depends on EARLY_SCIF_CONSOLE | 32 | depends on EARLY_SCIF_CONSOLE |
32 | default "0xffe00000" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7763 | ||
33 | default "0xffe00000" if CPU_SUBTYPE_SH7722 || CPU_SUBTYPE_SH7366 | ||
34 | default "0xffea0000" if CPU_SUBTYPE_SH7785 | ||
35 | default "0xfffe8000" if CPU_SUBTYPE_SH7203 | ||
36 | default "0xfffe9800" if CPU_SUBTYPE_SH7206 || CPU_SUBTYPE_SH7263 | ||
37 | default "0xf8420000" if CPU_SUBTYPE_SH7619 | ||
38 | default "0xa4400000" if CPU_SUBTYPE_SH7712 || CPU_SUBTYPE_SH7705 | 33 | default "0xa4400000" if CPU_SUBTYPE_SH7712 || CPU_SUBTYPE_SH7705 |
39 | default "0xa4430000" if CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721 | 34 | default "0xa4430000" if CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721 |
35 | default "0xf8420000" if CPU_SUBTYPE_SH7619 | ||
36 | default "0xff804000" if CPU_SUBTYPE_MXG | ||
40 | default "0xffc30000" if CPU_SUBTYPE_SHX3 | 37 | default "0xffc30000" if CPU_SUBTYPE_SHX3 |
38 | default "0xffe00000" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7763 || \ | ||
39 | CPU_SUBTYPE_SH7722 || CPU_SUBTYPE_SH7366 | ||
41 | default "0xffe80000" if CPU_SH4 | 40 | default "0xffe80000" if CPU_SH4 |
41 | default "0xffea0000" if CPU_SUBTYPE_SH7785 | ||
42 | default "0xfffe8000" if CPU_SUBTYPE_SH7203 | ||
43 | default "0xfffe9800" if CPU_SUBTYPE_SH7206 || CPU_SUBTYPE_SH7263 | ||
42 | default "0x00000000" | 44 | default "0x00000000" |
43 | 45 | ||
44 | config EARLY_PRINTK | 46 | config EARLY_PRINTK |
@@ -79,7 +81,7 @@ config DEBUG_STACK_USAGE | |||
79 | 81 | ||
80 | config 4KSTACKS | 82 | config 4KSTACKS |
81 | bool "Use 4Kb for kernel stacks instead of 8Kb" | 83 | bool "Use 4Kb for kernel stacks instead of 8Kb" |
82 | depends on DEBUG_KERNEL | 84 | depends on DEBUG_KERNEL && (MMU || BROKEN) |
83 | help | 85 | help |
84 | If you say Y here the kernel will use a 4Kb stacksize for the | 86 | If you say Y here the kernel will use a 4Kb stacksize for the |
85 | kernel stack attached to each process/thread. This facilitates | 87 | kernel stack attached to each process/thread. This facilitates |
diff --git a/arch/sh/Makefile b/arch/sh/Makefile index cffc92b1bf2e..fb7b1b15e392 100644 --- a/arch/sh/Makefile +++ b/arch/sh/Makefile | |||
@@ -41,6 +41,8 @@ cflags-$(CONFIG_CPU_SH5) := $(call cc-option,-m5-32media-nofpu,) | |||
41 | cflags-$(CONFIG_CPU_BIG_ENDIAN) += -mb | 41 | cflags-$(CONFIG_CPU_BIG_ENDIAN) += -mb |
42 | cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml | 42 | cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml |
43 | 43 | ||
44 | cflags-y += $(call cc-option,-mno-fdpic) | ||
45 | |||
44 | # | 46 | # |
45 | # -Wa,-isa= tuning implies -Wa,-dsp for the versions of binutils that | 47 | # -Wa,-isa= tuning implies -Wa,-dsp for the versions of binutils that |
46 | # support it, while -Wa,-dsp by itself limits the range of usable opcodes | 48 | # support it, while -Wa,-dsp by itself limits the range of usable opcodes |
@@ -107,9 +109,9 @@ machdir-$(CONFIG_SH_7722_SOLUTION_ENGINE) += se/7722 | |||
107 | machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE) += se/7751 | 109 | machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE) += se/7751 |
108 | machdir-$(CONFIG_SH_7780_SOLUTION_ENGINE) += se/7780 | 110 | machdir-$(CONFIG_SH_7780_SOLUTION_ENGINE) += se/7780 |
109 | machdir-$(CONFIG_SH_7343_SOLUTION_ENGINE) += se/7343 | 111 | machdir-$(CONFIG_SH_7343_SOLUTION_ENGINE) += se/7343 |
112 | machdir-$(CONFIG_SH_7721_SOLUTION_ENGINE) += se/7721 | ||
110 | machdir-$(CONFIG_SH_HP6XX) += hp6xx | 113 | machdir-$(CONFIG_SH_HP6XX) += hp6xx |
111 | machdir-$(CONFIG_SH_DREAMCAST) += dreamcast | 114 | machdir-$(CONFIG_SH_DREAMCAST) += dreamcast |
112 | machdir-$(CONFIG_SH_MPC1211) += mpc1211 | ||
113 | machdir-$(CONFIG_SH_SH03) += sh03 | 115 | machdir-$(CONFIG_SH_SH03) += sh03 |
114 | machdir-$(CONFIG_SH_SECUREEDGE5410) += snapgear | 116 | machdir-$(CONFIG_SH_SECUREEDGE5410) += snapgear |
115 | machdir-$(CONFIG_SH_RTS7751R2D) += renesas/rts7751r2d | 117 | machdir-$(CONFIG_SH_RTS7751R2D) += renesas/rts7751r2d |
diff --git a/arch/sh/boards/mpc1211/Makefile b/arch/sh/boards/mpc1211/Makefile deleted file mode 100644 index 8cd31b5d200b..000000000000 --- a/arch/sh/boards/mpc1211/Makefile +++ /dev/null | |||
@@ -1,8 +0,0 @@ | |||
1 | # | ||
2 | # Makefile for the Interface (CTP/PCI/MPC-SH02) specific parts of the kernel | ||
3 | # | ||
4 | |||
5 | obj-y := setup.o rtc.o | ||
6 | |||
7 | obj-$(CONFIG_PCI) += pci.o | ||
8 | |||
diff --git a/arch/sh/boards/mpc1211/pci.c b/arch/sh/boards/mpc1211/pci.c deleted file mode 100644 index 23849f70f133..000000000000 --- a/arch/sh/boards/mpc1211/pci.c +++ /dev/null | |||
@@ -1,295 +0,0 @@ | |||
1 | /* | ||
2 | * Low-Level PCI Support for the MPC-1211(CTP/PCI/MPC-SH02) | ||
3 | * | ||
4 | * (c) 2002-2003 Saito.K & Jeanne | ||
5 | * | ||
6 | * Dustin McIntire (dustin@sensoria.com) | ||
7 | * Derived from arch/i386/kernel/pci-*.c which bore the message: | ||
8 | * (c) 1999--2000 Martin Mares <mj@ucw.cz> | ||
9 | * | ||
10 | * May be copied or modified under the terms of the GNU General Public | ||
11 | * License. See linux/COPYING for more information. | ||
12 | * | ||
13 | */ | ||
14 | #include <linux/types.h> | ||
15 | #include <linux/kernel.h> | ||
16 | #include <linux/init.h> | ||
17 | #include <linux/delay.h> | ||
18 | #include <linux/pci.h> | ||
19 | #include <linux/sched.h> | ||
20 | #include <linux/ioport.h> | ||
21 | #include <linux/errno.h> | ||
22 | #include <linux/irq.h> | ||
23 | #include <linux/interrupt.h> | ||
24 | |||
25 | #include <asm/machvec.h> | ||
26 | #include <asm/io.h> | ||
27 | #include <asm/mpc1211/pci.h> | ||
28 | |||
29 | static struct resource mpcpci_io_resource = { | ||
30 | "MPCPCI IO", | ||
31 | 0x00000000, | ||
32 | 0xffffffff, | ||
33 | IORESOURCE_IO | ||
34 | }; | ||
35 | |||
36 | static struct resource mpcpci_mem_resource = { | ||
37 | "MPCPCI mem", | ||
38 | 0x00000000, | ||
39 | 0xffffffff, | ||
40 | IORESOURCE_MEM | ||
41 | }; | ||
42 | |||
43 | static struct pci_ops pci_direct_conf1; | ||
44 | struct pci_channel board_pci_channels[] = { | ||
45 | {&pci_direct_conf1, &mpcpci_io_resource, &mpcpci_mem_resource, 0, 256}, | ||
46 | {NULL, NULL, NULL, 0, 0}, | ||
47 | }; | ||
48 | |||
49 | /* | ||
50 | * Direct access to PCI hardware... | ||
51 | */ | ||
52 | |||
53 | |||
54 | #define CONFIG_CMD(bus, devfn, where) (0x80000000 | (bus->number << 16) | (devfn << 8) | (where & ~3)) | ||
55 | |||
56 | /* | ||
57 | * Functions for accessing PCI configuration space with type 1 accesses | ||
58 | */ | ||
59 | static int pci_conf1_read(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 *value) | ||
60 | { | ||
61 | u32 word; | ||
62 | unsigned long flags; | ||
63 | |||
64 | /* | ||
65 | * PCIPDR may only be accessed as 32 bit words, | ||
66 | * so we must do byte alignment by hand | ||
67 | */ | ||
68 | local_irq_save(flags); | ||
69 | writel(CONFIG_CMD(bus,devfn,where), PCIPAR); | ||
70 | word = readl(PCIPDR); | ||
71 | local_irq_restore(flags); | ||
72 | |||
73 | switch (size) { | ||
74 | case 1: | ||
75 | switch (where & 0x3) { | ||
76 | case 3: | ||
77 | *value = (u8)(word >> 24); | ||
78 | break; | ||
79 | case 2: | ||
80 | *value = (u8)(word >> 16); | ||
81 | break; | ||
82 | case 1: | ||
83 | *value = (u8)(word >> 8); | ||
84 | break; | ||
85 | default: | ||
86 | *value = (u8)word; | ||
87 | break; | ||
88 | } | ||
89 | break; | ||
90 | case 2: | ||
91 | switch (where & 0x3) { | ||
92 | case 3: | ||
93 | *value = (u16)(word >> 24); | ||
94 | local_irq_save(flags); | ||
95 | writel(CONFIG_CMD(bus,devfn,(where+1)), PCIPAR); | ||
96 | word = readl(PCIPDR); | ||
97 | local_irq_restore(flags); | ||
98 | *value |= ((word & 0xff) << 8); | ||
99 | break; | ||
100 | case 2: | ||
101 | *value = (u16)(word >> 16); | ||
102 | break; | ||
103 | case 1: | ||
104 | *value = (u16)(word >> 8); | ||
105 | break; | ||
106 | default: | ||
107 | *value = (u16)word; | ||
108 | break; | ||
109 | } | ||
110 | break; | ||
111 | case 4: | ||
112 | *value = word; | ||
113 | break; | ||
114 | } | ||
115 | PCIDBG(4,"pci_conf1_read@0x%08x=0x%x\n", CONFIG_CMD(bus,devfn,where),*value); | ||
116 | return PCIBIOS_SUCCESSFUL; | ||
117 | } | ||
118 | |||
119 | /* | ||
120 | * Since MPC-1211 only does 32bit access we'll have to do a read,mask,write operation. | ||
121 | * We'll allow an odd byte offset, though it should be illegal. | ||
122 | */ | ||
123 | static int pci_conf1_write(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 value) | ||
124 | { | ||
125 | u32 word,mask = 0; | ||
126 | unsigned long flags; | ||
127 | u32 shift = (where & 3) * 8; | ||
128 | |||
129 | if(size == 1) { | ||
130 | mask = ((1 << 8) - 1) << shift; // create the byte mask | ||
131 | } else if(size == 2){ | ||
132 | if(shift == 24) | ||
133 | return PCIBIOS_BAD_REGISTER_NUMBER; | ||
134 | mask = ((1 << 16) - 1) << shift; // create the word mask | ||
135 | } | ||
136 | local_irq_save(flags); | ||
137 | writel(CONFIG_CMD(bus,devfn,where), PCIPAR); | ||
138 | if(size == 4){ | ||
139 | writel(value, PCIPDR); | ||
140 | local_irq_restore(flags); | ||
141 | PCIDBG(4,"pci_conf1_write@0x%08x=0x%x\n", CONFIG_CMD(bus,devfn,where),value); | ||
142 | return PCIBIOS_SUCCESSFUL; | ||
143 | } | ||
144 | word = readl(PCIPDR); | ||
145 | word &= ~mask; | ||
146 | word |= ((value << shift) & mask); | ||
147 | writel(word, PCIPDR); | ||
148 | local_irq_restore(flags); | ||
149 | PCIDBG(4,"pci_conf1_write@0x%08x=0x%x\n", CONFIG_CMD(bus,devfn,where),word); | ||
150 | return PCIBIOS_SUCCESSFUL; | ||
151 | } | ||
152 | |||
153 | #undef CONFIG_CMD | ||
154 | |||
155 | static struct pci_ops pci_direct_conf1 = { | ||
156 | .read = pci_conf1_read, | ||
157 | .write = pci_conf1_write, | ||
158 | }; | ||
159 | |||
160 | static void __devinit quirk_ali_ide_ports(struct pci_dev *dev) | ||
161 | { | ||
162 | dev->resource[0].start = 0x1f0; | ||
163 | dev->resource[0].end = 0x1f7; | ||
164 | dev->resource[0].flags = IORESOURCE_IO; | ||
165 | dev->resource[1].start = 0x3f6; | ||
166 | dev->resource[1].end = 0x3f6; | ||
167 | dev->resource[1].flags = IORESOURCE_IO; | ||
168 | dev->resource[2].start = 0x170; | ||
169 | dev->resource[2].end = 0x177; | ||
170 | dev->resource[2].flags = IORESOURCE_IO; | ||
171 | dev->resource[3].start = 0x376; | ||
172 | dev->resource[3].end = 0x376; | ||
173 | dev->resource[3].flags = IORESOURCE_IO; | ||
174 | dev->resource[4].start = 0xf000; | ||
175 | dev->resource[4].end = 0xf00f; | ||
176 | dev->resource[4].flags = IORESOURCE_IO; | ||
177 | } | ||
178 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M5229, quirk_ali_ide_ports); | ||
179 | |||
180 | char * __devinit pcibios_setup(char *str) | ||
181 | { | ||
182 | return str; | ||
183 | } | ||
184 | |||
185 | /* | ||
186 | * Called after each bus is probed, but before its children | ||
187 | * are examined. | ||
188 | */ | ||
189 | |||
190 | void __devinit pcibios_fixup_bus(struct pci_bus *b) | ||
191 | { | ||
192 | pci_read_bridge_bases(b); | ||
193 | } | ||
194 | |||
195 | /* | ||
196 | * IRQ functions | ||
197 | */ | ||
198 | static inline u8 bridge_swizzle(u8 pin, u8 slot) | ||
199 | { | ||
200 | return (((pin-1) + slot) % 4) + 1; | ||
201 | } | ||
202 | |||
203 | static inline u8 bridge_swizzle_pci_1(u8 pin, u8 slot) | ||
204 | { | ||
205 | return (((pin-1) - slot) & 3) + 1; | ||
206 | } | ||
207 | |||
208 | static u8 __init mpc1211_swizzle(struct pci_dev *dev, u8 *pinp) | ||
209 | { | ||
210 | unsigned long flags; | ||
211 | u8 pin = *pinp; | ||
212 | u32 word; | ||
213 | |||
214 | for ( ; dev->bus->self; dev = dev->bus->self) { | ||
215 | if (!pin) | ||
216 | continue; | ||
217 | |||
218 | if (dev->bus->number == 1) { | ||
219 | local_irq_save(flags); | ||
220 | writel(0x80000000 | 0x2c, PCIPAR); | ||
221 | word = readl(PCIPDR); | ||
222 | local_irq_restore(flags); | ||
223 | word >>= 16; | ||
224 | |||
225 | if (word == 0x0001) | ||
226 | pin = bridge_swizzle_pci_1(pin, PCI_SLOT(dev->devfn)); | ||
227 | else | ||
228 | pin = bridge_swizzle(pin, PCI_SLOT(dev->devfn)); | ||
229 | } else | ||
230 | pin = bridge_swizzle(pin, PCI_SLOT(dev->devfn)); | ||
231 | } | ||
232 | |||
233 | *pinp = pin; | ||
234 | |||
235 | return PCI_SLOT(dev->devfn); | ||
236 | } | ||
237 | |||
238 | static int __init map_mpc1211_irq(struct pci_dev *dev, u8 slot, u8 pin) | ||
239 | { | ||
240 | int irq = -1; | ||
241 | |||
242 | /* now lookup the actual IRQ on a platform specific basis (pci-'platform'.c) */ | ||
243 | if (dev->bus->number == 0) { | ||
244 | switch (slot) { | ||
245 | case 13: irq = 9; break; /* USB */ | ||
246 | case 22: irq = 10; break; /* LAN */ | ||
247 | default: irq = 0; break; | ||
248 | } | ||
249 | } else { | ||
250 | switch (pin) { | ||
251 | case 0: irq = 0; break; | ||
252 | case 1: irq = 7; break; | ||
253 | case 2: irq = 9; break; | ||
254 | case 3: irq = 10; break; | ||
255 | case 4: irq = 11; break; | ||
256 | } | ||
257 | } | ||
258 | |||
259 | if( irq < 0 ) { | ||
260 | PCIDBG(3, "PCI: Error mapping IRQ on device %s\n", pci_name(dev)); | ||
261 | return irq; | ||
262 | } | ||
263 | |||
264 | PCIDBG(2, "Setting IRQ for slot %s to %d\n", pci_name(dev), irq); | ||
265 | |||
266 | return irq; | ||
267 | } | ||
268 | |||
269 | void __init pcibios_fixup_irqs(void) | ||
270 | { | ||
271 | pci_fixup_irqs(mpc1211_swizzle, map_mpc1211_irq); | ||
272 | } | ||
273 | |||
274 | void pcibios_align_resource(void *data, struct resource *res, | ||
275 | resource_size_t size, resource_size_t align) | ||
276 | { | ||
277 | resource_size_t start = res->start; | ||
278 | |||
279 | if (res->flags & IORESOURCE_IO) { | ||
280 | if (start >= 0x10000UL) { | ||
281 | if ((start & 0xffffUL) < 0x4000UL) { | ||
282 | start = (start & 0xffff0000UL) + 0x4000UL; | ||
283 | } else if ((start & 0xffffUL) >= 0xf000UL) { | ||
284 | start = (start & 0xffff0000UL) + 0x10000UL; | ||
285 | } | ||
286 | res->start = start; | ||
287 | } else { | ||
288 | if (start & 0x300) { | ||
289 | start = (start + 0x3ff) & ~0x3ff; | ||
290 | res->start = start; | ||
291 | } | ||
292 | } | ||
293 | } | ||
294 | } | ||
295 | |||
diff --git a/arch/sh/boards/mpc1211/rtc.c b/arch/sh/boards/mpc1211/rtc.c deleted file mode 100644 index 03b123a4bba4..000000000000 --- a/arch/sh/boards/mpc1211/rtc.c +++ /dev/null | |||
@@ -1,136 +0,0 @@ | |||
1 | /* | ||
2 | * linux/arch/sh/kernel/rtc-mpc1211.c -- MPC-1211 on-chip RTC support | ||
3 | * | ||
4 | * Copyright (C) 2002 Saito.K & Jeanne | ||
5 | * | ||
6 | */ | ||
7 | |||
8 | #include <linux/init.h> | ||
9 | #include <linux/kernel.h> | ||
10 | #include <linux/sched.h> | ||
11 | #include <linux/time.h> | ||
12 | #include <linux/bcd.h> | ||
13 | #include <linux/mc146818rtc.h> | ||
14 | |||
15 | unsigned long get_cmos_time(void) | ||
16 | { | ||
17 | unsigned int year, mon, day, hour, min, sec; | ||
18 | |||
19 | spin_lock(&rtc_lock); | ||
20 | |||
21 | do { | ||
22 | sec = CMOS_READ(RTC_SECONDS); | ||
23 | min = CMOS_READ(RTC_MINUTES); | ||
24 | hour = CMOS_READ(RTC_HOURS); | ||
25 | day = CMOS_READ(RTC_DAY_OF_MONTH); | ||
26 | mon = CMOS_READ(RTC_MONTH); | ||
27 | year = CMOS_READ(RTC_YEAR); | ||
28 | } while (sec != CMOS_READ(RTC_SECONDS)); | ||
29 | |||
30 | if (!(CMOS_READ(RTC_CONTROL) & RTC_DM_BINARY) || RTC_ALWAYS_BCD) { | ||
31 | BCD_TO_BIN(sec); | ||
32 | BCD_TO_BIN(min); | ||
33 | BCD_TO_BIN(hour); | ||
34 | BCD_TO_BIN(day); | ||
35 | BCD_TO_BIN(mon); | ||
36 | BCD_TO_BIN(year); | ||
37 | } | ||
38 | |||
39 | spin_unlock(&rtc_lock); | ||
40 | |||
41 | year += 1900; | ||
42 | if (year < 1970) | ||
43 | year += 100; | ||
44 | |||
45 | return mktime(year, mon, day, hour, min, sec); | ||
46 | } | ||
47 | |||
48 | void mpc1211_rtc_gettimeofday(struct timeval *tv) | ||
49 | { | ||
50 | |||
51 | tv->tv_sec = get_cmos_time(); | ||
52 | tv->tv_usec = 0; | ||
53 | } | ||
54 | |||
55 | /* arc/i386/kernel/time.c */ | ||
56 | /* | ||
57 | * In order to set the CMOS clock precisely, set_rtc_mmss has to be | ||
58 | * called 500 ms after the second nowtime has started, because when | ||
59 | * nowtime is written into the registers of the CMOS clock, it will | ||
60 | * jump to the next second precisely 500 ms later. Check the Motorola | ||
61 | * MC146818A or Dallas DS12887 data sheet for details. | ||
62 | * | ||
63 | * BUG: This routine does not handle hour overflow properly; it just | ||
64 | * sets the minutes. Usually you'll only notice that after reboot! | ||
65 | */ | ||
66 | static int set_rtc_mmss(unsigned long nowtime) | ||
67 | { | ||
68 | int retval = 0; | ||
69 | int real_seconds, real_minutes, cmos_minutes; | ||
70 | unsigned char save_control, save_freq_select; | ||
71 | |||
72 | /* gets recalled with irq locally disabled */ | ||
73 | spin_lock(&rtc_lock); | ||
74 | save_control = CMOS_READ(RTC_CONTROL); /* tell the clock it's being set */ | ||
75 | CMOS_WRITE((save_control|RTC_SET), RTC_CONTROL); | ||
76 | |||
77 | save_freq_select = CMOS_READ(RTC_FREQ_SELECT); /* stop and reset prescaler */ | ||
78 | CMOS_WRITE((save_freq_select|RTC_DIV_RESET2), RTC_FREQ_SELECT); | ||
79 | |||
80 | cmos_minutes = CMOS_READ(RTC_MINUTES); | ||
81 | if (!(save_control & RTC_DM_BINARY) || RTC_ALWAYS_BCD) | ||
82 | BCD_TO_BIN(cmos_minutes); | ||
83 | |||
84 | /* | ||
85 | * since we're only adjusting minutes and seconds, | ||
86 | * don't interfere with hour overflow. This avoids | ||
87 | * messing with unknown time zones but requires your | ||
88 | * RTC not to be off by more than 15 minutes | ||
89 | */ | ||
90 | real_seconds = nowtime % 60; | ||
91 | real_minutes = nowtime / 60; | ||
92 | if (((abs(real_minutes - cmos_minutes) + 15)/30) & 1) | ||
93 | real_minutes += 30; /* correct for half hour time zone */ | ||
94 | real_minutes %= 60; | ||
95 | |||
96 | if (abs(real_minutes - cmos_minutes) < 30) { | ||
97 | if (!(save_control & RTC_DM_BINARY) || RTC_ALWAYS_BCD) { | ||
98 | BIN_TO_BCD(real_seconds); | ||
99 | BIN_TO_BCD(real_minutes); | ||
100 | } | ||
101 | CMOS_WRITE(real_seconds,RTC_SECONDS); | ||
102 | CMOS_WRITE(real_minutes,RTC_MINUTES); | ||
103 | } else { | ||
104 | printk(KERN_WARNING | ||
105 | "set_rtc_mmss: can't update from %d to %d\n", | ||
106 | cmos_minutes, real_minutes); | ||
107 | retval = -1; | ||
108 | } | ||
109 | |||
110 | /* The following flags have to be released exactly in this order, | ||
111 | * otherwise the DS12887 (popular MC146818A clone with integrated | ||
112 | * battery and quartz) will not reset the oscillator and will not | ||
113 | * update precisely 500 ms later. You won't find this mentioned in | ||
114 | * the Dallas Semiconductor data sheets, but who believes data | ||
115 | * sheets anyway ... -- Markus Kuhn | ||
116 | */ | ||
117 | CMOS_WRITE(save_control, RTC_CONTROL); | ||
118 | CMOS_WRITE(save_freq_select, RTC_FREQ_SELECT); | ||
119 | spin_unlock(&rtc_lock); | ||
120 | |||
121 | return retval; | ||
122 | } | ||
123 | |||
124 | int mpc1211_rtc_settimeofday(const struct timeval *tv) | ||
125 | { | ||
126 | unsigned long nowtime = tv->tv_sec; | ||
127 | |||
128 | return set_rtc_mmss(nowtime); | ||
129 | } | ||
130 | |||
131 | void mpc1211_time_init(void) | ||
132 | { | ||
133 | rtc_sh_get_time = mpc1211_rtc_gettimeofday; | ||
134 | rtc_sh_set_time = mpc1211_rtc_settimeofday; | ||
135 | } | ||
136 | |||
diff --git a/arch/sh/boards/mpc1211/setup.c b/arch/sh/boards/mpc1211/setup.c deleted file mode 100644 index fede36361dc7..000000000000 --- a/arch/sh/boards/mpc1211/setup.c +++ /dev/null | |||
@@ -1,347 +0,0 @@ | |||
1 | /* | ||
2 | * linux/arch/sh/boards/mpc1211/setup.c | ||
3 | * | ||
4 | * Copyright (C) 2002 Saito.K & Jeanne, Fujii.Y | ||
5 | * | ||
6 | */ | ||
7 | |||
8 | #include <linux/init.h> | ||
9 | #include <linux/irq.h> | ||
10 | #include <linux/hdreg.h> | ||
11 | #include <linux/ide.h> | ||
12 | #include <linux/interrupt.h> | ||
13 | #include <linux/platform_device.h> | ||
14 | #include <asm/io.h> | ||
15 | #include <asm/machvec.h> | ||
16 | #include <asm/mpc1211/mpc1211.h> | ||
17 | #include <asm/mpc1211/pci.h> | ||
18 | #include <asm/mpc1211/m1543c.h> | ||
19 | |||
20 | /* ALI15X3 SMBus address offsets */ | ||
21 | #define SMBHSTSTS (0 + 0x3100) | ||
22 | #define SMBHSTCNT (1 + 0x3100) | ||
23 | #define SMBHSTSTART (2 + 0x3100) | ||
24 | #define SMBHSTCMD (7 + 0x3100) | ||
25 | #define SMBHSTADD (3 + 0x3100) | ||
26 | #define SMBHSTDAT0 (4 + 0x3100) | ||
27 | #define SMBHSTDAT1 (5 + 0x3100) | ||
28 | #define SMBBLKDAT (6 + 0x3100) | ||
29 | |||
30 | /* Other settings */ | ||
31 | #define MAX_TIMEOUT 500 /* times 1/100 sec */ | ||
32 | |||
33 | /* ALI15X3 command constants */ | ||
34 | #define ALI15X3_ABORT 0x04 | ||
35 | #define ALI15X3_T_OUT 0x08 | ||
36 | #define ALI15X3_QUICK 0x00 | ||
37 | #define ALI15X3_BYTE 0x10 | ||
38 | #define ALI15X3_BYTE_DATA 0x20 | ||
39 | #define ALI15X3_WORD_DATA 0x30 | ||
40 | #define ALI15X3_BLOCK_DATA 0x40 | ||
41 | #define ALI15X3_BLOCK_CLR 0x80 | ||
42 | |||
43 | /* ALI15X3 status register bits */ | ||
44 | #define ALI15X3_STS_IDLE 0x04 | ||
45 | #define ALI15X3_STS_BUSY 0x08 | ||
46 | #define ALI15X3_STS_DONE 0x10 | ||
47 | #define ALI15X3_STS_DEV 0x20 /* device error */ | ||
48 | #define ALI15X3_STS_COLL 0x40 /* collision or no response */ | ||
49 | #define ALI15X3_STS_TERM 0x80 /* terminated by abort */ | ||
50 | #define ALI15X3_STS_ERR 0xE0 /* all the bad error bits */ | ||
51 | |||
52 | static void __init pci_write_config(unsigned long busNo, | ||
53 | unsigned long devNo, | ||
54 | unsigned long fncNo, | ||
55 | unsigned long cnfAdd, | ||
56 | unsigned long cnfData) | ||
57 | { | ||
58 | ctrl_outl((0x80000000 | ||
59 | + ((busNo & 0xff) << 16) | ||
60 | + ((devNo & 0x1f) << 11) | ||
61 | + ((fncNo & 0x07) << 8) | ||
62 | + (cnfAdd & 0xfc)), PCIPAR); | ||
63 | |||
64 | ctrl_outl(cnfData, PCIPDR); | ||
65 | } | ||
66 | |||
67 | /* | ||
68 | Initialize IRQ setting | ||
69 | */ | ||
70 | |||
71 | static unsigned char m_irq_mask = 0xfb; | ||
72 | static unsigned char s_irq_mask = 0xff; | ||
73 | |||
74 | static void disable_mpc1211_irq(unsigned int irq) | ||
75 | { | ||
76 | if( irq < 8) { | ||
77 | m_irq_mask |= (1 << irq); | ||
78 | outb(m_irq_mask,I8259_M_MR); | ||
79 | } else { | ||
80 | s_irq_mask |= (1 << (irq - 8)); | ||
81 | outb(s_irq_mask,I8259_S_MR); | ||
82 | } | ||
83 | |||
84 | } | ||
85 | |||
86 | static void enable_mpc1211_irq(unsigned int irq) | ||
87 | { | ||
88 | if( irq < 8) { | ||
89 | m_irq_mask &= ~(1 << irq); | ||
90 | outb(m_irq_mask,I8259_M_MR); | ||
91 | } else { | ||
92 | s_irq_mask &= ~(1 << (irq - 8)); | ||
93 | outb(s_irq_mask,I8259_S_MR); | ||
94 | } | ||
95 | } | ||
96 | |||
97 | static inline int mpc1211_irq_real(unsigned int irq) | ||
98 | { | ||
99 | int value; | ||
100 | int irqmask; | ||
101 | |||
102 | if ( irq < 8) { | ||
103 | irqmask = 1<<irq; | ||
104 | outb(0x0b,I8259_M_CR); /* ISR register */ | ||
105 | value = inb(I8259_M_CR) & irqmask; | ||
106 | outb(0x0a,I8259_M_CR); /* back ro the IPR reg */ | ||
107 | return value; | ||
108 | } | ||
109 | irqmask = 1<<(irq - 8); | ||
110 | outb(0x0b,I8259_S_CR); /* ISR register */ | ||
111 | value = inb(I8259_S_CR) & irqmask; | ||
112 | outb(0x0a,I8259_S_CR); /* back ro the IPR reg */ | ||
113 | return value; | ||
114 | } | ||
115 | |||
116 | static void mask_and_ack_mpc1211(unsigned int irq) | ||
117 | { | ||
118 | if(irq < 8) { | ||
119 | if(m_irq_mask & (1<<irq)){ | ||
120 | if(!mpc1211_irq_real(irq)){ | ||
121 | atomic_inc(&irq_err_count) | ||
122 | printk("spurious 8259A interrupt: IRQ %x\n",irq); | ||
123 | } | ||
124 | } else { | ||
125 | m_irq_mask |= (1<<irq); | ||
126 | } | ||
127 | inb(I8259_M_MR); /* DUMMY */ | ||
128 | outb(m_irq_mask,I8259_M_MR); /* disable */ | ||
129 | outb(0x60+irq,I8259_M_CR); /* EOI */ | ||
130 | |||
131 | } else { | ||
132 | if(s_irq_mask & (1<<(irq - 8))){ | ||
133 | if(!mpc1211_irq_real(irq)){ | ||
134 | atomic_inc(&irq_err_count); | ||
135 | printk("spurious 8259A interrupt: IRQ %x\n",irq); | ||
136 | } | ||
137 | } else { | ||
138 | s_irq_mask |= (1<<(irq - 8)); | ||
139 | } | ||
140 | inb(I8259_S_MR); /* DUMMY */ | ||
141 | outb(s_irq_mask,I8259_S_MR); /* disable */ | ||
142 | outb(0x60+(irq-8),I8259_S_CR); /* EOI */ | ||
143 | outb(0x60+2,I8259_M_CR); | ||
144 | } | ||
145 | } | ||
146 | |||
147 | static void end_mpc1211_irq(unsigned int irq) | ||
148 | { | ||
149 | enable_mpc1211_irq(irq); | ||
150 | } | ||
151 | |||
152 | static unsigned int startup_mpc1211_irq(unsigned int irq) | ||
153 | { | ||
154 | enable_mpc1211_irq(irq); | ||
155 | return 0; | ||
156 | } | ||
157 | |||
158 | static void shutdown_mpc1211_irq(unsigned int irq) | ||
159 | { | ||
160 | disable_mpc1211_irq(irq); | ||
161 | } | ||
162 | |||
163 | static struct hw_interrupt_type mpc1211_irq_type = { | ||
164 | .typename = "MPC1211-IRQ", | ||
165 | .startup = startup_mpc1211_irq, | ||
166 | .shutdown = shutdown_mpc1211_irq, | ||
167 | .enable = enable_mpc1211_irq, | ||
168 | .disable = disable_mpc1211_irq, | ||
169 | .ack = mask_and_ack_mpc1211, | ||
170 | .end = end_mpc1211_irq | ||
171 | }; | ||
172 | |||
173 | static void make_mpc1211_irq(unsigned int irq) | ||
174 | { | ||
175 | irq_desc[irq].chip = &mpc1211_irq_type; | ||
176 | irq_desc[irq].status = IRQ_DISABLED; | ||
177 | irq_desc[irq].action = 0; | ||
178 | irq_desc[irq].depth = 1; | ||
179 | disable_mpc1211_irq(irq); | ||
180 | } | ||
181 | |||
182 | int mpc1211_irq_demux(int irq) | ||
183 | { | ||
184 | unsigned int poll; | ||
185 | |||
186 | if( irq == 2 ) { | ||
187 | outb(0x0c,I8259_M_CR); | ||
188 | poll = inb(I8259_M_CR); | ||
189 | if(poll & 0x80) { | ||
190 | irq = (poll & 0x07); | ||
191 | } | ||
192 | if( irq == 2) { | ||
193 | outb(0x0c,I8259_S_CR); | ||
194 | poll = inb(I8259_S_CR); | ||
195 | irq = (poll & 0x07) + 8; | ||
196 | } | ||
197 | } | ||
198 | return irq; | ||
199 | } | ||
200 | |||
201 | static void __init init_mpc1211_IRQ(void) | ||
202 | { | ||
203 | int i; | ||
204 | /* | ||
205 | * Super I/O (Just mimic PC): | ||
206 | * 1: keyboard | ||
207 | * 3: serial 1 | ||
208 | * 4: serial 0 | ||
209 | * 5: printer | ||
210 | * 6: floppy | ||
211 | * 8: rtc | ||
212 | * 10: lan | ||
213 | * 12: mouse | ||
214 | * 14: ide0 | ||
215 | * 15: ide1 | ||
216 | */ | ||
217 | |||
218 | pci_write_config(0,0,0,0x54, 0xb0b0002d); | ||
219 | outb(0x11, I8259_M_CR); /* mater icw1 edge trigger */ | ||
220 | outb(0x11, I8259_S_CR); /* slave icw1 edge trigger */ | ||
221 | outb(0x20, I8259_M_MR); /* m icw2 base vec 0x08 */ | ||
222 | outb(0x28, I8259_S_MR); /* s icw2 base vec 0x70 */ | ||
223 | outb(0x04, I8259_M_MR); /* m icw3 slave irq2 */ | ||
224 | outb(0x02, I8259_S_MR); /* s icw3 slave id */ | ||
225 | outb(0x01, I8259_M_MR); /* m icw4 non buf normal eoi*/ | ||
226 | outb(0x01, I8259_S_MR); /* s icw4 non buf normal eo1*/ | ||
227 | outb(0xfb, I8259_M_MR); /* disable irq0--irq7 */ | ||
228 | outb(0xff, I8259_S_MR); /* disable irq8--irq15 */ | ||
229 | |||
230 | for ( i=0; i < 16; i++) { | ||
231 | if(i != 2) { | ||
232 | make_mpc1211_irq(i); | ||
233 | } | ||
234 | } | ||
235 | } | ||
236 | |||
237 | static void delay1000(void) | ||
238 | { | ||
239 | int i; | ||
240 | |||
241 | for (i=0; i<1000; i++) | ||
242 | ctrl_delay(); | ||
243 | } | ||
244 | |||
245 | static int put_smb_blk(unsigned char *p, int address, int command, int no) | ||
246 | { | ||
247 | int temp; | ||
248 | int timeout; | ||
249 | int i; | ||
250 | |||
251 | outb(0xff, SMBHSTSTS); | ||
252 | temp = inb(SMBHSTSTS); | ||
253 | for (timeout = 0; (timeout < MAX_TIMEOUT) && !(temp & ALI15X3_STS_IDLE); timeout++) { | ||
254 | delay1000(); | ||
255 | temp = inb(SMBHSTSTS); | ||
256 | } | ||
257 | if (timeout >= MAX_TIMEOUT){ | ||
258 | return -1; | ||
259 | } | ||
260 | |||
261 | outb(((address & 0x7f) << 1), SMBHSTADD); | ||
262 | outb(0xc0, SMBHSTCNT); | ||
263 | outb(command & 0xff, SMBHSTCMD); | ||
264 | outb(no & 0x1f, SMBHSTDAT0); | ||
265 | |||
266 | for(i = 1; i <= no; i++) { | ||
267 | outb(*p++, SMBBLKDAT); | ||
268 | } | ||
269 | outb(0xff, SMBHSTSTART); | ||
270 | |||
271 | temp = inb(SMBHSTSTS); | ||
272 | for (timeout = 0; (timeout < MAX_TIMEOUT) && !(temp & (ALI15X3_STS_ERR | ALI15X3_STS_DONE)); timeout++) { | ||
273 | delay1000(); | ||
274 | temp = inb(SMBHSTSTS); | ||
275 | } | ||
276 | if (timeout >= MAX_TIMEOUT) { | ||
277 | return -2; | ||
278 | } | ||
279 | if ( temp & ALI15X3_STS_ERR ){ | ||
280 | return -3; | ||
281 | } | ||
282 | return 0; | ||
283 | } | ||
284 | |||
285 | static struct resource heartbeat_resources[] = { | ||
286 | [0] = { | ||
287 | .start = 0xa2000000, | ||
288 | .end = 0xa2000000, | ||
289 | .flags = IORESOURCE_MEM, | ||
290 | }, | ||
291 | }; | ||
292 | |||
293 | static struct platform_device heartbeat_device = { | ||
294 | .name = "heartbeat", | ||
295 | .id = -1, | ||
296 | .num_resources = ARRAY_SIZE(heartbeat_resources), | ||
297 | .resource = heartbeat_resources, | ||
298 | }; | ||
299 | |||
300 | static struct platform_device *mpc1211_devices[] __initdata = { | ||
301 | &heartbeat_device, | ||
302 | }; | ||
303 | |||
304 | static int __init mpc1211_devices_setup(void) | ||
305 | { | ||
306 | return platform_add_devices(mpc1211_devices, | ||
307 | ARRAY_SIZE(mpc1211_devices)); | ||
308 | } | ||
309 | __initcall(mpc1211_devices_setup); | ||
310 | |||
311 | /* arch/sh/boards/mpc1211/rtc.c */ | ||
312 | void mpc1211_time_init(void); | ||
313 | |||
314 | static void __init mpc1211_setup(char **cmdline_p) | ||
315 | { | ||
316 | unsigned char spd_buf[128]; | ||
317 | |||
318 | __set_io_port_base(PA_PCI_IO); | ||
319 | |||
320 | pci_write_config(0,0,0,0x54, 0xb0b00000); | ||
321 | |||
322 | do { | ||
323 | outb(ALI15X3_ABORT, SMBHSTCNT); | ||
324 | spd_buf[0] = 0x0c; | ||
325 | spd_buf[1] = 0x43; | ||
326 | spd_buf[2] = 0x7f; | ||
327 | spd_buf[3] = 0x03; | ||
328 | spd_buf[4] = 0x00; | ||
329 | spd_buf[5] = 0x03; | ||
330 | spd_buf[6] = 0x00; | ||
331 | } while (put_smb_blk(spd_buf, 0x69, 0, 7) < 0); | ||
332 | |||
333 | board_time_init = mpc1211_time_init; | ||
334 | |||
335 | return 0; | ||
336 | } | ||
337 | |||
338 | /* | ||
339 | * The Machine Vector | ||
340 | */ | ||
341 | static struct sh_machine_vector mv_mpc1211 __initmv = { | ||
342 | .mv_name = "Interface MPC-1211(CTP/PCI/MPC-SH02)", | ||
343 | .mv_setup = mpc1211_setup, | ||
344 | .mv_nr_irqs = 48, | ||
345 | .mv_irq_demux = mpc1211_irq_demux, | ||
346 | .mv_init_irq = init_mpc1211_IRQ, | ||
347 | }; | ||
diff --git a/arch/sh/boards/renesas/migor/setup.c b/arch/sh/boards/renesas/migor/setup.c index 21ab8c8fb590..01af44245b57 100644 --- a/arch/sh/boards/renesas/migor/setup.c +++ b/arch/sh/boards/renesas/migor/setup.c | |||
@@ -10,8 +10,15 @@ | |||
10 | #include <linux/init.h> | 10 | #include <linux/init.h> |
11 | #include <linux/platform_device.h> | 11 | #include <linux/platform_device.h> |
12 | #include <linux/interrupt.h> | 12 | #include <linux/interrupt.h> |
13 | #include <linux/input.h> | ||
14 | #include <linux/mtd/physmap.h> | ||
15 | #include <linux/mtd/nand.h> | ||
16 | #include <linux/i2c.h> | ||
17 | #include <linux/smc91x.h> | ||
13 | #include <asm/machvec.h> | 18 | #include <asm/machvec.h> |
14 | #include <asm/io.h> | 19 | #include <asm/io.h> |
20 | #include <asm/sh_keysc.h> | ||
21 | #include <asm/migor.h> | ||
15 | 22 | ||
16 | /* Address IRQ Size Bus Description | 23 | /* Address IRQ Size Bus Description |
17 | * 0x00000000 64MB 16 NOR Flash (SP29PL256N) | 24 | * 0x00000000 64MB 16 NOR Flash (SP29PL256N) |
@@ -21,16 +28,21 @@ | |||
21 | * 0x18000000 8GB 8 NAND Flash (K9K8G08U0A) | 28 | * 0x18000000 8GB 8 NAND Flash (K9K8G08U0A) |
22 | */ | 29 | */ |
23 | 30 | ||
31 | static struct smc91x_platdata smc91x_info = { | ||
32 | .flags = SMC91X_USE_16BIT, | ||
33 | .irq_flags = IRQF_TRIGGER_HIGH, | ||
34 | }; | ||
35 | |||
24 | static struct resource smc91x_eth_resources[] = { | 36 | static struct resource smc91x_eth_resources[] = { |
25 | [0] = { | 37 | [0] = { |
26 | .name = "smc91x-regs" , | 38 | .name = "SMC91C111" , |
27 | .start = P2SEGADDR(0x10000300), | 39 | .start = 0x10000300, |
28 | .end = P2SEGADDR(0x1000030f), | 40 | .end = 0x1000030f, |
29 | .flags = IORESOURCE_MEM, | 41 | .flags = IORESOURCE_MEM, |
30 | }, | 42 | }, |
31 | [1] = { | 43 | [1] = { |
32 | .start = 32, /* IRQ0 */ | 44 | .start = 32, /* IRQ0 */ |
33 | .flags = IORESOURCE_IRQ | IRQF_TRIGGER_HIGH, | 45 | .flags = IORESOURCE_IRQ, |
34 | }, | 46 | }, |
35 | }; | 47 | }; |
36 | 48 | ||
@@ -38,21 +50,206 @@ static struct platform_device smc91x_eth_device = { | |||
38 | .name = "smc91x", | 50 | .name = "smc91x", |
39 | .num_resources = ARRAY_SIZE(smc91x_eth_resources), | 51 | .num_resources = ARRAY_SIZE(smc91x_eth_resources), |
40 | .resource = smc91x_eth_resources, | 52 | .resource = smc91x_eth_resources, |
53 | .dev = { | ||
54 | .platform_data = &smc91x_info, | ||
55 | }, | ||
56 | }; | ||
57 | |||
58 | static struct sh_keysc_info sh_keysc_info = { | ||
59 | .mode = SH_KEYSC_MODE_2, /* KEYOUT0->4, KEYIN1->5 */ | ||
60 | .scan_timing = 3, | ||
61 | .delay = 5, | ||
62 | .keycodes = { | ||
63 | 0, KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT, KEY_ENTER, | ||
64 | 0, KEY_F, KEY_C, KEY_D, KEY_H, KEY_1, | ||
65 | 0, KEY_2, KEY_3, KEY_4, KEY_5, KEY_6, | ||
66 | 0, KEY_7, KEY_8, KEY_9, KEY_S, KEY_0, | ||
67 | 0, KEY_P, KEY_STOP, KEY_REWIND, KEY_PLAY, KEY_FASTFORWARD, | ||
68 | }, | ||
69 | }; | ||
70 | |||
71 | static struct resource sh_keysc_resources[] = { | ||
72 | [0] = { | ||
73 | .start = 0x044b0000, | ||
74 | .end = 0x044b000f, | ||
75 | .flags = IORESOURCE_MEM, | ||
76 | }, | ||
77 | [1] = { | ||
78 | .start = 79, | ||
79 | .flags = IORESOURCE_IRQ, | ||
80 | }, | ||
81 | }; | ||
82 | |||
83 | static struct platform_device sh_keysc_device = { | ||
84 | .name = "sh_keysc", | ||
85 | .num_resources = ARRAY_SIZE(sh_keysc_resources), | ||
86 | .resource = sh_keysc_resources, | ||
87 | .dev = { | ||
88 | .platform_data = &sh_keysc_info, | ||
89 | }, | ||
90 | }; | ||
91 | |||
92 | static struct mtd_partition migor_nor_flash_partitions[] = | ||
93 | { | ||
94 | { | ||
95 | .name = "uboot", | ||
96 | .offset = 0, | ||
97 | .size = (1 * 1024 * 1024), | ||
98 | .mask_flags = MTD_WRITEABLE, /* Read-only */ | ||
99 | }, | ||
100 | { | ||
101 | .name = "rootfs", | ||
102 | .offset = MTDPART_OFS_APPEND, | ||
103 | .size = (15 * 1024 * 1024), | ||
104 | }, | ||
105 | { | ||
106 | .name = "other", | ||
107 | .offset = MTDPART_OFS_APPEND, | ||
108 | .size = MTDPART_SIZ_FULL, | ||
109 | }, | ||
110 | }; | ||
111 | |||
112 | static struct physmap_flash_data migor_nor_flash_data = { | ||
113 | .width = 2, | ||
114 | .parts = migor_nor_flash_partitions, | ||
115 | .nr_parts = ARRAY_SIZE(migor_nor_flash_partitions), | ||
116 | }; | ||
117 | |||
118 | static struct resource migor_nor_flash_resources[] = { | ||
119 | [0] = { | ||
120 | .name = "NOR Flash", | ||
121 | .start = 0x00000000, | ||
122 | .end = 0x03ffffff, | ||
123 | .flags = IORESOURCE_MEM, | ||
124 | } | ||
125 | }; | ||
126 | |||
127 | static struct platform_device migor_nor_flash_device = { | ||
128 | .name = "physmap-flash", | ||
129 | .resource = migor_nor_flash_resources, | ||
130 | .num_resources = ARRAY_SIZE(migor_nor_flash_resources), | ||
131 | .dev = { | ||
132 | .platform_data = &migor_nor_flash_data, | ||
133 | }, | ||
134 | }; | ||
135 | |||
136 | static struct mtd_partition migor_nand_flash_partitions[] = { | ||
137 | { | ||
138 | .name = "nanddata1", | ||
139 | .offset = 0x0, | ||
140 | .size = 512 * 1024 * 1024, | ||
141 | }, | ||
142 | { | ||
143 | .name = "nanddata2", | ||
144 | .offset = MTDPART_OFS_APPEND, | ||
145 | .size = 512 * 1024 * 1024, | ||
146 | }, | ||
147 | }; | ||
148 | |||
149 | static void migor_nand_flash_cmd_ctl(struct mtd_info *mtd, int cmd, | ||
150 | unsigned int ctrl) | ||
151 | { | ||
152 | struct nand_chip *chip = mtd->priv; | ||
153 | |||
154 | if (cmd == NAND_CMD_NONE) | ||
155 | return; | ||
156 | |||
157 | if (ctrl & NAND_CLE) | ||
158 | writeb(cmd, chip->IO_ADDR_W + 0x00400000); | ||
159 | else if (ctrl & NAND_ALE) | ||
160 | writeb(cmd, chip->IO_ADDR_W + 0x00800000); | ||
161 | else | ||
162 | writeb(cmd, chip->IO_ADDR_W); | ||
163 | } | ||
164 | |||
165 | static int migor_nand_flash_ready(struct mtd_info *mtd) | ||
166 | { | ||
167 | return ctrl_inb(PORT_PADR) & 0x02; /* PTA1 */ | ||
168 | } | ||
169 | |||
170 | struct platform_nand_data migor_nand_flash_data = { | ||
171 | .chip = { | ||
172 | .nr_chips = 1, | ||
173 | .partitions = migor_nand_flash_partitions, | ||
174 | .nr_partitions = ARRAY_SIZE(migor_nand_flash_partitions), | ||
175 | .chip_delay = 20, | ||
176 | .part_probe_types = (const char *[]) { "cmdlinepart", NULL }, | ||
177 | }, | ||
178 | .ctrl = { | ||
179 | .dev_ready = migor_nand_flash_ready, | ||
180 | .cmd_ctrl = migor_nand_flash_cmd_ctl, | ||
181 | }, | ||
182 | }; | ||
183 | |||
184 | static struct resource migor_nand_flash_resources[] = { | ||
185 | [0] = { | ||
186 | .name = "NAND Flash", | ||
187 | .start = 0x18000000, | ||
188 | .end = 0x18ffffff, | ||
189 | .flags = IORESOURCE_MEM, | ||
190 | }, | ||
191 | }; | ||
192 | |||
193 | static struct platform_device migor_nand_flash_device = { | ||
194 | .name = "gen_nand", | ||
195 | .resource = migor_nand_flash_resources, | ||
196 | .num_resources = ARRAY_SIZE(migor_nand_flash_resources), | ||
197 | .dev = { | ||
198 | .platform_data = &migor_nand_flash_data, | ||
199 | } | ||
41 | }; | 200 | }; |
42 | 201 | ||
43 | static struct platform_device *migor_devices[] __initdata = { | 202 | static struct platform_device *migor_devices[] __initdata = { |
44 | &smc91x_eth_device, | 203 | &smc91x_eth_device, |
204 | &sh_keysc_device, | ||
205 | &migor_nor_flash_device, | ||
206 | &migor_nand_flash_device, | ||
207 | }; | ||
208 | |||
209 | static struct i2c_board_info __initdata migor_i2c_devices[] = { | ||
210 | { | ||
211 | I2C_BOARD_INFO("rs5c372b", 0x32), | ||
212 | }, | ||
213 | { | ||
214 | I2C_BOARD_INFO("migor_ts", 0x51), | ||
215 | .irq = 38, /* IRQ6 */ | ||
216 | }, | ||
45 | }; | 217 | }; |
46 | 218 | ||
47 | static int __init migor_devices_setup(void) | 219 | static int __init migor_devices_setup(void) |
48 | { | 220 | { |
221 | i2c_register_board_info(0, migor_i2c_devices, | ||
222 | ARRAY_SIZE(migor_i2c_devices)); | ||
223 | |||
49 | return platform_add_devices(migor_devices, ARRAY_SIZE(migor_devices)); | 224 | return platform_add_devices(migor_devices, ARRAY_SIZE(migor_devices)); |
50 | } | 225 | } |
51 | __initcall(migor_devices_setup); | 226 | __initcall(migor_devices_setup); |
52 | 227 | ||
53 | static void __init migor_setup(char **cmdline_p) | 228 | static void __init migor_setup(char **cmdline_p) |
54 | { | 229 | { |
55 | ctrl_outw(0x1000, 0xa4050110); /* Enable IRQ0 in PJCR */ | 230 | /* SMC91C111 - Enable IRQ0 */ |
231 | ctrl_outw(ctrl_inw(PORT_PJCR) & ~0x0003, PORT_PJCR); | ||
232 | |||
233 | /* KEYSC */ | ||
234 | ctrl_outw(ctrl_inw(PORT_PYCR) & ~0x0fff, PORT_PYCR); | ||
235 | ctrl_outw(ctrl_inw(PORT_PZCR) & ~0x0ff0, PORT_PZCR); | ||
236 | ctrl_outw(ctrl_inw(PORT_PSELA) & ~0x4100, PORT_PSELA); | ||
237 | ctrl_outw(ctrl_inw(PORT_HIZCRA) & ~0x4000, PORT_HIZCRA); | ||
238 | ctrl_outw(ctrl_inw(PORT_HIZCRC) & ~0xc000, PORT_HIZCRC); | ||
239 | ctrl_outl(ctrl_inl(MSTPCR2) & ~0x00004000, MSTPCR2); | ||
240 | |||
241 | /* NAND Flash */ | ||
242 | ctrl_outw(ctrl_inw(PORT_PXCR) & 0x0fff, PORT_PXCR); | ||
243 | ctrl_outl((ctrl_inl(BSC_CS6ABCR) & ~0x00000600) | 0x00000200, | ||
244 | BSC_CS6ABCR); | ||
245 | |||
246 | /* I2C */ | ||
247 | ctrl_outl(ctrl_inl(MSTPCR1) & ~0x00000200, MSTPCR1); | ||
248 | |||
249 | /* Touch Panel - Enable IRQ6 */ | ||
250 | ctrl_outw(ctrl_inw(PORT_PZCR) & ~0xc, PORT_PZCR); | ||
251 | ctrl_outw((ctrl_inw(PORT_PSELA) | 0x8000), PORT_PSELA); | ||
252 | ctrl_outw((ctrl_inw(PORT_HIZCRC) & ~0x4000), PORT_HIZCRC); | ||
56 | } | 253 | } |
57 | 254 | ||
58 | static struct sh_machine_vector mv_migor __initmv = { | 255 | static struct sh_machine_vector mv_migor __initmv = { |
diff --git a/arch/sh/boards/renesas/r7780rp/irq-r7780mp.c b/arch/sh/boards/renesas/r7780rp/irq-r7780mp.c index 1f8f073f27be..ae1cfcb29700 100644 --- a/arch/sh/boards/renesas/r7780rp/irq-r7780mp.c +++ b/arch/sh/boards/renesas/r7780rp/irq-r7780mp.c | |||
@@ -18,38 +18,51 @@ enum { | |||
18 | UNUSED = 0, | 18 | UNUSED = 0, |
19 | 19 | ||
20 | /* board specific interrupt sources */ | 20 | /* board specific interrupt sources */ |
21 | AX88796, /* Ethernet controller */ | 21 | CF, /* Compact Flash */ |
22 | CF, /* Compact Flash */ | 22 | TP, /* Touch panel */ |
23 | PSW, /* Push Switch */ | 23 | SCIF1, /* FPGA SCIF1 */ |
24 | EXT1, /* EXT1n IRQ */ | 24 | SCIF0, /* FPGA SCIF0 */ |
25 | EXT4, /* EXT4n IRQ */ | 25 | SMBUS, /* SMBUS */ |
26 | RTC, /* RTC Alarm */ | ||
27 | AX88796, /* Ethernet controller */ | ||
28 | PSW, /* Push Switch */ | ||
29 | |||
30 | /* external bus connector */ | ||
31 | EXT1, EXT2, EXT4, EXT5, EXT6, | ||
26 | }; | 32 | }; |
27 | 33 | ||
28 | static struct intc_vect vectors[] __initdata = { | 34 | static struct intc_vect vectors[] __initdata = { |
29 | INTC_IRQ(CF, IRQ_CF), | 35 | INTC_IRQ(CF, IRQ_CF), |
30 | INTC_IRQ(PSW, IRQ_PSW), | 36 | INTC_IRQ(TP, IRQ_TP), |
37 | INTC_IRQ(SCIF1, IRQ_SCIF1), | ||
38 | INTC_IRQ(SCIF0, IRQ_SCIF0), | ||
39 | INTC_IRQ(SMBUS, IRQ_SMBUS), | ||
40 | INTC_IRQ(RTC, IRQ_RTC), | ||
31 | INTC_IRQ(AX88796, IRQ_AX88796), | 41 | INTC_IRQ(AX88796, IRQ_AX88796), |
32 | INTC_IRQ(EXT1, IRQ_EXT1), | 42 | INTC_IRQ(PSW, IRQ_PSW), |
33 | INTC_IRQ(EXT4, IRQ_EXT4), | 43 | |
44 | INTC_IRQ(EXT1, IRQ_EXT1), INTC_IRQ(EXT2, IRQ_EXT2), | ||
45 | INTC_IRQ(EXT4, IRQ_EXT4), INTC_IRQ(EXT5, IRQ_EXT5), | ||
46 | INTC_IRQ(EXT6, IRQ_EXT6), | ||
34 | }; | 47 | }; |
35 | 48 | ||
36 | static struct intc_mask_reg mask_registers[] __initdata = { | 49 | static struct intc_mask_reg mask_registers[] __initdata = { |
37 | { 0xa4000000, 0, 16, /* IRLMSK */ | 50 | { 0xa4000000, 0, 16, /* IRLMSK */ |
38 | { 0, 0, 0, 0, CF, 0, 0, 0, | 51 | { SCIF0, SCIF1, RTC, 0, CF, 0, TP, SMBUS, |
39 | 0, 0, 0, EXT4, 0, EXT1, PSW, AX88796 } }, | 52 | 0, EXT6, EXT5, EXT4, EXT2, EXT1, PSW, AX88796 } }, |
40 | }; | 53 | }; |
41 | 54 | ||
42 | static unsigned char irl2irq[HL_NR_IRL] __initdata = { | 55 | static unsigned char irl2irq[HL_NR_IRL] __initdata = { |
43 | 0, IRQ_CF, 0, 0, | 56 | 0, IRQ_CF, IRQ_TP, IRQ_SCIF1, |
44 | 0, 0, 0, 0, | 57 | IRQ_SCIF0, IRQ_SMBUS, IRQ_RTC, IRQ_EXT6, |
45 | 0, IRQ_EXT4, 0, IRQ_EXT1, | 58 | IRQ_EXT5, IRQ_EXT4, IRQ_EXT2, IRQ_EXT1, |
46 | 0, IRQ_AX88796, IRQ_PSW, | 59 | 0, IRQ_AX88796, IRQ_PSW, |
47 | }; | 60 | }; |
48 | 61 | ||
49 | static DECLARE_INTC_DESC(intc_desc, "r7780mp", vectors, | 62 | static DECLARE_INTC_DESC(intc_desc, "r7780mp", vectors, |
50 | NULL, mask_registers, NULL, NULL); | 63 | NULL, mask_registers, NULL, NULL); |
51 | 64 | ||
52 | unsigned char * __init highlander_init_irq_r7780mp(void) | 65 | unsigned char * __init highlander_plat_irq_setup(void) |
53 | { | 66 | { |
54 | if ((ctrl_inw(0xa4000700) & 0xf000) == 0x2000) { | 67 | if ((ctrl_inw(0xa4000700) & 0xf000) == 0x2000) { |
55 | printk(KERN_INFO "Using r7780mp interrupt controller.\n"); | 68 | printk(KERN_INFO "Using r7780mp interrupt controller.\n"); |
diff --git a/arch/sh/boards/renesas/r7780rp/irq-r7780rp.c b/arch/sh/boards/renesas/r7780rp/irq-r7780rp.c index bd34048ed0e1..9d3921fe27c0 100644 --- a/arch/sh/boards/renesas/r7780rp/irq-r7780rp.c +++ b/arch/sh/boards/renesas/r7780rp/irq-r7780rp.c | |||
@@ -55,7 +55,7 @@ static unsigned char irl2irq[HL_NR_IRL] __initdata = { | |||
55 | static DECLARE_INTC_DESC(intc_desc, "r7780rp", vectors, | 55 | static DECLARE_INTC_DESC(intc_desc, "r7780rp", vectors, |
56 | NULL, mask_registers, NULL, NULL); | 56 | NULL, mask_registers, NULL, NULL); |
57 | 57 | ||
58 | unsigned char * __init highlander_init_irq_r7780rp(void) | 58 | unsigned char * __init highlander_plat_irq_setup(void) |
59 | { | 59 | { |
60 | if (ctrl_inw(0xa5000600)) { | 60 | if (ctrl_inw(0xa5000600)) { |
61 | printk(KERN_INFO "Using r7780rp interrupt controller.\n"); | 61 | printk(KERN_INFO "Using r7780rp interrupt controller.\n"); |
diff --git a/arch/sh/boards/renesas/r7780rp/irq-r7785rp.c b/arch/sh/boards/renesas/r7780rp/irq-r7785rp.c index bf7ec107fbc6..896c045aa39d 100644 --- a/arch/sh/boards/renesas/r7780rp/irq-r7785rp.c +++ b/arch/sh/boards/renesas/r7780rp/irq-r7785rp.c | |||
@@ -64,7 +64,7 @@ static unsigned char irl2irq[HL_NR_IRL] __initdata = { | |||
64 | static DECLARE_INTC_DESC(intc_desc, "r7785rp", vectors, | 64 | static DECLARE_INTC_DESC(intc_desc, "r7785rp", vectors, |
65 | NULL, mask_registers, NULL, NULL); | 65 | NULL, mask_registers, NULL, NULL); |
66 | 66 | ||
67 | unsigned char * __init highlander_init_irq_r7785rp(void) | 67 | unsigned char * __init highlander_plat_irq_setup(void) |
68 | { | 68 | { |
69 | if ((ctrl_inw(0xa4000158) & 0xf000) != 0x1000) | 69 | if ((ctrl_inw(0xa4000158) & 0xf000) != 0x1000) |
70 | return NULL; | 70 | return NULL; |
diff --git a/arch/sh/boards/renesas/r7780rp/setup.c b/arch/sh/boards/renesas/r7780rp/setup.c index 2f68bea7890c..bc79afb6fc4c 100644 --- a/arch/sh/boards/renesas/r7780rp/setup.c +++ b/arch/sh/boards/renesas/r7780rp/setup.c | |||
@@ -4,7 +4,7 @@ | |||
4 | * Renesas Solutions Highlander Support. | 4 | * Renesas Solutions Highlander Support. |
5 | * | 5 | * |
6 | * Copyright (C) 2002 Atom Create Engineering Co., Ltd. | 6 | * Copyright (C) 2002 Atom Create Engineering Co., Ltd. |
7 | * Copyright (C) 2005 - 2007 Paul Mundt | 7 | * Copyright (C) 2005 - 2008 Paul Mundt |
8 | * | 8 | * |
9 | * This contains support for the R7780RP-1, R7780MP, and R7785RP | 9 | * This contains support for the R7780RP-1, R7780MP, and R7785RP |
10 | * Highlander modules. | 10 | * Highlander modules. |
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/platform_device.h> | 17 | #include <linux/platform_device.h> |
18 | #include <linux/ata_platform.h> | 18 | #include <linux/ata_platform.h> |
19 | #include <linux/types.h> | 19 | #include <linux/types.h> |
20 | #include <linux/i2c.h> | ||
20 | #include <net/ax88796.h> | 21 | #include <net/ax88796.h> |
21 | #include <asm/machvec.h> | 22 | #include <asm/machvec.h> |
22 | #include <asm/r7780rp.h> | 23 | #include <asm/r7780rp.h> |
@@ -176,11 +177,37 @@ static struct platform_device ax88796_device = { | |||
176 | .resource = ax88796_resources, | 177 | .resource = ax88796_resources, |
177 | }; | 178 | }; |
178 | 179 | ||
180 | static struct resource smbus_resources[] = { | ||
181 | [0] = { | ||
182 | .start = PA_SMCR, | ||
183 | .end = PA_SMCR + 0x100 - 1, | ||
184 | .flags = IORESOURCE_MEM, | ||
185 | }, | ||
186 | [1] = { | ||
187 | .start = IRQ_SMBUS, | ||
188 | .end = IRQ_SMBUS, | ||
189 | .flags = IORESOURCE_IRQ, | ||
190 | }, | ||
191 | }; | ||
192 | |||
193 | static struct platform_device smbus_device = { | ||
194 | .name = "i2c-highlander", | ||
195 | .id = 0, | ||
196 | .num_resources = ARRAY_SIZE(smbus_resources), | ||
197 | .resource = smbus_resources, | ||
198 | }; | ||
199 | |||
200 | static struct i2c_board_info __initdata highlander_i2c_devices[] = { | ||
201 | { | ||
202 | I2C_BOARD_INFO("r2025sd", 0x32), | ||
203 | }, | ||
204 | }; | ||
179 | 205 | ||
180 | static struct platform_device *r7780rp_devices[] __initdata = { | 206 | static struct platform_device *r7780rp_devices[] __initdata = { |
181 | &r8a66597_usb_host_device, | 207 | &r8a66597_usb_host_device, |
182 | &m66592_usb_peripheral_device, | 208 | &m66592_usb_peripheral_device, |
183 | &heartbeat_device, | 209 | &heartbeat_device, |
210 | &smbus_device, | ||
184 | #ifndef CONFIG_SH_R7780RP | 211 | #ifndef CONFIG_SH_R7780RP |
185 | &ax88796_device, | 212 | &ax88796_device, |
186 | #endif | 213 | #endif |
@@ -199,12 +226,20 @@ static struct trapped_io cf_trapped_io = { | |||
199 | 226 | ||
200 | static int __init r7780rp_devices_setup(void) | 227 | static int __init r7780rp_devices_setup(void) |
201 | { | 228 | { |
229 | int ret = 0; | ||
230 | |||
202 | #ifndef CONFIG_SH_R7780RP | 231 | #ifndef CONFIG_SH_R7780RP |
203 | if (register_trapped_io(&cf_trapped_io) == 0) | 232 | if (register_trapped_io(&cf_trapped_io) == 0) |
204 | platform_device_register(&cf_ide_device); | 233 | ret |= platform_device_register(&cf_ide_device); |
205 | #endif | 234 | #endif |
206 | return platform_add_devices(r7780rp_devices, | 235 | |
236 | ret |= platform_add_devices(r7780rp_devices, | ||
207 | ARRAY_SIZE(r7780rp_devices)); | 237 | ARRAY_SIZE(r7780rp_devices)); |
238 | |||
239 | ret |= i2c_register_board_info(0, highlander_i2c_devices, | ||
240 | ARRAY_SIZE(highlander_i2c_devices)); | ||
241 | |||
242 | return ret; | ||
208 | } | 243 | } |
209 | device_initcall(r7780rp_devices_setup); | 244 | device_initcall(r7780rp_devices_setup); |
210 | 245 | ||
@@ -281,7 +316,7 @@ static void __init highlander_setup(char **cmdline_p) | |||
281 | 316 | ||
282 | static unsigned char irl2irq[HL_NR_IRL]; | 317 | static unsigned char irl2irq[HL_NR_IRL]; |
283 | 318 | ||
284 | int highlander_irq_demux(int irq) | 319 | static int highlander_irq_demux(int irq) |
285 | { | 320 | { |
286 | if (irq >= HL_NR_IRL || !irl2irq[irq]) | 321 | if (irq >= HL_NR_IRL || !irl2irq[irq]) |
287 | return irq; | 322 | return irq; |
@@ -289,27 +324,9 @@ int highlander_irq_demux(int irq) | |||
289 | return irl2irq[irq]; | 324 | return irl2irq[irq]; |
290 | } | 325 | } |
291 | 326 | ||
292 | void __init highlander_init_irq(void) | 327 | static void __init highlander_init_irq(void) |
293 | { | 328 | { |
294 | unsigned char *ucp = NULL; | 329 | unsigned char *ucp = highlander_plat_irq_setup(); |
295 | |||
296 | do { | ||
297 | #ifdef CONFIG_SH_R7780MP | ||
298 | ucp = highlander_init_irq_r7780mp(); | ||
299 | if (ucp) | ||
300 | break; | ||
301 | #endif | ||
302 | #ifdef CONFIG_SH_R7785RP | ||
303 | ucp = highlander_init_irq_r7785rp(); | ||
304 | if (ucp) | ||
305 | break; | ||
306 | #endif | ||
307 | #ifdef CONFIG_SH_R7780RP | ||
308 | ucp = highlander_init_irq_r7780rp(); | ||
309 | if (ucp) | ||
310 | break; | ||
311 | #endif | ||
312 | } while (0); | ||
313 | 330 | ||
314 | if (ucp) { | 331 | if (ucp) { |
315 | plat_irq_setup_pins(IRQ_MODE_IRL3210); | 332 | plat_irq_setup_pins(IRQ_MODE_IRL3210); |
diff --git a/arch/sh/boards/renesas/rts7751r2d/setup.c b/arch/sh/boards/renesas/rts7751r2d/setup.c index f21ee49ef3a5..2308e8753bcd 100644 --- a/arch/sh/boards/renesas/rts7751r2d/setup.c +++ b/arch/sh/boards/renesas/rts7751r2d/setup.c | |||
@@ -11,7 +11,6 @@ | |||
11 | #include <linux/init.h> | 11 | #include <linux/init.h> |
12 | #include <linux/platform_device.h> | 12 | #include <linux/platform_device.h> |
13 | #include <linux/ata_platform.h> | 13 | #include <linux/ata_platform.h> |
14 | #include <linux/serial_8250.h> | ||
15 | #include <linux/sm501.h> | 14 | #include <linux/sm501.h> |
16 | #include <linux/sm501-regs.h> | 15 | #include <linux/sm501-regs.h> |
17 | #include <linux/pm.h> | 16 | #include <linux/pm.h> |
@@ -109,28 +108,6 @@ static struct platform_device heartbeat_device = { | |||
109 | .resource = heartbeat_resources, | 108 | .resource = heartbeat_resources, |
110 | }; | 109 | }; |
111 | 110 | ||
112 | #ifdef CONFIG_MFD_SM501 | ||
113 | static struct plat_serial8250_port uart_platform_data[] = { | ||
114 | { | ||
115 | .membase = (void __iomem *)0xb3e30000, | ||
116 | .mapbase = 0xb3e30000, | ||
117 | .iotype = UPIO_MEM, | ||
118 | .irq = IRQ_VOYAGER, | ||
119 | .flags = UPF_BOOT_AUTOCONF | UPF_SHARE_IRQ, | ||
120 | .regshift = 2, | ||
121 | .uartclk = (9600 * 16), | ||
122 | }, | ||
123 | { 0 }, | ||
124 | }; | ||
125 | |||
126 | static struct platform_device uart_device = { | ||
127 | .name = "serial8250", | ||
128 | .id = PLAT8250_DEV_PLATFORM, | ||
129 | .dev = { | ||
130 | .platform_data = uart_platform_data, | ||
131 | }, | ||
132 | }; | ||
133 | |||
134 | static struct resource sm501_resources[] = { | 111 | static struct resource sm501_resources[] = { |
135 | [0] = { | 112 | [0] = { |
136 | .start = 0x10000000, | 113 | .start = 0x10000000, |
@@ -186,11 +163,7 @@ static struct sm501_platdata_fb sm501_fb_pdata = { | |||
186 | }; | 163 | }; |
187 | 164 | ||
188 | static struct sm501_initdata sm501_initdata = { | 165 | static struct sm501_initdata sm501_initdata = { |
189 | .gpio_high = { | 166 | .devices = SM501_USE_USB_HOST | SM501_USE_UART0, |
190 | .set = 0x00001fe0, | ||
191 | .mask = 0x0, | ||
192 | }, | ||
193 | .devices = SM501_USE_USB_HOST, | ||
194 | }; | 167 | }; |
195 | 168 | ||
196 | static struct sm501_platdata sm501_platform_data = { | 169 | static struct sm501_platdata sm501_platform_data = { |
@@ -208,13 +181,8 @@ static struct platform_device sm501_device = { | |||
208 | .resource = sm501_resources, | 181 | .resource = sm501_resources, |
209 | }; | 182 | }; |
210 | 183 | ||
211 | #endif /* CONFIG_MFD_SM501 */ | ||
212 | |||
213 | static struct platform_device *rts7751r2d_devices[] __initdata = { | 184 | static struct platform_device *rts7751r2d_devices[] __initdata = { |
214 | #ifdef CONFIG_MFD_SM501 | ||
215 | &uart_device, | ||
216 | &sm501_device, | 185 | &sm501_device, |
217 | #endif | ||
218 | &heartbeat_device, | 186 | &heartbeat_device, |
219 | &spi_sh_sci_device, | 187 | &spi_sh_sci_device, |
220 | }; | 188 | }; |
@@ -234,7 +202,9 @@ static int __init rts7751r2d_devices_setup(void) | |||
234 | { | 202 | { |
235 | if (register_trapped_io(&cf_trapped_io) == 0) | 203 | if (register_trapped_io(&cf_trapped_io) == 0) |
236 | platform_device_register(&cf_ide_device); | 204 | platform_device_register(&cf_ide_device); |
205 | |||
237 | spi_register_board_info(spi_bus, ARRAY_SIZE(spi_bus)); | 206 | spi_register_board_info(spi_bus, ARRAY_SIZE(spi_bus)); |
207 | |||
238 | return platform_add_devices(rts7751r2d_devices, | 208 | return platform_add_devices(rts7751r2d_devices, |
239 | ARRAY_SIZE(rts7751r2d_devices)); | 209 | ARRAY_SIZE(rts7751r2d_devices)); |
240 | } | 210 | } |
@@ -275,16 +245,6 @@ static void __init rts7751r2d_setup(char **cmdline_p) | |||
275 | 245 | ||
276 | sm501_reg = (void __iomem *)0xb3e00000 + SM501_DRAM_CONTROL; | 246 | sm501_reg = (void __iomem *)0xb3e00000 + SM501_DRAM_CONTROL; |
277 | writel(readl(sm501_reg) | 0x00f107c0, sm501_reg); | 247 | writel(readl(sm501_reg) | 0x00f107c0, sm501_reg); |
278 | |||
279 | /* | ||
280 | * Power Mode Gate - Enable UART0 | ||
281 | */ | ||
282 | |||
283 | sm501_reg = (void __iomem *)0xb3e00000 + SM501_POWER_MODE_0_GATE; | ||
284 | writel(readl(sm501_reg) | (1 << SM501_GATE_UART0), sm501_reg); | ||
285 | |||
286 | sm501_reg = (void __iomem *)0xb3e00000 + SM501_POWER_MODE_1_GATE; | ||
287 | writel(readl(sm501_reg) | (1 << SM501_GATE_UART0), sm501_reg); | ||
288 | } | 248 | } |
289 | 249 | ||
290 | /* | 250 | /* |
diff --git a/arch/sh/boards/se/7206/setup.c b/arch/sh/boards/se/7206/setup.c index 5b3ee089d91d..4fe84cc08406 100644 --- a/arch/sh/boards/se/7206/setup.c +++ b/arch/sh/boards/se/7206/setup.c | |||
@@ -3,12 +3,13 @@ | |||
3 | * linux/arch/sh/boards/se/7206/setup.c | 3 | * linux/arch/sh/boards/se/7206/setup.c |
4 | * | 4 | * |
5 | * Copyright (C) 2006 Yoshinori Sato | 5 | * Copyright (C) 2006 Yoshinori Sato |
6 | * Copyright (C) 2007 Paul Mundt | 6 | * Copyright (C) 2007 - 2008 Paul Mundt |
7 | * | 7 | * |
8 | * Hitachi 7206 SolutionEngine Support. | 8 | * Hitachi 7206 SolutionEngine Support. |
9 | */ | 9 | */ |
10 | #include <linux/init.h> | 10 | #include <linux/init.h> |
11 | #include <linux/platform_device.h> | 11 | #include <linux/platform_device.h> |
12 | #include <linux/smc91x.h> | ||
12 | #include <asm/se7206.h> | 13 | #include <asm/se7206.h> |
13 | #include <asm/io.h> | 14 | #include <asm/io.h> |
14 | #include <asm/machvec.h> | 15 | #include <asm/machvec.h> |
@@ -16,8 +17,9 @@ | |||
16 | 17 | ||
17 | static struct resource smc91x_resources[] = { | 18 | static struct resource smc91x_resources[] = { |
18 | [0] = { | 19 | [0] = { |
19 | .start = 0x300, | 20 | .name = "smc91x-regs", |
20 | .end = 0x300 + 0x020 - 1, | 21 | .start = PA_SMSC + 0x300, |
22 | .end = PA_SMSC + 0x300 + 0x020 - 1, | ||
21 | .flags = IORESOURCE_MEM, | 23 | .flags = IORESOURCE_MEM, |
22 | }, | 24 | }, |
23 | [1] = { | 25 | [1] = { |
@@ -27,9 +29,18 @@ static struct resource smc91x_resources[] = { | |||
27 | }, | 29 | }, |
28 | }; | 30 | }; |
29 | 31 | ||
32 | static struct smc91x_platdata smc91x_info = { | ||
33 | .flags = SMC91X_USE_16BIT, | ||
34 | }; | ||
35 | |||
30 | static struct platform_device smc91x_device = { | 36 | static struct platform_device smc91x_device = { |
31 | .name = "smc91x", | 37 | .name = "smc91x", |
32 | .id = -1, | 38 | .id = -1, |
39 | .dev = { | ||
40 | .dma_mask = NULL, | ||
41 | .coherent_dma_mask = 0xffffffff, | ||
42 | .platform_data = &smc91x_info, | ||
43 | }, | ||
33 | .num_resources = ARRAY_SIZE(smc91x_resources), | 44 | .num_resources = ARRAY_SIZE(smc91x_resources), |
34 | .resource = smc91x_resources, | 45 | .resource = smc91x_resources, |
35 | }; | 46 | }; |
diff --git a/arch/sh/boards/se/7721/Makefile b/arch/sh/boards/se/7721/Makefile new file mode 100644 index 000000000000..7f09030980b3 --- /dev/null +++ b/arch/sh/boards/se/7721/Makefile | |||
@@ -0,0 +1 @@ | |||
obj-y := setup.o irq.o | |||
diff --git a/arch/sh/boards/se/7721/irq.c b/arch/sh/boards/se/7721/irq.c new file mode 100644 index 000000000000..c4fdd622bf8b --- /dev/null +++ b/arch/sh/boards/se/7721/irq.c | |||
@@ -0,0 +1,45 @@ | |||
1 | /* | ||
2 | * linux/arch/sh/boards/se/7721/irq.c | ||
3 | * | ||
4 | * Copyright (C) 2008 Renesas Solutions Corp. | ||
5 | * | ||
6 | * This file is subject to the terms and conditions of the GNU General Public | ||
7 | * License. See the file "COPYING" in the main directory of this archive | ||
8 | * for more details. | ||
9 | */ | ||
10 | #include <linux/init.h> | ||
11 | #include <linux/irq.h> | ||
12 | #include <linux/interrupt.h> | ||
13 | #include <linux/io.h> | ||
14 | #include <asm/se7721.h> | ||
15 | |||
16 | enum { | ||
17 | UNUSED = 0, | ||
18 | |||
19 | /* board specific interrupt sources */ | ||
20 | MRSHPC, | ||
21 | }; | ||
22 | |||
23 | static struct intc_vect vectors[] __initdata = { | ||
24 | INTC_IRQ(MRSHPC, MRSHPC_IRQ0), | ||
25 | }; | ||
26 | |||
27 | static struct intc_prio_reg prio_registers[] __initdata = { | ||
28 | { FPGA_ILSR6, 0, 8, 4, /* IRLMSK */ | ||
29 | { 0, MRSHPC } }, | ||
30 | }; | ||
31 | |||
32 | static DECLARE_INTC_DESC(intc_desc, "SE7721", vectors, | ||
33 | NULL, NULL, prio_registers, NULL); | ||
34 | |||
35 | /* | ||
36 | * Initialize IRQ setting | ||
37 | */ | ||
38 | void __init init_se7721_IRQ(void) | ||
39 | { | ||
40 | /* PPCR */ | ||
41 | ctrl_outw(ctrl_inw(0xa4050118) & ~0x00ff, 0xa4050118); | ||
42 | |||
43 | register_intc_controller(&intc_desc); | ||
44 | intc_set_priority(MRSHPC_IRQ0, 0xf - MRSHPC_IRQ0); | ||
45 | } | ||
diff --git a/arch/sh/boards/se/7721/setup.c b/arch/sh/boards/se/7721/setup.c new file mode 100644 index 000000000000..1be3e92752f7 --- /dev/null +++ b/arch/sh/boards/se/7721/setup.c | |||
@@ -0,0 +1,99 @@ | |||
1 | /* | ||
2 | * linux/arch/sh/boards/se/7721/setup.c | ||
3 | * | ||
4 | * Copyright (C) 2008 Renesas Solutions Corp. | ||
5 | * | ||
6 | * Hitachi UL SolutionEngine 7721 Support. | ||
7 | * | ||
8 | * This file is subject to the terms and conditions of the GNU General Public | ||
9 | * License. See the file "COPYING" in the main directory of this archive | ||
10 | * for more details. | ||
11 | * | ||
12 | */ | ||
13 | #include <linux/init.h> | ||
14 | #include <linux/platform_device.h> | ||
15 | #include <asm/machvec.h> | ||
16 | #include <asm/se7721.h> | ||
17 | #include <asm/io.h> | ||
18 | #include <asm/heartbeat.h> | ||
19 | |||
20 | static unsigned char heartbeat_bit_pos[] = { 8, 9, 10, 11, 12, 13, 14, 15 }; | ||
21 | |||
22 | static struct heartbeat_data heartbeat_data = { | ||
23 | .bit_pos = heartbeat_bit_pos, | ||
24 | .nr_bits = ARRAY_SIZE(heartbeat_bit_pos), | ||
25 | .regsize = 16, | ||
26 | }; | ||
27 | |||
28 | static struct resource heartbeat_resources[] = { | ||
29 | [0] = { | ||
30 | .start = PA_LED, | ||
31 | .end = PA_LED, | ||
32 | .flags = IORESOURCE_MEM, | ||
33 | }, | ||
34 | }; | ||
35 | |||
36 | static struct platform_device heartbeat_device = { | ||
37 | .name = "heartbeat", | ||
38 | .id = -1, | ||
39 | .dev = { | ||
40 | .platform_data = &heartbeat_data, | ||
41 | }, | ||
42 | .num_resources = ARRAY_SIZE(heartbeat_resources), | ||
43 | .resource = heartbeat_resources, | ||
44 | }; | ||
45 | |||
46 | static struct resource cf_ide_resources[] = { | ||
47 | [0] = { | ||
48 | .start = PA_MRSHPC_IO + 0x1f0, | ||
49 | .end = PA_MRSHPC_IO + 0x1f0 + 8 , | ||
50 | .flags = IORESOURCE_IO, | ||
51 | }, | ||
52 | [1] = { | ||
53 | .start = PA_MRSHPC_IO + 0x1f0 + 0x206, | ||
54 | .end = PA_MRSHPC_IO + 0x1f0 + 8 + 0x206 + 8, | ||
55 | .flags = IORESOURCE_IO, | ||
56 | }, | ||
57 | [2] = { | ||
58 | .start = MRSHPC_IRQ0, | ||
59 | .flags = IORESOURCE_IRQ, | ||
60 | }, | ||
61 | }; | ||
62 | |||
63 | static struct platform_device cf_ide_device = { | ||
64 | .name = "pata_platform", | ||
65 | .id = -1, | ||
66 | .num_resources = ARRAY_SIZE(cf_ide_resources), | ||
67 | .resource = cf_ide_resources, | ||
68 | }; | ||
69 | |||
70 | static struct platform_device *se7721_devices[] __initdata = { | ||
71 | &cf_ide_device, | ||
72 | &heartbeat_device | ||
73 | }; | ||
74 | |||
75 | static int __init se7721_devices_setup(void) | ||
76 | { | ||
77 | return platform_add_devices(se7721_devices, | ||
78 | ARRAY_SIZE(se7721_devices)); | ||
79 | } | ||
80 | device_initcall(se7721_devices_setup); | ||
81 | |||
82 | static void __init se7721_setup(char **cmdline_p) | ||
83 | { | ||
84 | /* for USB */ | ||
85 | ctrl_outw(0x0000, 0xA405010C); /* PGCR */ | ||
86 | ctrl_outw(0x0000, 0xA405010E); /* PHCR */ | ||
87 | ctrl_outw(0x00AA, 0xA4050118); /* PPCR */ | ||
88 | ctrl_outw(0x0000, 0xA4050124); /* PSELA */ | ||
89 | } | ||
90 | |||
91 | /* | ||
92 | * The Machine Vector | ||
93 | */ | ||
94 | struct sh_machine_vector mv_se7721 __initmv = { | ||
95 | .mv_name = "Solution Engine 7721", | ||
96 | .mv_setup = se7721_setup, | ||
97 | .mv_nr_irqs = 109, | ||
98 | .mv_init_irq = init_se7721_IRQ, | ||
99 | }; | ||
diff --git a/arch/sh/boards/se/7722/setup.c b/arch/sh/boards/se/7722/setup.c index b1a3d9d0172f..ede3957fc14a 100644 --- a/arch/sh/boards/se/7722/setup.c +++ b/arch/sh/boards/se/7722/setup.c | |||
@@ -13,10 +13,13 @@ | |||
13 | #include <linux/init.h> | 13 | #include <linux/init.h> |
14 | #include <linux/platform_device.h> | 14 | #include <linux/platform_device.h> |
15 | #include <linux/ata_platform.h> | 15 | #include <linux/ata_platform.h> |
16 | #include <linux/input.h> | ||
17 | #include <linux/smc91x.h> | ||
16 | #include <asm/machvec.h> | 18 | #include <asm/machvec.h> |
17 | #include <asm/se7722.h> | 19 | #include <asm/se7722.h> |
18 | #include <asm/io.h> | 20 | #include <asm/io.h> |
19 | #include <asm/heartbeat.h> | 21 | #include <asm/heartbeat.h> |
22 | #include <asm/sh_keysc.h> | ||
20 | 23 | ||
21 | /* Heartbeat */ | 24 | /* Heartbeat */ |
22 | static struct heartbeat_data heartbeat_data = { | 25 | static struct heartbeat_data heartbeat_data = { |
@@ -42,6 +45,10 @@ static struct platform_device heartbeat_device = { | |||
42 | }; | 45 | }; |
43 | 46 | ||
44 | /* SMC91x */ | 47 | /* SMC91x */ |
48 | static struct smc91x_platdata smc91x_info = { | ||
49 | .flags = SMC91X_USE_16BIT, | ||
50 | }; | ||
51 | |||
45 | static struct resource smc91x_eth_resources[] = { | 52 | static struct resource smc91x_eth_resources[] = { |
46 | [0] = { | 53 | [0] = { |
47 | .name = "smc91x-regs" , | 54 | .name = "smc91x-regs" , |
@@ -62,6 +69,7 @@ static struct platform_device smc91x_eth_device = { | |||
62 | .dev = { | 69 | .dev = { |
63 | .dma_mask = NULL, /* don't use dma */ | 70 | .dma_mask = NULL, /* don't use dma */ |
64 | .coherent_dma_mask = 0xffffffff, | 71 | .coherent_dma_mask = 0xffffffff, |
72 | .platform_data = &smc91x_info, | ||
65 | }, | 73 | }, |
66 | .num_resources = ARRAY_SIZE(smc91x_eth_resources), | 74 | .num_resources = ARRAY_SIZE(smc91x_eth_resources), |
67 | .resource = smc91x_eth_resources, | 75 | .resource = smc91x_eth_resources, |
@@ -92,10 +100,47 @@ static struct platform_device cf_ide_device = { | |||
92 | .resource = cf_ide_resources, | 100 | .resource = cf_ide_resources, |
93 | }; | 101 | }; |
94 | 102 | ||
103 | static struct sh_keysc_info sh_keysc_info = { | ||
104 | .mode = SH_KEYSC_MODE_1, /* KEYOUT0->5, KEYIN0->4 */ | ||
105 | .scan_timing = 3, | ||
106 | .delay = 5, | ||
107 | .keycodes = { /* SW1 -> SW30 */ | ||
108 | KEY_A, KEY_B, KEY_C, KEY_D, KEY_E, | ||
109 | KEY_F, KEY_G, KEY_H, KEY_I, KEY_J, | ||
110 | KEY_K, KEY_L, KEY_M, KEY_N, KEY_O, | ||
111 | KEY_P, KEY_Q, KEY_R, KEY_S, KEY_T, | ||
112 | KEY_U, KEY_V, KEY_W, KEY_X, KEY_Y, | ||
113 | KEY_Z, | ||
114 | KEY_HOME, KEY_SLEEP, KEY_WAKEUP, KEY_COFFEE, /* life */ | ||
115 | }, | ||
116 | }; | ||
117 | |||
118 | static struct resource sh_keysc_resources[] = { | ||
119 | [0] = { | ||
120 | .start = 0x044b0000, | ||
121 | .end = 0x044b000f, | ||
122 | .flags = IORESOURCE_MEM, | ||
123 | }, | ||
124 | [1] = { | ||
125 | .start = 79, | ||
126 | .flags = IORESOURCE_IRQ, | ||
127 | }, | ||
128 | }; | ||
129 | |||
130 | static struct platform_device sh_keysc_device = { | ||
131 | .name = "sh_keysc", | ||
132 | .num_resources = ARRAY_SIZE(sh_keysc_resources), | ||
133 | .resource = sh_keysc_resources, | ||
134 | .dev = { | ||
135 | .platform_data = &sh_keysc_info, | ||
136 | }, | ||
137 | }; | ||
138 | |||
95 | static struct platform_device *se7722_devices[] __initdata = { | 139 | static struct platform_device *se7722_devices[] __initdata = { |
96 | &heartbeat_device, | 140 | &heartbeat_device, |
97 | &smc91x_eth_device, | 141 | &smc91x_eth_device, |
98 | &cf_ide_device, | 142 | &cf_ide_device, |
143 | &sh_keysc_device, | ||
99 | }; | 144 | }; |
100 | 145 | ||
101 | static int __init se7722_devices_setup(void) | 146 | static int __init se7722_devices_setup(void) |
@@ -136,6 +181,8 @@ static void __init se7722_setup(char **cmdline_p) | |||
136 | ctrl_outw(0x0A10, PORT_PSELA); /* BS,SHHID2 */ | 181 | ctrl_outw(0x0A10, PORT_PSELA); /* BS,SHHID2 */ |
137 | ctrl_outw(0x0000, PORT_PYCR); | 182 | ctrl_outw(0x0000, PORT_PYCR); |
138 | ctrl_outw(0x0000, PORT_PZCR); | 183 | ctrl_outw(0x0000, PORT_PZCR); |
184 | ctrl_outw(ctrl_inw(PORT_HIZCRA) & ~0x4000, PORT_HIZCRA); | ||
185 | ctrl_outw(ctrl_inw(PORT_HIZCRC) & ~0xc000, PORT_HIZCRC); | ||
139 | } | 186 | } |
140 | 187 | ||
141 | /* | 188 | /* |
diff --git a/arch/sh/boot/Makefile b/arch/sh/boot/Makefile index 3dda24daa0a8..89b408620dcb 100644 --- a/arch/sh/boot/Makefile +++ b/arch/sh/boot/Makefile | |||
@@ -44,7 +44,7 @@ KERNEL_ENTRY := $(shell /bin/bash -c 'printf "0x%08x" \ | |||
44 | 44 | ||
45 | quiet_cmd_uimage = UIMAGE $@ | 45 | quiet_cmd_uimage = UIMAGE $@ |
46 | cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A sh -O linux -T kernel \ | 46 | cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A sh -O linux -T kernel \ |
47 | -C none -a $(KERNEL_LOAD) -e $(KERNEL_ENTRY) \ | 47 | -C gzip -a $(KERNEL_LOAD) -e $(KERNEL_ENTRY) \ |
48 | -n 'Linux-$(KERNELRELEASE)' -d $< $@ | 48 | -n 'Linux-$(KERNELRELEASE)' -d $< $@ |
49 | 49 | ||
50 | $(obj)/uImage: $(obj)/vmlinux.bin.gz FORCE | 50 | $(obj)/uImage: $(obj)/vmlinux.bin.gz FORCE |
diff --git a/arch/sh/boot/compressed/Makefile_32 b/arch/sh/boot/compressed/Makefile_32 index 6ac8d4a4ed1d..c0d25fb1aa60 100644 --- a/arch/sh/boot/compressed/Makefile_32 +++ b/arch/sh/boot/compressed/Makefile_32 | |||
@@ -6,7 +6,6 @@ | |||
6 | 6 | ||
7 | targets := vmlinux vmlinux.bin vmlinux.bin.gz \ | 7 | targets := vmlinux vmlinux.bin vmlinux.bin.gz \ |
8 | head_32.o misc_32.o piggy.o | 8 | head_32.o misc_32.o piggy.o |
9 | EXTRA_AFLAGS := -traditional | ||
10 | 9 | ||
11 | OBJECTS = $(obj)/head_32.o $(obj)/misc_32.o | 10 | OBJECTS = $(obj)/head_32.o $(obj)/misc_32.o |
12 | 11 | ||
diff --git a/arch/sh/boot/compressed/Makefile_64 b/arch/sh/boot/compressed/Makefile_64 index 4334f2b86d8f..912f3e205a0d 100644 --- a/arch/sh/boot/compressed/Makefile_64 +++ b/arch/sh/boot/compressed/Makefile_64 | |||
@@ -13,7 +13,6 @@ | |||
13 | 13 | ||
14 | targets := vmlinux vmlinux.bin vmlinux.bin.gz \ | 14 | targets := vmlinux vmlinux.bin vmlinux.bin.gz \ |
15 | head_64.o misc_64.o cache.o piggy.o | 15 | head_64.o misc_64.o cache.o piggy.o |
16 | EXTRA_AFLAGS := -traditional | ||
17 | 16 | ||
18 | OBJECTS := $(obj)/vmlinux_64.lds $(obj)/head_64.o $(obj)/misc_64.o \ | 17 | OBJECTS := $(obj)/vmlinux_64.lds $(obj)/head_64.o $(obj)/misc_64.o \ |
19 | $(obj)/cache.o | 18 | $(obj)/cache.o |
diff --git a/arch/sh/boot/compressed/head_32.S b/arch/sh/boot/compressed/head_32.S index a8399b013729..06ac31f3be88 100644 --- a/arch/sh/boot/compressed/head_32.S +++ b/arch/sh/boot/compressed/head_32.S | |||
@@ -7,7 +7,6 @@ | |||
7 | 7 | ||
8 | .text | 8 | .text |
9 | 9 | ||
10 | #include <linux/linkage.h> | ||
11 | #include <asm/page.h> | 10 | #include <asm/page.h> |
12 | 11 | ||
13 | .global startup | 12 | .global startup |
diff --git a/arch/sh/boot/compressed/head_64.S b/arch/sh/boot/compressed/head_64.S index 1d4ecbfc767c..f72c1989f5f2 100644 --- a/arch/sh/boot/compressed/head_64.S +++ b/arch/sh/boot/compressed/head_64.S | |||
@@ -13,7 +13,6 @@ | |||
13 | * Modification for compressed loader: | 13 | * Modification for compressed loader: |
14 | * Copyright (C) 2002 Stuart Menefy (stuart.menefy@st.com) | 14 | * Copyright (C) 2002 Stuart Menefy (stuart.menefy@st.com) |
15 | */ | 15 | */ |
16 | #include <linux/linkage.h> | ||
17 | #include <asm/cache.h> | 16 | #include <asm/cache.h> |
18 | #include <asm/cpu/mmu_context.h> | 17 | #include <asm/cpu/mmu_context.h> |
19 | #include <asm/cpu/registers.h> | 18 | #include <asm/cpu/registers.h> |
diff --git a/arch/sh/configs/landisk_defconfig b/arch/sh/configs/landisk_defconfig index f52db125432f..38f934ab50c7 100644 --- a/arch/sh/configs/landisk_defconfig +++ b/arch/sh/configs/landisk_defconfig | |||
@@ -226,7 +226,6 @@ CONFIG_CPU_HAS_PTEA=y | |||
226 | # | 226 | # |
227 | CONFIG_SH_TMU=y | 227 | CONFIG_SH_TMU=y |
228 | CONFIG_SH_TIMER_IRQ=16 | 228 | CONFIG_SH_TIMER_IRQ=16 |
229 | # CONFIG_NO_IDLE_HZ is not set | ||
230 | CONFIG_SH_PCLK_FREQ=33333333 | 229 | CONFIG_SH_PCLK_FREQ=33333333 |
231 | 230 | ||
232 | # | 231 | # |
diff --git a/arch/sh/configs/lboxre2_defconfig b/arch/sh/configs/lboxre2_defconfig index 9fa66d92a4e7..b68b6cdbb78f 100644 --- a/arch/sh/configs/lboxre2_defconfig +++ b/arch/sh/configs/lboxre2_defconfig | |||
@@ -231,7 +231,6 @@ CONFIG_CPU_HAS_PTEA=y | |||
231 | # | 231 | # |
232 | CONFIG_SH_TMU=y | 232 | CONFIG_SH_TMU=y |
233 | CONFIG_SH_TIMER_IRQ=16 | 233 | CONFIG_SH_TIMER_IRQ=16 |
234 | # CONFIG_NO_IDLE_HZ is not set | ||
235 | CONFIG_SH_PCLK_FREQ=40000000 | 234 | CONFIG_SH_PCLK_FREQ=40000000 |
236 | 235 | ||
237 | # | 236 | # |
diff --git a/arch/sh/configs/migor_defconfig b/arch/sh/configs/migor_defconfig index ee5900817f8f..287408b2ace6 100644 --- a/arch/sh/configs/migor_defconfig +++ b/arch/sh/configs/migor_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.24 | 3 | # Linux kernel version: 2.6.26-rc3 |
4 | # Wed Feb 6 21:52:20 2008 | 4 | # Thu May 22 14:30:07 2008 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_LOCKDEP_SUPPORT=y | |||
20 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | 20 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set |
21 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | 21 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set |
22 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 22 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
23 | CONFIG_ARCH_SUPPORTS_AOUT=y | ||
23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 24 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
24 | 25 | ||
25 | # | 26 | # |
@@ -36,18 +37,16 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
36 | # CONFIG_POSIX_MQUEUE is not set | 37 | # CONFIG_POSIX_MQUEUE is not set |
37 | # CONFIG_BSD_PROCESS_ACCT is not set | 38 | # CONFIG_BSD_PROCESS_ACCT is not set |
38 | # CONFIG_TASKSTATS is not set | 39 | # CONFIG_TASKSTATS is not set |
39 | # CONFIG_USER_NS is not set | ||
40 | # CONFIG_PID_NS is not set | ||
41 | # CONFIG_AUDIT is not set | 40 | # CONFIG_AUDIT is not set |
42 | CONFIG_IKCONFIG=y | 41 | CONFIG_IKCONFIG=y |
43 | CONFIG_IKCONFIG_PROC=y | 42 | CONFIG_IKCONFIG_PROC=y |
44 | CONFIG_LOG_BUF_SHIFT=14 | 43 | CONFIG_LOG_BUF_SHIFT=14 |
45 | # CONFIG_CGROUPS is not set | 44 | # CONFIG_CGROUPS is not set |
46 | CONFIG_FAIR_GROUP_SCHED=y | 45 | # CONFIG_GROUP_SCHED is not set |
47 | CONFIG_FAIR_USER_SCHED=y | ||
48 | # CONFIG_FAIR_CGROUP_SCHED is not set | ||
49 | CONFIG_SYSFS_DEPRECATED=y | 46 | CONFIG_SYSFS_DEPRECATED=y |
47 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
50 | # CONFIG_RELAY is not set | 48 | # CONFIG_RELAY is not set |
49 | # CONFIG_NAMESPACES is not set | ||
51 | CONFIG_BLK_DEV_INITRD=y | 50 | CONFIG_BLK_DEV_INITRD=y |
52 | CONFIG_INITRAMFS_SOURCE="" | 51 | CONFIG_INITRAMFS_SOURCE="" |
53 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 52 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
@@ -61,11 +60,13 @@ CONFIG_HOTPLUG=y | |||
61 | CONFIG_PRINTK=y | 60 | CONFIG_PRINTK=y |
62 | CONFIG_BUG=y | 61 | CONFIG_BUG=y |
63 | CONFIG_ELF_CORE=y | 62 | CONFIG_ELF_CORE=y |
63 | CONFIG_COMPAT_BRK=y | ||
64 | CONFIG_BASE_FULL=y | 64 | CONFIG_BASE_FULL=y |
65 | CONFIG_FUTEX=y | 65 | CONFIG_FUTEX=y |
66 | CONFIG_ANON_INODES=y | 66 | CONFIG_ANON_INODES=y |
67 | CONFIG_EPOLL=y | 67 | CONFIG_EPOLL=y |
68 | CONFIG_SIGNALFD=y | 68 | CONFIG_SIGNALFD=y |
69 | CONFIG_TIMERFD=y | ||
69 | CONFIG_EVENTFD=y | 70 | CONFIG_EVENTFD=y |
70 | CONFIG_SHMEM=y | 71 | CONFIG_SHMEM=y |
71 | CONFIG_VM_EVENT_COUNTERS=y | 72 | CONFIG_VM_EVENT_COUNTERS=y |
@@ -77,11 +78,15 @@ CONFIG_PROFILING=y | |||
77 | CONFIG_OPROFILE=y | 78 | CONFIG_OPROFILE=y |
78 | CONFIG_HAVE_OPROFILE=y | 79 | CONFIG_HAVE_OPROFILE=y |
79 | # CONFIG_HAVE_KPROBES is not set | 80 | # CONFIG_HAVE_KPROBES is not set |
81 | # CONFIG_HAVE_KRETPROBES is not set | ||
82 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
83 | CONFIG_PROC_PAGE_MONITOR=y | ||
80 | CONFIG_SLABINFO=y | 84 | CONFIG_SLABINFO=y |
81 | CONFIG_RT_MUTEXES=y | 85 | CONFIG_RT_MUTEXES=y |
82 | # CONFIG_TINY_SHMEM is not set | 86 | # CONFIG_TINY_SHMEM is not set |
83 | CONFIG_BASE_SMALL=0 | 87 | CONFIG_BASE_SMALL=0 |
84 | CONFIG_MODULES=y | 88 | CONFIG_MODULES=y |
89 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
85 | # CONFIG_MODULE_UNLOAD is not set | 90 | # CONFIG_MODULE_UNLOAD is not set |
86 | # CONFIG_MODVERSIONS is not set | 91 | # CONFIG_MODVERSIONS is not set |
87 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 92 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
@@ -105,7 +110,6 @@ CONFIG_DEFAULT_AS=y | |||
105 | # CONFIG_DEFAULT_NOOP is not set | 110 | # CONFIG_DEFAULT_NOOP is not set |
106 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 111 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
107 | CONFIG_CLASSIC_RCU=y | 112 | CONFIG_CLASSIC_RCU=y |
108 | # CONFIG_PREEMPT_RCU is not set | ||
109 | 113 | ||
110 | # | 114 | # |
111 | # System type | 115 | # System type |
@@ -118,6 +122,7 @@ CONFIG_CPU_SHX2=y | |||
118 | # CONFIG_CPU_SUBTYPE_SH7203 is not set | 122 | # CONFIG_CPU_SUBTYPE_SH7203 is not set |
119 | # CONFIG_CPU_SUBTYPE_SH7206 is not set | 123 | # CONFIG_CPU_SUBTYPE_SH7206 is not set |
120 | # CONFIG_CPU_SUBTYPE_SH7263 is not set | 124 | # CONFIG_CPU_SUBTYPE_SH7263 is not set |
125 | # CONFIG_CPU_SUBTYPE_MXG is not set | ||
121 | # CONFIG_CPU_SUBTYPE_SH7705 is not set | 126 | # CONFIG_CPU_SUBTYPE_SH7705 is not set |
122 | # CONFIG_CPU_SUBTYPE_SH7706 is not set | 127 | # CONFIG_CPU_SUBTYPE_SH7706 is not set |
123 | # CONFIG_CPU_SUBTYPE_SH7707 is not set | 128 | # CONFIG_CPU_SUBTYPE_SH7707 is not set |
@@ -135,6 +140,7 @@ CONFIG_CPU_SHX2=y | |||
135 | # CONFIG_CPU_SUBTYPE_SH7751R is not set | 140 | # CONFIG_CPU_SUBTYPE_SH7751R is not set |
136 | # CONFIG_CPU_SUBTYPE_SH7760 is not set | 141 | # CONFIG_CPU_SUBTYPE_SH7760 is not set |
137 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set | 142 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set |
143 | # CONFIG_CPU_SUBTYPE_SH7723 is not set | ||
138 | # CONFIG_CPU_SUBTYPE_SH7763 is not set | 144 | # CONFIG_CPU_SUBTYPE_SH7763 is not set |
139 | # CONFIG_CPU_SUBTYPE_SH7770 is not set | 145 | # CONFIG_CPU_SUBTYPE_SH7770 is not set |
140 | # CONFIG_CPU_SUBTYPE_SH7780 is not set | 146 | # CONFIG_CPU_SUBTYPE_SH7780 is not set |
@@ -142,6 +148,7 @@ CONFIG_CPU_SHX2=y | |||
142 | # CONFIG_CPU_SUBTYPE_SHX3 is not set | 148 | # CONFIG_CPU_SUBTYPE_SHX3 is not set |
143 | # CONFIG_CPU_SUBTYPE_SH7343 is not set | 149 | # CONFIG_CPU_SUBTYPE_SH7343 is not set |
144 | CONFIG_CPU_SUBTYPE_SH7722=y | 150 | CONFIG_CPU_SUBTYPE_SH7722=y |
151 | # CONFIG_CPU_SUBTYPE_SH7366 is not set | ||
145 | # CONFIG_CPU_SUBTYPE_SH5_101 is not set | 152 | # CONFIG_CPU_SUBTYPE_SH5_101 is not set |
146 | # CONFIG_CPU_SUBTYPE_SH5_103 is not set | 153 | # CONFIG_CPU_SUBTYPE_SH5_103 is not set |
147 | 154 | ||
@@ -255,7 +262,6 @@ CONFIG_HZ=250 | |||
255 | CONFIG_PREEMPT_NONE=y | 262 | CONFIG_PREEMPT_NONE=y |
256 | # CONFIG_PREEMPT_VOLUNTARY is not set | 263 | # CONFIG_PREEMPT_VOLUNTARY is not set |
257 | # CONFIG_PREEMPT is not set | 264 | # CONFIG_PREEMPT is not set |
258 | CONFIG_RCU_TRACE=y | ||
259 | CONFIG_GUSA=y | 265 | CONFIG_GUSA=y |
260 | 266 | ||
261 | # | 267 | # |
@@ -323,8 +329,6 @@ CONFIG_TCP_CONG_CUBIC=y | |||
323 | CONFIG_DEFAULT_TCP_CONG="cubic" | 329 | CONFIG_DEFAULT_TCP_CONG="cubic" |
324 | # CONFIG_TCP_MD5SIG is not set | 330 | # CONFIG_TCP_MD5SIG is not set |
325 | # CONFIG_IPV6 is not set | 331 | # CONFIG_IPV6 is not set |
326 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
327 | # CONFIG_INET6_TUNNEL is not set | ||
328 | # CONFIG_NETWORK_SECMARK is not set | 332 | # CONFIG_NETWORK_SECMARK is not set |
329 | # CONFIG_NETFILTER is not set | 333 | # CONFIG_NETFILTER is not set |
330 | # CONFIG_IP_DCCP is not set | 334 | # CONFIG_IP_DCCP is not set |
@@ -376,7 +380,90 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
376 | CONFIG_FW_LOADER=m | 380 | CONFIG_FW_LOADER=m |
377 | # CONFIG_SYS_HYPERVISOR is not set | 381 | # CONFIG_SYS_HYPERVISOR is not set |
378 | # CONFIG_CONNECTOR is not set | 382 | # CONFIG_CONNECTOR is not set |
379 | # CONFIG_MTD is not set | 383 | CONFIG_MTD=y |
384 | # CONFIG_MTD_DEBUG is not set | ||
385 | CONFIG_MTD_CONCAT=y | ||
386 | CONFIG_MTD_PARTITIONS=y | ||
387 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
388 | CONFIG_MTD_CMDLINE_PARTS=y | ||
389 | # CONFIG_MTD_AR7_PARTS is not set | ||
390 | |||
391 | # | ||
392 | # User Modules And Translation Layers | ||
393 | # | ||
394 | CONFIG_MTD_CHAR=y | ||
395 | CONFIG_MTD_BLKDEVS=y | ||
396 | CONFIG_MTD_BLOCK=y | ||
397 | # CONFIG_FTL is not set | ||
398 | # CONFIG_NFTL is not set | ||
399 | # CONFIG_INFTL is not set | ||
400 | # CONFIG_RFD_FTL is not set | ||
401 | # CONFIG_SSFDC is not set | ||
402 | # CONFIG_MTD_OOPS is not set | ||
403 | |||
404 | # | ||
405 | # RAM/ROM/Flash chip drivers | ||
406 | # | ||
407 | CONFIG_MTD_CFI=y | ||
408 | # CONFIG_MTD_JEDECPROBE is not set | ||
409 | CONFIG_MTD_GEN_PROBE=y | ||
410 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
411 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
412 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
413 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
414 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
415 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
416 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
417 | CONFIG_MTD_CFI_I1=y | ||
418 | CONFIG_MTD_CFI_I2=y | ||
419 | # CONFIG_MTD_CFI_I4 is not set | ||
420 | # CONFIG_MTD_CFI_I8 is not set | ||
421 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
422 | CONFIG_MTD_CFI_AMDSTD=y | ||
423 | # CONFIG_MTD_CFI_STAA is not set | ||
424 | CONFIG_MTD_CFI_UTIL=y | ||
425 | # CONFIG_MTD_RAM is not set | ||
426 | # CONFIG_MTD_ROM is not set | ||
427 | # CONFIG_MTD_ABSENT is not set | ||
428 | |||
429 | # | ||
430 | # Mapping drivers for chip access | ||
431 | # | ||
432 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
433 | CONFIG_MTD_PHYSMAP=y | ||
434 | CONFIG_MTD_PHYSMAP_START=0xffffffff | ||
435 | CONFIG_MTD_PHYSMAP_LEN=0 | ||
436 | CONFIG_MTD_PHYSMAP_BANKWIDTH=0 | ||
437 | # CONFIG_MTD_PLATRAM is not set | ||
438 | |||
439 | # | ||
440 | # Self-contained MTD device drivers | ||
441 | # | ||
442 | # CONFIG_MTD_SLRAM is not set | ||
443 | # CONFIG_MTD_PHRAM is not set | ||
444 | # CONFIG_MTD_MTDRAM is not set | ||
445 | # CONFIG_MTD_BLOCK2MTD is not set | ||
446 | |||
447 | # | ||
448 | # Disk-On-Chip Device Drivers | ||
449 | # | ||
450 | # CONFIG_MTD_DOC2000 is not set | ||
451 | # CONFIG_MTD_DOC2001 is not set | ||
452 | # CONFIG_MTD_DOC2001PLUS is not set | ||
453 | CONFIG_MTD_NAND=y | ||
454 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | ||
455 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
456 | # CONFIG_MTD_NAND_MUSEUM_IDS is not set | ||
457 | CONFIG_MTD_NAND_IDS=y | ||
458 | # CONFIG_MTD_NAND_DISKONCHIP is not set | ||
459 | # CONFIG_MTD_NAND_NANDSIM is not set | ||
460 | CONFIG_MTD_NAND_PLATFORM=y | ||
461 | # CONFIG_MTD_ONENAND is not set | ||
462 | |||
463 | # | ||
464 | # UBI - Unsorted block images | ||
465 | # | ||
466 | # CONFIG_MTD_UBI is not set | ||
380 | # CONFIG_PARPORT is not set | 467 | # CONFIG_PARPORT is not set |
381 | CONFIG_BLK_DEV=y | 468 | CONFIG_BLK_DEV=y |
382 | # CONFIG_BLK_DEV_COW_COMMON is not set | 469 | # CONFIG_BLK_DEV_COW_COMMON is not set |
@@ -385,11 +472,13 @@ CONFIG_BLK_DEV=y | |||
385 | CONFIG_BLK_DEV_RAM=y | 472 | CONFIG_BLK_DEV_RAM=y |
386 | CONFIG_BLK_DEV_RAM_COUNT=16 | 473 | CONFIG_BLK_DEV_RAM_COUNT=16 |
387 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 474 | CONFIG_BLK_DEV_RAM_SIZE=4096 |
388 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | 475 | # CONFIG_BLK_DEV_XIP is not set |
389 | # CONFIG_CDROM_PKTCDVD is not set | 476 | # CONFIG_CDROM_PKTCDVD is not set |
390 | # CONFIG_ATA_OVER_ETH is not set | 477 | # CONFIG_ATA_OVER_ETH is not set |
391 | CONFIG_MISC_DEVICES=y | 478 | CONFIG_MISC_DEVICES=y |
392 | # CONFIG_EEPROM_93CX6 is not set | 479 | # CONFIG_EEPROM_93CX6 is not set |
480 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
481 | CONFIG_HAVE_IDE=y | ||
393 | # CONFIG_IDE is not set | 482 | # CONFIG_IDE is not set |
394 | 483 | ||
395 | # | 484 | # |
@@ -461,6 +550,7 @@ CONFIG_SMC91X=y | |||
461 | # | 550 | # |
462 | # CONFIG_WLAN_PRE80211 is not set | 551 | # CONFIG_WLAN_PRE80211 is not set |
463 | # CONFIG_WLAN_80211 is not set | 552 | # CONFIG_WLAN_80211 is not set |
553 | # CONFIG_IWLWIFI_LEDS is not set | ||
464 | # CONFIG_WAN is not set | 554 | # CONFIG_WAN is not set |
465 | # CONFIG_PPP is not set | 555 | # CONFIG_PPP is not set |
466 | # CONFIG_SLIP is not set | 556 | # CONFIG_SLIP is not set |
@@ -482,13 +572,20 @@ CONFIG_INPUT=y | |||
482 | # | 572 | # |
483 | # CONFIG_INPUT_MOUSEDEV is not set | 573 | # CONFIG_INPUT_MOUSEDEV is not set |
484 | # CONFIG_INPUT_JOYDEV is not set | 574 | # CONFIG_INPUT_JOYDEV is not set |
485 | # CONFIG_INPUT_EVDEV is not set | 575 | CONFIG_INPUT_EVDEV=y |
486 | # CONFIG_INPUT_EVBUG is not set | 576 | # CONFIG_INPUT_EVBUG is not set |
487 | 577 | ||
488 | # | 578 | # |
489 | # Input Device Drivers | 579 | # Input Device Drivers |
490 | # | 580 | # |
491 | # CONFIG_INPUT_KEYBOARD is not set | 581 | CONFIG_INPUT_KEYBOARD=y |
582 | # CONFIG_KEYBOARD_ATKBD is not set | ||
583 | # CONFIG_KEYBOARD_SUNKBD is not set | ||
584 | # CONFIG_KEYBOARD_LKKBD is not set | ||
585 | # CONFIG_KEYBOARD_XTKBD is not set | ||
586 | # CONFIG_KEYBOARD_NEWTON is not set | ||
587 | # CONFIG_KEYBOARD_STOWAWAY is not set | ||
588 | CONFIG_KEYBOARD_SH_KEYSC=y | ||
492 | # CONFIG_INPUT_MOUSE is not set | 589 | # CONFIG_INPUT_MOUSE is not set |
493 | # CONFIG_INPUT_JOYSTICK is not set | 590 | # CONFIG_INPUT_JOYSTICK is not set |
494 | # CONFIG_INPUT_TABLET is not set | 591 | # CONFIG_INPUT_TABLET is not set |
@@ -508,6 +605,7 @@ CONFIG_VT=y | |||
508 | CONFIG_VT_CONSOLE=y | 605 | CONFIG_VT_CONSOLE=y |
509 | CONFIG_HW_CONSOLE=y | 606 | CONFIG_HW_CONSOLE=y |
510 | CONFIG_VT_HW_CONSOLE_BINDING=y | 607 | CONFIG_VT_HW_CONSOLE_BINDING=y |
608 | CONFIG_DEVKMEM=y | ||
511 | # CONFIG_SERIAL_NONSTANDARD is not set | 609 | # CONFIG_SERIAL_NONSTANDARD is not set |
512 | 610 | ||
513 | # | 611 | # |
@@ -531,16 +629,40 @@ CONFIG_HW_RANDOM=y | |||
531 | # CONFIG_R3964 is not set | 629 | # CONFIG_R3964 is not set |
532 | # CONFIG_RAW_DRIVER is not set | 630 | # CONFIG_RAW_DRIVER is not set |
533 | # CONFIG_TCG_TPM is not set | 631 | # CONFIG_TCG_TPM is not set |
534 | # CONFIG_I2C is not set | 632 | CONFIG_I2C=y |
535 | 633 | CONFIG_I2C_BOARDINFO=y | |
536 | # | 634 | # CONFIG_I2C_CHARDEV is not set |
537 | # SPI support | 635 | |
538 | # | 636 | # |
637 | # I2C Hardware Bus support | ||
638 | # | ||
639 | # CONFIG_I2C_OCORES is not set | ||
640 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
641 | # CONFIG_I2C_SIMTEC is not set | ||
642 | # CONFIG_I2C_TAOS_EVM is not set | ||
643 | # CONFIG_I2C_STUB is not set | ||
644 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
645 | CONFIG_I2C_SH_MOBILE=y | ||
646 | |||
647 | # | ||
648 | # Miscellaneous I2C Chip support | ||
649 | # | ||
650 | # CONFIG_DS1682 is not set | ||
651 | # CONFIG_SENSORS_EEPROM is not set | ||
652 | # CONFIG_SENSORS_PCF8574 is not set | ||
653 | # CONFIG_PCF8575 is not set | ||
654 | # CONFIG_SENSORS_PCF8591 is not set | ||
655 | # CONFIG_SENSORS_MAX6875 is not set | ||
656 | # CONFIG_SENSORS_TSL2550 is not set | ||
657 | # CONFIG_I2C_DEBUG_CORE is not set | ||
658 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
659 | # CONFIG_I2C_DEBUG_BUS is not set | ||
660 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
539 | # CONFIG_SPI is not set | 661 | # CONFIG_SPI is not set |
540 | # CONFIG_SPI_MASTER is not set | ||
541 | # CONFIG_W1 is not set | 662 | # CONFIG_W1 is not set |
542 | # CONFIG_POWER_SUPPLY is not set | 663 | # CONFIG_POWER_SUPPLY is not set |
543 | # CONFIG_HWMON is not set | 664 | # CONFIG_HWMON is not set |
665 | # CONFIG_THERMAL is not set | ||
544 | # CONFIG_WATCHDOG is not set | 666 | # CONFIG_WATCHDOG is not set |
545 | 667 | ||
546 | # | 668 | # |
@@ -553,12 +675,22 @@ CONFIG_SSB_POSSIBLE=y | |||
553 | # Multifunction device drivers | 675 | # Multifunction device drivers |
554 | # | 676 | # |
555 | # CONFIG_MFD_SM501 is not set | 677 | # CONFIG_MFD_SM501 is not set |
678 | # CONFIG_HTC_PASIC3 is not set | ||
556 | 679 | ||
557 | # | 680 | # |
558 | # Multimedia devices | 681 | # Multimedia devices |
559 | # | 682 | # |
683 | |||
684 | # | ||
685 | # Multimedia core support | ||
686 | # | ||
560 | # CONFIG_VIDEO_DEV is not set | 687 | # CONFIG_VIDEO_DEV is not set |
561 | # CONFIG_DVB_CORE is not set | 688 | # CONFIG_DVB_CORE is not set |
689 | # CONFIG_VIDEO_MEDIA is not set | ||
690 | |||
691 | # | ||
692 | # Multimedia drivers | ||
693 | # | ||
562 | # CONFIG_DAB is not set | 694 | # CONFIG_DAB is not set |
563 | 695 | ||
564 | # | 696 | # |
@@ -592,6 +724,8 @@ CONFIG_USB_ARCH_HAS_HCD=y | |||
592 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 724 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
593 | # CONFIG_USB_ARCH_HAS_EHCI is not set | 725 | # CONFIG_USB_ARCH_HAS_EHCI is not set |
594 | # CONFIG_USB is not set | 726 | # CONFIG_USB is not set |
727 | # CONFIG_USB_OTG_WHITELIST is not set | ||
728 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
595 | 729 | ||
596 | # | 730 | # |
597 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 731 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
@@ -608,6 +742,7 @@ CONFIG_USB_GADGET_SELECTED=y | |||
608 | CONFIG_USB_GADGET_M66592=y | 742 | CONFIG_USB_GADGET_M66592=y |
609 | CONFIG_USB_M66592=y | 743 | CONFIG_USB_M66592=y |
610 | CONFIG_SUPERH_BUILT_IN_M66592=y | 744 | CONFIG_SUPERH_BUILT_IN_M66592=y |
745 | # CONFIG_USB_GADGET_PXA27X is not set | ||
611 | # CONFIG_USB_GADGET_GOKU is not set | 746 | # CONFIG_USB_GADGET_GOKU is not set |
612 | # CONFIG_USB_GADGET_LH7A40X is not set | 747 | # CONFIG_USB_GADGET_LH7A40X is not set |
613 | # CONFIG_USB_GADGET_OMAP is not set | 748 | # CONFIG_USB_GADGET_OMAP is not set |
@@ -623,7 +758,9 @@ CONFIG_USB_G_SERIAL=y | |||
623 | # CONFIG_USB_MIDI_GADGET is not set | 758 | # CONFIG_USB_MIDI_GADGET is not set |
624 | # CONFIG_USB_G_PRINTER is not set | 759 | # CONFIG_USB_G_PRINTER is not set |
625 | # CONFIG_MMC is not set | 760 | # CONFIG_MMC is not set |
761 | # CONFIG_MEMSTICK is not set | ||
626 | # CONFIG_NEW_LEDS is not set | 762 | # CONFIG_NEW_LEDS is not set |
763 | # CONFIG_ACCESSIBILITY is not set | ||
627 | CONFIG_RTC_LIB=y | 764 | CONFIG_RTC_LIB=y |
628 | CONFIG_RTC_CLASS=y | 765 | CONFIG_RTC_CLASS=y |
629 | CONFIG_RTC_HCTOSYS=y | 766 | CONFIG_RTC_HCTOSYS=y |
@@ -640,15 +777,31 @@ CONFIG_RTC_INTF_DEV=y | |||
640 | # CONFIG_RTC_DRV_TEST is not set | 777 | # CONFIG_RTC_DRV_TEST is not set |
641 | 778 | ||
642 | # | 779 | # |
780 | # I2C RTC drivers | ||
781 | # | ||
782 | # CONFIG_RTC_DRV_DS1307 is not set | ||
783 | # CONFIG_RTC_DRV_DS1374 is not set | ||
784 | # CONFIG_RTC_DRV_DS1672 is not set | ||
785 | # CONFIG_RTC_DRV_MAX6900 is not set | ||
786 | CONFIG_RTC_DRV_RS5C372=y | ||
787 | # CONFIG_RTC_DRV_ISL1208 is not set | ||
788 | # CONFIG_RTC_DRV_X1205 is not set | ||
789 | # CONFIG_RTC_DRV_PCF8563 is not set | ||
790 | # CONFIG_RTC_DRV_PCF8583 is not set | ||
791 | # CONFIG_RTC_DRV_M41T80 is not set | ||
792 | # CONFIG_RTC_DRV_S35390A is not set | ||
793 | |||
794 | # | ||
643 | # SPI RTC drivers | 795 | # SPI RTC drivers |
644 | # | 796 | # |
645 | 797 | ||
646 | # | 798 | # |
647 | # Platform RTC drivers | 799 | # Platform RTC drivers |
648 | # | 800 | # |
801 | # CONFIG_RTC_DRV_DS1511 is not set | ||
649 | # CONFIG_RTC_DRV_DS1553 is not set | 802 | # CONFIG_RTC_DRV_DS1553 is not set |
650 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
651 | # CONFIG_RTC_DRV_DS1742 is not set | 803 | # CONFIG_RTC_DRV_DS1742 is not set |
804 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
652 | # CONFIG_RTC_DRV_M48T86 is not set | 805 | # CONFIG_RTC_DRV_M48T86 is not set |
653 | # CONFIG_RTC_DRV_M48T59 is not set | 806 | # CONFIG_RTC_DRV_M48T59 is not set |
654 | # CONFIG_RTC_DRV_V3020 is not set | 807 | # CONFIG_RTC_DRV_V3020 is not set |
@@ -657,10 +810,6 @@ CONFIG_RTC_INTF_DEV=y | |||
657 | # on-CPU RTC drivers | 810 | # on-CPU RTC drivers |
658 | # | 811 | # |
659 | CONFIG_RTC_DRV_SH=y | 812 | CONFIG_RTC_DRV_SH=y |
660 | |||
661 | # | ||
662 | # Userspace I/O | ||
663 | # | ||
664 | # CONFIG_UIO is not set | 813 | # CONFIG_UIO is not set |
665 | 814 | ||
666 | # | 815 | # |
@@ -673,13 +822,10 @@ CONFIG_RTC_DRV_SH=y | |||
673 | # CONFIG_JFS_FS is not set | 822 | # CONFIG_JFS_FS is not set |
674 | # CONFIG_FS_POSIX_ACL is not set | 823 | # CONFIG_FS_POSIX_ACL is not set |
675 | # CONFIG_XFS_FS is not set | 824 | # CONFIG_XFS_FS is not set |
676 | # CONFIG_GFS2_FS is not set | ||
677 | # CONFIG_OCFS2_FS is not set | 825 | # CONFIG_OCFS2_FS is not set |
678 | # CONFIG_MINIX_FS is not set | 826 | # CONFIG_DNOTIFY is not set |
679 | # CONFIG_ROMFS_FS is not set | ||
680 | # CONFIG_INOTIFY is not set | 827 | # CONFIG_INOTIFY is not set |
681 | # CONFIG_QUOTA is not set | 828 | # CONFIG_QUOTA is not set |
682 | # CONFIG_DNOTIFY is not set | ||
683 | # CONFIG_AUTOFS_FS is not set | 829 | # CONFIG_AUTOFS_FS is not set |
684 | # CONFIG_AUTOFS4_FS is not set | 830 | # CONFIG_AUTOFS4_FS is not set |
685 | # CONFIG_FUSE_FS is not set | 831 | # CONFIG_FUSE_FS is not set |
@@ -720,10 +866,13 @@ CONFIG_TMPFS=y | |||
720 | # CONFIG_BEFS_FS is not set | 866 | # CONFIG_BEFS_FS is not set |
721 | # CONFIG_BFS_FS is not set | 867 | # CONFIG_BFS_FS is not set |
722 | # CONFIG_EFS_FS is not set | 868 | # CONFIG_EFS_FS is not set |
869 | # CONFIG_JFFS2_FS is not set | ||
723 | # CONFIG_CRAMFS is not set | 870 | # CONFIG_CRAMFS is not set |
724 | # CONFIG_VXFS_FS is not set | 871 | # CONFIG_VXFS_FS is not set |
872 | # CONFIG_MINIX_FS is not set | ||
725 | # CONFIG_HPFS_FS is not set | 873 | # CONFIG_HPFS_FS is not set |
726 | # CONFIG_QNX4FS_FS is not set | 874 | # CONFIG_QNX4FS_FS is not set |
875 | # CONFIG_ROMFS_FS is not set | ||
727 | # CONFIG_SYSV_FS is not set | 876 | # CONFIG_SYSV_FS is not set |
728 | # CONFIG_UFS_FS is not set | 877 | # CONFIG_UFS_FS is not set |
729 | # CONFIG_NETWORK_FILESYSTEMS is not set | 878 | # CONFIG_NETWORK_FILESYSTEMS is not set |
@@ -743,6 +892,7 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y | |||
743 | # CONFIG_PRINTK_TIME is not set | 892 | # CONFIG_PRINTK_TIME is not set |
744 | CONFIG_ENABLE_WARN_DEPRECATED=y | 893 | CONFIG_ENABLE_WARN_DEPRECATED=y |
745 | CONFIG_ENABLE_MUST_CHECK=y | 894 | CONFIG_ENABLE_MUST_CHECK=y |
895 | CONFIG_FRAME_WARN=1024 | ||
746 | # CONFIG_MAGIC_SYSRQ is not set | 896 | # CONFIG_MAGIC_SYSRQ is not set |
747 | # CONFIG_UNUSED_SYMBOLS is not set | 897 | # CONFIG_UNUSED_SYMBOLS is not set |
748 | CONFIG_DEBUG_FS=y | 898 | CONFIG_DEBUG_FS=y |
@@ -763,48 +913,77 @@ CONFIG_EARLY_PRINTK=y | |||
763 | # CONFIG_SECURITY is not set | 913 | # CONFIG_SECURITY is not set |
764 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 914 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
765 | CONFIG_CRYPTO=y | 915 | CONFIG_CRYPTO=y |
766 | # CONFIG_CRYPTO_SEQIV is not set | 916 | |
917 | # | ||
918 | # Crypto core or helper | ||
919 | # | ||
767 | # CONFIG_CRYPTO_MANAGER is not set | 920 | # CONFIG_CRYPTO_MANAGER is not set |
921 | # CONFIG_CRYPTO_GF128MUL is not set | ||
922 | # CONFIG_CRYPTO_NULL is not set | ||
923 | # CONFIG_CRYPTO_CRYPTD is not set | ||
924 | # CONFIG_CRYPTO_AUTHENC is not set | ||
925 | # CONFIG_CRYPTO_TEST is not set | ||
926 | |||
927 | # | ||
928 | # Authenticated Encryption with Associated Data | ||
929 | # | ||
930 | # CONFIG_CRYPTO_CCM is not set | ||
931 | # CONFIG_CRYPTO_GCM is not set | ||
932 | # CONFIG_CRYPTO_SEQIV is not set | ||
933 | |||
934 | # | ||
935 | # Block modes | ||
936 | # | ||
937 | # CONFIG_CRYPTO_CBC is not set | ||
938 | # CONFIG_CRYPTO_CTR is not set | ||
939 | # CONFIG_CRYPTO_CTS is not set | ||
940 | # CONFIG_CRYPTO_ECB is not set | ||
941 | # CONFIG_CRYPTO_LRW is not set | ||
942 | # CONFIG_CRYPTO_PCBC is not set | ||
943 | # CONFIG_CRYPTO_XTS is not set | ||
944 | |||
945 | # | ||
946 | # Hash modes | ||
947 | # | ||
768 | # CONFIG_CRYPTO_HMAC is not set | 948 | # CONFIG_CRYPTO_HMAC is not set |
769 | # CONFIG_CRYPTO_XCBC is not set | 949 | # CONFIG_CRYPTO_XCBC is not set |
770 | # CONFIG_CRYPTO_NULL is not set | 950 | |
951 | # | ||
952 | # Digest | ||
953 | # | ||
954 | # CONFIG_CRYPTO_CRC32C is not set | ||
771 | # CONFIG_CRYPTO_MD4 is not set | 955 | # CONFIG_CRYPTO_MD4 is not set |
772 | # CONFIG_CRYPTO_MD5 is not set | 956 | # CONFIG_CRYPTO_MD5 is not set |
957 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
773 | # CONFIG_CRYPTO_SHA1 is not set | 958 | # CONFIG_CRYPTO_SHA1 is not set |
774 | # CONFIG_CRYPTO_SHA256 is not set | 959 | # CONFIG_CRYPTO_SHA256 is not set |
775 | # CONFIG_CRYPTO_SHA512 is not set | 960 | # CONFIG_CRYPTO_SHA512 is not set |
776 | # CONFIG_CRYPTO_WP512 is not set | ||
777 | # CONFIG_CRYPTO_TGR192 is not set | 961 | # CONFIG_CRYPTO_TGR192 is not set |
778 | # CONFIG_CRYPTO_GF128MUL is not set | 962 | # CONFIG_CRYPTO_WP512 is not set |
779 | # CONFIG_CRYPTO_ECB is not set | 963 | |
780 | # CONFIG_CRYPTO_CBC is not set | 964 | # |
781 | # CONFIG_CRYPTO_PCBC is not set | 965 | # Ciphers |
782 | # CONFIG_CRYPTO_LRW is not set | 966 | # |
783 | # CONFIG_CRYPTO_XTS is not set | ||
784 | # CONFIG_CRYPTO_CTR is not set | ||
785 | # CONFIG_CRYPTO_GCM is not set | ||
786 | # CONFIG_CRYPTO_CCM is not set | ||
787 | # CONFIG_CRYPTO_CRYPTD is not set | ||
788 | # CONFIG_CRYPTO_DES is not set | ||
789 | # CONFIG_CRYPTO_FCRYPT is not set | ||
790 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
791 | # CONFIG_CRYPTO_TWOFISH is not set | ||
792 | # CONFIG_CRYPTO_SERPENT is not set | ||
793 | # CONFIG_CRYPTO_AES is not set | 967 | # CONFIG_CRYPTO_AES is not set |
968 | # CONFIG_CRYPTO_ANUBIS is not set | ||
969 | # CONFIG_CRYPTO_ARC4 is not set | ||
970 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
971 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
794 | # CONFIG_CRYPTO_CAST5 is not set | 972 | # CONFIG_CRYPTO_CAST5 is not set |
795 | # CONFIG_CRYPTO_CAST6 is not set | 973 | # CONFIG_CRYPTO_CAST6 is not set |
796 | # CONFIG_CRYPTO_TEA is not set | 974 | # CONFIG_CRYPTO_DES is not set |
797 | # CONFIG_CRYPTO_ARC4 is not set | 975 | # CONFIG_CRYPTO_FCRYPT is not set |
798 | # CONFIG_CRYPTO_KHAZAD is not set | 976 | # CONFIG_CRYPTO_KHAZAD is not set |
799 | # CONFIG_CRYPTO_ANUBIS is not set | ||
800 | # CONFIG_CRYPTO_SEED is not set | ||
801 | # CONFIG_CRYPTO_SALSA20 is not set | 977 | # CONFIG_CRYPTO_SALSA20 is not set |
978 | # CONFIG_CRYPTO_SEED is not set | ||
979 | # CONFIG_CRYPTO_SERPENT is not set | ||
980 | # CONFIG_CRYPTO_TEA is not set | ||
981 | # CONFIG_CRYPTO_TWOFISH is not set | ||
982 | |||
983 | # | ||
984 | # Compression | ||
985 | # | ||
802 | # CONFIG_CRYPTO_DEFLATE is not set | 986 | # CONFIG_CRYPTO_DEFLATE is not set |
803 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
804 | # CONFIG_CRYPTO_CRC32C is not set | ||
805 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
806 | # CONFIG_CRYPTO_TEST is not set | ||
807 | # CONFIG_CRYPTO_AUTHENC is not set | ||
808 | # CONFIG_CRYPTO_LZO is not set | 987 | # CONFIG_CRYPTO_LZO is not set |
809 | CONFIG_CRYPTO_HW=y | 988 | CONFIG_CRYPTO_HW=y |
810 | 989 | ||
@@ -812,6 +991,7 @@ CONFIG_CRYPTO_HW=y | |||
812 | # Library routines | 991 | # Library routines |
813 | # | 992 | # |
814 | CONFIG_BITREVERSE=y | 993 | CONFIG_BITREVERSE=y |
994 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
815 | # CONFIG_CRC_CCITT is not set | 995 | # CONFIG_CRC_CCITT is not set |
816 | # CONFIG_CRC16 is not set | 996 | # CONFIG_CRC16 is not set |
817 | # CONFIG_CRC_ITU_T is not set | 997 | # CONFIG_CRC_ITU_T is not set |
diff --git a/arch/sh/configs/rsk7203_defconfig b/arch/sh/configs/rsk7203_defconfig new file mode 100644 index 000000000000..a0ebd439cbd2 --- /dev/null +++ b/arch/sh/configs/rsk7203_defconfig | |||
@@ -0,0 +1,841 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.26-rc4 | ||
4 | # Tue Jun 3 13:02:42 2008 | ||
5 | # | ||
6 | CONFIG_SUPERH=y | ||
7 | CONFIG_SUPERH32=y | ||
8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
9 | CONFIG_GENERIC_BUG=y | ||
10 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
11 | CONFIG_GENERIC_HWEIGHT=y | ||
12 | CONFIG_GENERIC_HARDIRQS=y | ||
13 | CONFIG_GENERIC_IRQ_PROBE=y | ||
14 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
15 | # CONFIG_GENERIC_TIME is not set | ||
16 | # CONFIG_GENERIC_CLOCKEVENTS is not set | ||
17 | CONFIG_STACKTRACE_SUPPORT=y | ||
18 | CONFIG_LOCKDEP_SUPPORT=y | ||
19 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
20 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
21 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | ||
22 | CONFIG_ARCH_SUPPORTS_AOUT=y | ||
23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
24 | |||
25 | # | ||
26 | # General setup | ||
27 | # | ||
28 | CONFIG_EXPERIMENTAL=y | ||
29 | CONFIG_BROKEN_ON_SMP=y | ||
30 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
31 | CONFIG_LOCALVERSION="" | ||
32 | # CONFIG_LOCALVERSION_AUTO is not set | ||
33 | CONFIG_SYSVIPC=y | ||
34 | CONFIG_SYSVIPC_SYSCTL=y | ||
35 | CONFIG_POSIX_MQUEUE=y | ||
36 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
37 | # CONFIG_TASKSTATS is not set | ||
38 | # CONFIG_AUDIT is not set | ||
39 | # CONFIG_IKCONFIG is not set | ||
40 | CONFIG_LOG_BUF_SHIFT=14 | ||
41 | # CONFIG_CGROUPS is not set | ||
42 | CONFIG_GROUP_SCHED=y | ||
43 | CONFIG_FAIR_GROUP_SCHED=y | ||
44 | # CONFIG_RT_GROUP_SCHED is not set | ||
45 | CONFIG_USER_SCHED=y | ||
46 | # CONFIG_CGROUP_SCHED is not set | ||
47 | CONFIG_SYSFS_DEPRECATED=y | ||
48 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
49 | # CONFIG_RELAY is not set | ||
50 | # CONFIG_NAMESPACES is not set | ||
51 | CONFIG_BLK_DEV_INITRD=y | ||
52 | CONFIG_INITRAMFS_SOURCE="" | ||
53 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
54 | CONFIG_SYSCTL=y | ||
55 | CONFIG_EMBEDDED=y | ||
56 | CONFIG_UID16=y | ||
57 | CONFIG_SYSCTL_SYSCALL=y | ||
58 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
59 | CONFIG_KALLSYMS=y | ||
60 | CONFIG_KALLSYMS_ALL=y | ||
61 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
62 | CONFIG_HOTPLUG=y | ||
63 | CONFIG_PRINTK=y | ||
64 | CONFIG_BUG=y | ||
65 | CONFIG_ELF_CORE=y | ||
66 | CONFIG_COMPAT_BRK=y | ||
67 | CONFIG_BASE_FULL=y | ||
68 | CONFIG_FUTEX=y | ||
69 | CONFIG_ANON_INODES=y | ||
70 | CONFIG_EPOLL=y | ||
71 | CONFIG_SIGNALFD=y | ||
72 | CONFIG_TIMERFD=y | ||
73 | CONFIG_EVENTFD=y | ||
74 | CONFIG_VM_EVENT_COUNTERS=y | ||
75 | CONFIG_SLAB=y | ||
76 | # CONFIG_SLUB is not set | ||
77 | # CONFIG_SLOB is not set | ||
78 | CONFIG_PROFILING=y | ||
79 | # CONFIG_MARKERS is not set | ||
80 | CONFIG_OPROFILE=y | ||
81 | CONFIG_HAVE_OPROFILE=y | ||
82 | # CONFIG_HAVE_KPROBES is not set | ||
83 | # CONFIG_HAVE_KRETPROBES is not set | ||
84 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
85 | CONFIG_SLABINFO=y | ||
86 | CONFIG_RT_MUTEXES=y | ||
87 | CONFIG_TINY_SHMEM=y | ||
88 | CONFIG_BASE_SMALL=0 | ||
89 | # CONFIG_MODULES is not set | ||
90 | CONFIG_BLOCK=y | ||
91 | # CONFIG_LBD is not set | ||
92 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
93 | # CONFIG_LSF is not set | ||
94 | # CONFIG_BLK_DEV_BSG is not set | ||
95 | |||
96 | # | ||
97 | # IO Schedulers | ||
98 | # | ||
99 | CONFIG_IOSCHED_NOOP=y | ||
100 | # CONFIG_IOSCHED_AS is not set | ||
101 | # CONFIG_IOSCHED_DEADLINE is not set | ||
102 | # CONFIG_IOSCHED_CFQ is not set | ||
103 | # CONFIG_DEFAULT_AS is not set | ||
104 | # CONFIG_DEFAULT_DEADLINE is not set | ||
105 | # CONFIG_DEFAULT_CFQ is not set | ||
106 | CONFIG_DEFAULT_NOOP=y | ||
107 | CONFIG_DEFAULT_IOSCHED="noop" | ||
108 | CONFIG_CLASSIC_RCU=y | ||
109 | |||
110 | # | ||
111 | # System type | ||
112 | # | ||
113 | CONFIG_CPU_SH2=y | ||
114 | CONFIG_CPU_SH2A=y | ||
115 | # CONFIG_CPU_SUBTYPE_SH7619 is not set | ||
116 | CONFIG_CPU_SUBTYPE_SH7203=y | ||
117 | # CONFIG_CPU_SUBTYPE_SH7206 is not set | ||
118 | # CONFIG_CPU_SUBTYPE_SH7263 is not set | ||
119 | # CONFIG_CPU_SUBTYPE_MXG is not set | ||
120 | # CONFIG_CPU_SUBTYPE_SH7705 is not set | ||
121 | # CONFIG_CPU_SUBTYPE_SH7706 is not set | ||
122 | # CONFIG_CPU_SUBTYPE_SH7707 is not set | ||
123 | # CONFIG_CPU_SUBTYPE_SH7708 is not set | ||
124 | # CONFIG_CPU_SUBTYPE_SH7709 is not set | ||
125 | # CONFIG_CPU_SUBTYPE_SH7710 is not set | ||
126 | # CONFIG_CPU_SUBTYPE_SH7712 is not set | ||
127 | # CONFIG_CPU_SUBTYPE_SH7720 is not set | ||
128 | # CONFIG_CPU_SUBTYPE_SH7721 is not set | ||
129 | # CONFIG_CPU_SUBTYPE_SH7750 is not set | ||
130 | # CONFIG_CPU_SUBTYPE_SH7091 is not set | ||
131 | # CONFIG_CPU_SUBTYPE_SH7750R is not set | ||
132 | # CONFIG_CPU_SUBTYPE_SH7750S is not set | ||
133 | # CONFIG_CPU_SUBTYPE_SH7751 is not set | ||
134 | # CONFIG_CPU_SUBTYPE_SH7751R is not set | ||
135 | # CONFIG_CPU_SUBTYPE_SH7760 is not set | ||
136 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set | ||
137 | # CONFIG_CPU_SUBTYPE_SH7723 is not set | ||
138 | # CONFIG_CPU_SUBTYPE_SH7763 is not set | ||
139 | # CONFIG_CPU_SUBTYPE_SH7770 is not set | ||
140 | # CONFIG_CPU_SUBTYPE_SH7780 is not set | ||
141 | # CONFIG_CPU_SUBTYPE_SH7785 is not set | ||
142 | # CONFIG_CPU_SUBTYPE_SHX3 is not set | ||
143 | # CONFIG_CPU_SUBTYPE_SH7343 is not set | ||
144 | # CONFIG_CPU_SUBTYPE_SH7722 is not set | ||
145 | # CONFIG_CPU_SUBTYPE_SH7366 is not set | ||
146 | # CONFIG_CPU_SUBTYPE_SH5_101 is not set | ||
147 | # CONFIG_CPU_SUBTYPE_SH5_103 is not set | ||
148 | |||
149 | # | ||
150 | # Memory management options | ||
151 | # | ||
152 | CONFIG_QUICKLIST=y | ||
153 | CONFIG_PAGE_OFFSET=0x00000000 | ||
154 | CONFIG_MEMORY_START=0x0c000000 | ||
155 | CONFIG_MEMORY_SIZE=0x01000000 | ||
156 | CONFIG_29BIT=y | ||
157 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
158 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | ||
159 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y | ||
160 | CONFIG_MAX_ACTIVE_REGIONS=1 | ||
161 | CONFIG_ARCH_POPULATES_NODE_MAP=y | ||
162 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | ||
163 | CONFIG_PAGE_SIZE_4KB=y | ||
164 | # CONFIG_PAGE_SIZE_8KB is not set | ||
165 | # CONFIG_PAGE_SIZE_64KB is not set | ||
166 | CONFIG_SELECT_MEMORY_MODEL=y | ||
167 | CONFIG_FLATMEM_MANUAL=y | ||
168 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
169 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
170 | CONFIG_FLATMEM=y | ||
171 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
172 | CONFIG_SPARSEMEM_STATIC=y | ||
173 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
174 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
175 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
176 | # CONFIG_RESOURCES_64BIT is not set | ||
177 | CONFIG_ZONE_DMA_FLAG=0 | ||
178 | CONFIG_NR_QUICK=2 | ||
179 | |||
180 | # | ||
181 | # Cache configuration | ||
182 | # | ||
183 | # CONFIG_SH_DIRECT_MAPPED is not set | ||
184 | CONFIG_CACHE_WRITEBACK=y | ||
185 | # CONFIG_CACHE_WRITETHROUGH is not set | ||
186 | # CONFIG_CACHE_OFF is not set | ||
187 | |||
188 | # | ||
189 | # Processor features | ||
190 | # | ||
191 | # CONFIG_CPU_LITTLE_ENDIAN is not set | ||
192 | CONFIG_CPU_BIG_ENDIAN=y | ||
193 | CONFIG_SH_FPU=y | ||
194 | CONFIG_CPU_HAS_FPU=y | ||
195 | |||
196 | # | ||
197 | # Board support | ||
198 | # | ||
199 | |||
200 | # | ||
201 | # Timer and clock configuration | ||
202 | # | ||
203 | CONFIG_SH_CMT=y | ||
204 | # CONFIG_SH_MTU2 is not set | ||
205 | CONFIG_SH_TIMER_IRQ=142 | ||
206 | CONFIG_SH_PCLK_FREQ=16670800 | ||
207 | CONFIG_SH_CLK_MD=0 | ||
208 | # CONFIG_TICK_ONESHOT is not set | ||
209 | |||
210 | # | ||
211 | # CPU Frequency scaling | ||
212 | # | ||
213 | CONFIG_CPU_FREQ=y | ||
214 | CONFIG_CPU_FREQ_TABLE=y | ||
215 | # CONFIG_CPU_FREQ_DEBUG is not set | ||
216 | CONFIG_CPU_FREQ_STAT=y | ||
217 | # CONFIG_CPU_FREQ_STAT_DETAILS is not set | ||
218 | CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y | ||
219 | # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set | ||
220 | # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set | ||
221 | # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set | ||
222 | # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set | ||
223 | CONFIG_CPU_FREQ_GOV_PERFORMANCE=y | ||
224 | # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set | ||
225 | # CONFIG_CPU_FREQ_GOV_USERSPACE is not set | ||
226 | # CONFIG_CPU_FREQ_GOV_ONDEMAND is not set | ||
227 | # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set | ||
228 | CONFIG_SH_CPU_FREQ=y | ||
229 | |||
230 | # | ||
231 | # DMA support | ||
232 | # | ||
233 | |||
234 | # | ||
235 | # Companion Chips | ||
236 | # | ||
237 | |||
238 | # | ||
239 | # Additional SuperH Device Drivers | ||
240 | # | ||
241 | CONFIG_HEARTBEAT=y | ||
242 | # CONFIG_PUSH_SWITCH is not set | ||
243 | |||
244 | # | ||
245 | # Kernel features | ||
246 | # | ||
247 | # CONFIG_HZ_100 is not set | ||
248 | # CONFIG_HZ_250 is not set | ||
249 | # CONFIG_HZ_300 is not set | ||
250 | CONFIG_HZ_1000=y | ||
251 | CONFIG_HZ=1000 | ||
252 | # CONFIG_SCHED_HRTICK is not set | ||
253 | # CONFIG_KEXEC is not set | ||
254 | # CONFIG_CRASH_DUMP is not set | ||
255 | CONFIG_PREEMPT_NONE=y | ||
256 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
257 | # CONFIG_PREEMPT is not set | ||
258 | CONFIG_GUSA=y | ||
259 | |||
260 | # | ||
261 | # Boot options | ||
262 | # | ||
263 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 | ||
264 | CONFIG_BOOT_LINK_OFFSET=0x00800000 | ||
265 | CONFIG_CMDLINE_BOOL=y | ||
266 | CONFIG_CMDLINE="console=ttySC0,115200 earlyprintk=serial ignore_loglevel" | ||
267 | |||
268 | # | ||
269 | # Bus options | ||
270 | # | ||
271 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
272 | # CONFIG_PCCARD is not set | ||
273 | |||
274 | # | ||
275 | # Executable file formats | ||
276 | # | ||
277 | CONFIG_BINFMT_FLAT=y | ||
278 | CONFIG_BINFMT_ZFLAT=y | ||
279 | CONFIG_BINFMT_SHARED_FLAT=y | ||
280 | # CONFIG_BINFMT_MISC is not set | ||
281 | |||
282 | # | ||
283 | # Networking | ||
284 | # | ||
285 | CONFIG_NET=y | ||
286 | |||
287 | # | ||
288 | # Networking options | ||
289 | # | ||
290 | # CONFIG_PACKET is not set | ||
291 | # CONFIG_UNIX is not set | ||
292 | # CONFIG_NET_KEY is not set | ||
293 | CONFIG_INET=y | ||
294 | # CONFIG_IP_MULTICAST is not set | ||
295 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
296 | CONFIG_IP_FIB_HASH=y | ||
297 | CONFIG_IP_PNP=y | ||
298 | CONFIG_IP_PNP_DHCP=y | ||
299 | # CONFIG_IP_PNP_BOOTP is not set | ||
300 | # CONFIG_IP_PNP_RARP is not set | ||
301 | # CONFIG_NET_IPIP is not set | ||
302 | # CONFIG_NET_IPGRE is not set | ||
303 | # CONFIG_ARPD is not set | ||
304 | # CONFIG_SYN_COOKIES is not set | ||
305 | # CONFIG_INET_AH is not set | ||
306 | # CONFIG_INET_ESP is not set | ||
307 | # CONFIG_INET_IPCOMP is not set | ||
308 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
309 | # CONFIG_INET_TUNNEL is not set | ||
310 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set | ||
311 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set | ||
312 | # CONFIG_INET_XFRM_MODE_BEET is not set | ||
313 | # CONFIG_INET_LRO is not set | ||
314 | # CONFIG_INET_DIAG is not set | ||
315 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
316 | CONFIG_TCP_CONG_CUBIC=y | ||
317 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
318 | # CONFIG_TCP_MD5SIG is not set | ||
319 | # CONFIG_IPV6 is not set | ||
320 | # CONFIG_NETWORK_SECMARK is not set | ||
321 | # CONFIG_NETFILTER is not set | ||
322 | # CONFIG_IP_DCCP is not set | ||
323 | # CONFIG_IP_SCTP is not set | ||
324 | # CONFIG_TIPC is not set | ||
325 | # CONFIG_ATM is not set | ||
326 | # CONFIG_BRIDGE is not set | ||
327 | # CONFIG_VLAN_8021Q is not set | ||
328 | # CONFIG_DECNET is not set | ||
329 | # CONFIG_LLC2 is not set | ||
330 | # CONFIG_IPX is not set | ||
331 | # CONFIG_ATALK is not set | ||
332 | # CONFIG_X25 is not set | ||
333 | # CONFIG_LAPB is not set | ||
334 | # CONFIG_ECONET is not set | ||
335 | # CONFIG_WAN_ROUTER is not set | ||
336 | # CONFIG_NET_SCHED is not set | ||
337 | |||
338 | # | ||
339 | # Network testing | ||
340 | # | ||
341 | # CONFIG_NET_PKTGEN is not set | ||
342 | # CONFIG_HAMRADIO is not set | ||
343 | # CONFIG_CAN is not set | ||
344 | # CONFIG_IRDA is not set | ||
345 | # CONFIG_BT is not set | ||
346 | # CONFIG_AF_RXRPC is not set | ||
347 | |||
348 | # | ||
349 | # Wireless | ||
350 | # | ||
351 | # CONFIG_CFG80211 is not set | ||
352 | # CONFIG_WIRELESS_EXT is not set | ||
353 | # CONFIG_MAC80211 is not set | ||
354 | # CONFIG_IEEE80211 is not set | ||
355 | # CONFIG_RFKILL is not set | ||
356 | # CONFIG_NET_9P is not set | ||
357 | |||
358 | # | ||
359 | # Device Drivers | ||
360 | # | ||
361 | |||
362 | # | ||
363 | # Generic Driver Options | ||
364 | # | ||
365 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
366 | # CONFIG_STANDALONE is not set | ||
367 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set | ||
368 | # CONFIG_FW_LOADER is not set | ||
369 | # CONFIG_DEBUG_DRIVER is not set | ||
370 | # CONFIG_DEBUG_DEVRES is not set | ||
371 | # CONFIG_SYS_HYPERVISOR is not set | ||
372 | # CONFIG_CONNECTOR is not set | ||
373 | CONFIG_MTD=y | ||
374 | # CONFIG_MTD_DEBUG is not set | ||
375 | CONFIG_MTD_CONCAT=y | ||
376 | CONFIG_MTD_PARTITIONS=y | ||
377 | CONFIG_MTD_REDBOOT_PARTS=y | ||
378 | CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 | ||
379 | # CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set | ||
380 | # CONFIG_MTD_REDBOOT_PARTS_READONLY is not set | ||
381 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
382 | # CONFIG_MTD_AR7_PARTS is not set | ||
383 | |||
384 | # | ||
385 | # User Modules And Translation Layers | ||
386 | # | ||
387 | CONFIG_MTD_CHAR=y | ||
388 | CONFIG_MTD_BLKDEVS=y | ||
389 | CONFIG_MTD_BLOCK=y | ||
390 | # CONFIG_FTL is not set | ||
391 | # CONFIG_NFTL is not set | ||
392 | # CONFIG_INFTL is not set | ||
393 | # CONFIG_RFD_FTL is not set | ||
394 | # CONFIG_SSFDC is not set | ||
395 | # CONFIG_MTD_OOPS is not set | ||
396 | |||
397 | # | ||
398 | # RAM/ROM/Flash chip drivers | ||
399 | # | ||
400 | CONFIG_MTD_CFI=y | ||
401 | # CONFIG_MTD_JEDECPROBE is not set | ||
402 | CONFIG_MTD_GEN_PROBE=y | ||
403 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
404 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
405 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
406 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
407 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
408 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
409 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
410 | CONFIG_MTD_CFI_I1=y | ||
411 | CONFIG_MTD_CFI_I2=y | ||
412 | # CONFIG_MTD_CFI_I4 is not set | ||
413 | # CONFIG_MTD_CFI_I8 is not set | ||
414 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
415 | CONFIG_MTD_CFI_AMDSTD=y | ||
416 | # CONFIG_MTD_CFI_STAA is not set | ||
417 | CONFIG_MTD_CFI_UTIL=y | ||
418 | # CONFIG_MTD_RAM is not set | ||
419 | # CONFIG_MTD_ROM is not set | ||
420 | # CONFIG_MTD_ABSENT is not set | ||
421 | |||
422 | # | ||
423 | # Mapping drivers for chip access | ||
424 | # | ||
425 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
426 | CONFIG_MTD_PHYSMAP=y | ||
427 | CONFIG_MTD_PHYSMAP_START=0x20000000 | ||
428 | CONFIG_MTD_PHYSMAP_LEN=0x01000000 | ||
429 | CONFIG_MTD_PHYSMAP_BANKWIDTH=4 | ||
430 | # CONFIG_MTD_UCLINUX is not set | ||
431 | # CONFIG_MTD_PLATRAM is not set | ||
432 | |||
433 | # | ||
434 | # Self-contained MTD device drivers | ||
435 | # | ||
436 | # CONFIG_MTD_SLRAM is not set | ||
437 | # CONFIG_MTD_PHRAM is not set | ||
438 | # CONFIG_MTD_MTDRAM is not set | ||
439 | # CONFIG_MTD_BLOCK2MTD is not set | ||
440 | |||
441 | # | ||
442 | # Disk-On-Chip Device Drivers | ||
443 | # | ||
444 | # CONFIG_MTD_DOC2000 is not set | ||
445 | # CONFIG_MTD_DOC2001 is not set | ||
446 | # CONFIG_MTD_DOC2001PLUS is not set | ||
447 | # CONFIG_MTD_NAND is not set | ||
448 | # CONFIG_MTD_ONENAND is not set | ||
449 | |||
450 | # | ||
451 | # UBI - Unsorted block images | ||
452 | # | ||
453 | # CONFIG_MTD_UBI is not set | ||
454 | # CONFIG_PARPORT is not set | ||
455 | CONFIG_BLK_DEV=y | ||
456 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
457 | # CONFIG_BLK_DEV_LOOP is not set | ||
458 | # CONFIG_BLK_DEV_NBD is not set | ||
459 | # CONFIG_BLK_DEV_RAM is not set | ||
460 | # CONFIG_CDROM_PKTCDVD is not set | ||
461 | # CONFIG_ATA_OVER_ETH is not set | ||
462 | CONFIG_MISC_DEVICES=y | ||
463 | # CONFIG_EEPROM_93CX6 is not set | ||
464 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
465 | CONFIG_HAVE_IDE=y | ||
466 | # CONFIG_IDE is not set | ||
467 | |||
468 | # | ||
469 | # SCSI device support | ||
470 | # | ||
471 | # CONFIG_RAID_ATTRS is not set | ||
472 | # CONFIG_SCSI is not set | ||
473 | # CONFIG_SCSI_DMA is not set | ||
474 | # CONFIG_SCSI_NETLINK is not set | ||
475 | # CONFIG_ATA is not set | ||
476 | # CONFIG_MD is not set | ||
477 | CONFIG_NETDEVICES=y | ||
478 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
479 | # CONFIG_DUMMY is not set | ||
480 | # CONFIG_BONDING is not set | ||
481 | # CONFIG_MACVLAN is not set | ||
482 | # CONFIG_EQUALIZER is not set | ||
483 | # CONFIG_TUN is not set | ||
484 | # CONFIG_VETH is not set | ||
485 | # CONFIG_PHYLIB is not set | ||
486 | CONFIG_NET_ETHERNET=y | ||
487 | CONFIG_MII=y | ||
488 | # CONFIG_AX88796 is not set | ||
489 | # CONFIG_STNIC is not set | ||
490 | CONFIG_SMC91X=y | ||
491 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
492 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
493 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
494 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
495 | # CONFIG_B44 is not set | ||
496 | CONFIG_NETDEV_1000=y | ||
497 | # CONFIG_E1000E_ENABLED is not set | ||
498 | CONFIG_NETDEV_10000=y | ||
499 | |||
500 | # | ||
501 | # Wireless LAN | ||
502 | # | ||
503 | # CONFIG_WLAN_PRE80211 is not set | ||
504 | # CONFIG_WLAN_80211 is not set | ||
505 | # CONFIG_IWLWIFI_LEDS is not set | ||
506 | # CONFIG_WAN is not set | ||
507 | # CONFIG_PPP is not set | ||
508 | # CONFIG_SLIP is not set | ||
509 | # CONFIG_NETCONSOLE is not set | ||
510 | # CONFIG_NETPOLL is not set | ||
511 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
512 | # CONFIG_ISDN is not set | ||
513 | # CONFIG_PHONE is not set | ||
514 | |||
515 | # | ||
516 | # Input device support | ||
517 | # | ||
518 | CONFIG_INPUT=y | ||
519 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
520 | # CONFIG_INPUT_POLLDEV is not set | ||
521 | |||
522 | # | ||
523 | # Userland interfaces | ||
524 | # | ||
525 | # CONFIG_INPUT_MOUSEDEV is not set | ||
526 | # CONFIG_INPUT_JOYDEV is not set | ||
527 | # CONFIG_INPUT_EVDEV is not set | ||
528 | # CONFIG_INPUT_EVBUG is not set | ||
529 | |||
530 | # | ||
531 | # Input Device Drivers | ||
532 | # | ||
533 | # CONFIG_INPUT_KEYBOARD is not set | ||
534 | # CONFIG_INPUT_MOUSE is not set | ||
535 | # CONFIG_INPUT_JOYSTICK is not set | ||
536 | # CONFIG_INPUT_TABLET is not set | ||
537 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
538 | # CONFIG_INPUT_MISC is not set | ||
539 | |||
540 | # | ||
541 | # Hardware I/O ports | ||
542 | # | ||
543 | # CONFIG_SERIO is not set | ||
544 | # CONFIG_GAMEPORT is not set | ||
545 | |||
546 | # | ||
547 | # Character devices | ||
548 | # | ||
549 | # CONFIG_VT is not set | ||
550 | CONFIG_DEVKMEM=y | ||
551 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
552 | |||
553 | # | ||
554 | # Serial drivers | ||
555 | # | ||
556 | # CONFIG_SERIAL_8250 is not set | ||
557 | |||
558 | # | ||
559 | # Non-8250 serial port support | ||
560 | # | ||
561 | CONFIG_SERIAL_SH_SCI=y | ||
562 | CONFIG_SERIAL_SH_SCI_NR_UARTS=4 | ||
563 | CONFIG_SERIAL_SH_SCI_CONSOLE=y | ||
564 | CONFIG_SERIAL_CORE=y | ||
565 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
566 | # CONFIG_UNIX98_PTYS is not set | ||
567 | # CONFIG_LEGACY_PTYS is not set | ||
568 | # CONFIG_IPMI_HANDLER is not set | ||
569 | # CONFIG_HW_RANDOM is not set | ||
570 | # CONFIG_R3964 is not set | ||
571 | # CONFIG_RAW_DRIVER is not set | ||
572 | # CONFIG_TCG_TPM is not set | ||
573 | # CONFIG_I2C is not set | ||
574 | # CONFIG_SPI is not set | ||
575 | # CONFIG_W1 is not set | ||
576 | # CONFIG_POWER_SUPPLY is not set | ||
577 | # CONFIG_HWMON is not set | ||
578 | CONFIG_THERMAL=y | ||
579 | # CONFIG_WATCHDOG is not set | ||
580 | |||
581 | # | ||
582 | # Sonics Silicon Backplane | ||
583 | # | ||
584 | CONFIG_SSB_POSSIBLE=y | ||
585 | # CONFIG_SSB is not set | ||
586 | |||
587 | # | ||
588 | # Multifunction device drivers | ||
589 | # | ||
590 | # CONFIG_MFD_SM501 is not set | ||
591 | # CONFIG_HTC_PASIC3 is not set | ||
592 | |||
593 | # | ||
594 | # Multimedia devices | ||
595 | # | ||
596 | |||
597 | # | ||
598 | # Multimedia core support | ||
599 | # | ||
600 | # CONFIG_VIDEO_DEV is not set | ||
601 | # CONFIG_DVB_CORE is not set | ||
602 | # CONFIG_VIDEO_MEDIA is not set | ||
603 | |||
604 | # | ||
605 | # Multimedia drivers | ||
606 | # | ||
607 | CONFIG_DAB=y | ||
608 | |||
609 | # | ||
610 | # Graphics support | ||
611 | # | ||
612 | # CONFIG_VGASTATE is not set | ||
613 | CONFIG_VIDEO_OUTPUT_CONTROL=y | ||
614 | # CONFIG_FB is not set | ||
615 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
616 | |||
617 | # | ||
618 | # Display device support | ||
619 | # | ||
620 | # CONFIG_DISPLAY_SUPPORT is not set | ||
621 | |||
622 | # | ||
623 | # Sound | ||
624 | # | ||
625 | # CONFIG_SOUND is not set | ||
626 | CONFIG_HID_SUPPORT=y | ||
627 | CONFIG_HID=y | ||
628 | # CONFIG_HID_DEBUG is not set | ||
629 | # CONFIG_HIDRAW is not set | ||
630 | CONFIG_USB_SUPPORT=y | ||
631 | CONFIG_USB_ARCH_HAS_HCD=y | ||
632 | # CONFIG_USB_ARCH_HAS_OHCI is not set | ||
633 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
634 | # CONFIG_USB is not set | ||
635 | # CONFIG_USB_OTG_WHITELIST is not set | ||
636 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
637 | |||
638 | # | ||
639 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
640 | # | ||
641 | # CONFIG_USB_GADGET is not set | ||
642 | # CONFIG_MMC is not set | ||
643 | # CONFIG_MEMSTICK is not set | ||
644 | # CONFIG_NEW_LEDS is not set | ||
645 | # CONFIG_ACCESSIBILITY is not set | ||
646 | CONFIG_RTC_LIB=y | ||
647 | CONFIG_RTC_CLASS=y | ||
648 | CONFIG_RTC_HCTOSYS=y | ||
649 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
650 | # CONFIG_RTC_DEBUG is not set | ||
651 | |||
652 | # | ||
653 | # RTC interfaces | ||
654 | # | ||
655 | CONFIG_RTC_INTF_SYSFS=y | ||
656 | CONFIG_RTC_INTF_PROC=y | ||
657 | CONFIG_RTC_INTF_DEV=y | ||
658 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
659 | # CONFIG_RTC_DRV_TEST is not set | ||
660 | |||
661 | # | ||
662 | # SPI RTC drivers | ||
663 | # | ||
664 | |||
665 | # | ||
666 | # Platform RTC drivers | ||
667 | # | ||
668 | # CONFIG_RTC_DRV_DS1511 is not set | ||
669 | # CONFIG_RTC_DRV_DS1553 is not set | ||
670 | # CONFIG_RTC_DRV_DS1742 is not set | ||
671 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
672 | # CONFIG_RTC_DRV_M48T86 is not set | ||
673 | # CONFIG_RTC_DRV_M48T59 is not set | ||
674 | # CONFIG_RTC_DRV_V3020 is not set | ||
675 | |||
676 | # | ||
677 | # on-CPU RTC drivers | ||
678 | # | ||
679 | CONFIG_RTC_DRV_SH=y | ||
680 | # CONFIG_UIO is not set | ||
681 | |||
682 | # | ||
683 | # File systems | ||
684 | # | ||
685 | # CONFIG_EXT2_FS is not set | ||
686 | # CONFIG_EXT3_FS is not set | ||
687 | # CONFIG_EXT4DEV_FS is not set | ||
688 | # CONFIG_REISERFS_FS is not set | ||
689 | # CONFIG_JFS_FS is not set | ||
690 | # CONFIG_FS_POSIX_ACL is not set | ||
691 | # CONFIG_XFS_FS is not set | ||
692 | # CONFIG_OCFS2_FS is not set | ||
693 | # CONFIG_DNOTIFY is not set | ||
694 | # CONFIG_INOTIFY is not set | ||
695 | # CONFIG_QUOTA is not set | ||
696 | # CONFIG_AUTOFS_FS is not set | ||
697 | # CONFIG_AUTOFS4_FS is not set | ||
698 | # CONFIG_FUSE_FS is not set | ||
699 | |||
700 | # | ||
701 | # CD-ROM/DVD Filesystems | ||
702 | # | ||
703 | # CONFIG_ISO9660_FS is not set | ||
704 | # CONFIG_UDF_FS is not set | ||
705 | |||
706 | # | ||
707 | # DOS/FAT/NT Filesystems | ||
708 | # | ||
709 | # CONFIG_MSDOS_FS is not set | ||
710 | # CONFIG_VFAT_FS is not set | ||
711 | # CONFIG_NTFS_FS is not set | ||
712 | |||
713 | # | ||
714 | # Pseudo filesystems | ||
715 | # | ||
716 | CONFIG_PROC_FS=y | ||
717 | CONFIG_PROC_SYSCTL=y | ||
718 | CONFIG_SYSFS=y | ||
719 | # CONFIG_TMPFS is not set | ||
720 | # CONFIG_HUGETLB_PAGE is not set | ||
721 | # CONFIG_CONFIGFS_FS is not set | ||
722 | |||
723 | # | ||
724 | # Miscellaneous filesystems | ||
725 | # | ||
726 | # CONFIG_ADFS_FS is not set | ||
727 | # CONFIG_AFFS_FS is not set | ||
728 | # CONFIG_HFS_FS is not set | ||
729 | # CONFIG_HFSPLUS_FS is not set | ||
730 | # CONFIG_BEFS_FS is not set | ||
731 | # CONFIG_BFS_FS is not set | ||
732 | # CONFIG_EFS_FS is not set | ||
733 | # CONFIG_JFFS2_FS is not set | ||
734 | # CONFIG_CRAMFS is not set | ||
735 | # CONFIG_VXFS_FS is not set | ||
736 | # CONFIG_MINIX_FS is not set | ||
737 | # CONFIG_HPFS_FS is not set | ||
738 | # CONFIG_QNX4FS_FS is not set | ||
739 | CONFIG_ROMFS_FS=y | ||
740 | # CONFIG_SYSV_FS is not set | ||
741 | # CONFIG_UFS_FS is not set | ||
742 | CONFIG_NETWORK_FILESYSTEMS=y | ||
743 | CONFIG_NFS_FS=y | ||
744 | # CONFIG_NFS_V3 is not set | ||
745 | # CONFIG_NFS_V4 is not set | ||
746 | # CONFIG_NFSD is not set | ||
747 | CONFIG_ROOT_NFS=y | ||
748 | CONFIG_LOCKD=y | ||
749 | CONFIG_NFS_COMMON=y | ||
750 | CONFIG_SUNRPC=y | ||
751 | # CONFIG_SUNRPC_BIND34 is not set | ||
752 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
753 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
754 | # CONFIG_SMB_FS is not set | ||
755 | # CONFIG_CIFS is not set | ||
756 | # CONFIG_NCP_FS is not set | ||
757 | # CONFIG_CODA_FS is not set | ||
758 | # CONFIG_AFS_FS is not set | ||
759 | |||
760 | # | ||
761 | # Partition Types | ||
762 | # | ||
763 | # CONFIG_PARTITION_ADVANCED is not set | ||
764 | CONFIG_MSDOS_PARTITION=y | ||
765 | # CONFIG_NLS is not set | ||
766 | # CONFIG_DLM is not set | ||
767 | |||
768 | # | ||
769 | # Kernel hacking | ||
770 | # | ||
771 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
772 | # CONFIG_PRINTK_TIME is not set | ||
773 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
774 | # CONFIG_ENABLE_MUST_CHECK is not set | ||
775 | CONFIG_FRAME_WARN=1024 | ||
776 | CONFIG_MAGIC_SYSRQ=y | ||
777 | # CONFIG_UNUSED_SYMBOLS is not set | ||
778 | # CONFIG_DEBUG_FS is not set | ||
779 | # CONFIG_HEADERS_CHECK is not set | ||
780 | CONFIG_DEBUG_KERNEL=y | ||
781 | CONFIG_DEBUG_SHIRQ=y | ||
782 | CONFIG_DETECT_SOFTLOCKUP=y | ||
783 | CONFIG_SCHED_DEBUG=y | ||
784 | # CONFIG_SCHEDSTATS is not set | ||
785 | # CONFIG_TIMER_STATS is not set | ||
786 | # CONFIG_DEBUG_OBJECTS is not set | ||
787 | # CONFIG_DEBUG_SLAB is not set | ||
788 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
789 | # CONFIG_RT_MUTEX_TESTER is not set | ||
790 | # CONFIG_DEBUG_SPINLOCK is not set | ||
791 | CONFIG_DEBUG_MUTEXES=y | ||
792 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
793 | # CONFIG_PROVE_LOCKING is not set | ||
794 | # CONFIG_LOCK_STAT is not set | ||
795 | CONFIG_DEBUG_SPINLOCK_SLEEP=y | ||
796 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
797 | # CONFIG_DEBUG_KOBJECT is not set | ||
798 | CONFIG_DEBUG_BUGVERBOSE=y | ||
799 | CONFIG_DEBUG_INFO=y | ||
800 | # CONFIG_DEBUG_VM is not set | ||
801 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
802 | # CONFIG_DEBUG_LIST is not set | ||
803 | # CONFIG_DEBUG_SG is not set | ||
804 | CONFIG_FRAME_POINTER=y | ||
805 | # CONFIG_BOOT_PRINTK_DELAY is not set | ||
806 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
807 | # CONFIG_FAULT_INJECTION is not set | ||
808 | # CONFIG_SAMPLES is not set | ||
809 | # CONFIG_SH_STANDARD_BIOS is not set | ||
810 | CONFIG_EARLY_SCIF_CONSOLE=y | ||
811 | CONFIG_EARLY_SCIF_CONSOLE_PORT=0xfffe8000 | ||
812 | CONFIG_EARLY_PRINTK=y | ||
813 | CONFIG_DEBUG_BOOTMEM=y | ||
814 | CONFIG_DEBUG_STACKOVERFLOW=y | ||
815 | CONFIG_DEBUG_STACK_USAGE=y | ||
816 | # CONFIG_IRQSTACKS is not set | ||
817 | |||
818 | # | ||
819 | # Security options | ||
820 | # | ||
821 | # CONFIG_KEYS is not set | ||
822 | # CONFIG_SECURITY is not set | ||
823 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
824 | # CONFIG_CRYPTO is not set | ||
825 | |||
826 | # | ||
827 | # Library routines | ||
828 | # | ||
829 | CONFIG_BITREVERSE=y | ||
830 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
831 | # CONFIG_CRC_CCITT is not set | ||
832 | # CONFIG_CRC16 is not set | ||
833 | # CONFIG_CRC_ITU_T is not set | ||
834 | CONFIG_CRC32=y | ||
835 | # CONFIG_CRC7 is not set | ||
836 | # CONFIG_LIBCRC32C is not set | ||
837 | CONFIG_ZLIB_INFLATE=y | ||
838 | CONFIG_PLIST=y | ||
839 | CONFIG_HAS_IOMEM=y | ||
840 | CONFIG_HAS_IOPORT=y | ||
841 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/sh/configs/se7206_defconfig b/arch/sh/configs/se7206_defconfig index 0d0cda908270..6b34baa26eae 100644 --- a/arch/sh/configs/se7206_defconfig +++ b/arch/sh/configs/se7206_defconfig | |||
@@ -1,9 +1,10 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.23-rc4 | 3 | # Linux kernel version: 2.6.26-rc4 |
4 | # Thu Sep 13 16:40:16 2007 | 4 | # Tue Jun 3 20:27:08 2008 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | ||
7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
8 | CONFIG_GENERIC_BUG=y | 9 | CONFIG_GENERIC_BUG=y |
9 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 10 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
@@ -18,6 +19,7 @@ CONFIG_LOCKDEP_SUPPORT=y | |||
18 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | 19 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set |
19 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | 20 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set |
20 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 21 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
22 | CONFIG_ARCH_SUPPORTS_AOUT=y | ||
21 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 23 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
22 | 24 | ||
23 | # | 25 | # |
@@ -25,47 +27,82 @@ CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | |||
25 | # | 27 | # |
26 | CONFIG_EXPERIMENTAL=y | 28 | CONFIG_EXPERIMENTAL=y |
27 | CONFIG_BROKEN_ON_SMP=y | 29 | CONFIG_BROKEN_ON_SMP=y |
30 | CONFIG_LOCK_KERNEL=y | ||
28 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 31 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
29 | CONFIG_LOCALVERSION="" | 32 | CONFIG_LOCALVERSION="" |
30 | # CONFIG_LOCALVERSION_AUTO is not set | 33 | CONFIG_LOCALVERSION_AUTO=y |
31 | # CONFIG_SYSVIPC is not set | 34 | CONFIG_SYSVIPC=y |
32 | # CONFIG_POSIX_MQUEUE is not set | 35 | CONFIG_SYSVIPC_SYSCTL=y |
33 | # CONFIG_BSD_PROCESS_ACCT is not set | 36 | CONFIG_POSIX_MQUEUE=y |
37 | CONFIG_BSD_PROCESS_ACCT=y | ||
38 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set | ||
34 | # CONFIG_TASKSTATS is not set | 39 | # CONFIG_TASKSTATS is not set |
35 | # CONFIG_USER_NS is not set | 40 | CONFIG_AUDIT=y |
36 | # CONFIG_AUDIT is not set | 41 | CONFIG_AUDITSYSCALL=y |
37 | # CONFIG_IKCONFIG is not set | 42 | # CONFIG_IKCONFIG is not set |
38 | CONFIG_LOG_BUF_SHIFT=14 | 43 | CONFIG_LOG_BUF_SHIFT=14 |
39 | CONFIG_SYSFS_DEPRECATED=y | 44 | CONFIG_CGROUPS=y |
40 | # CONFIG_RELAY is not set | 45 | CONFIG_CGROUP_DEBUG=y |
41 | # CONFIG_BLK_DEV_INITRD is not set | 46 | CONFIG_CGROUP_NS=y |
47 | CONFIG_CGROUP_DEVICE=y | ||
48 | # CONFIG_GROUP_SCHED is not set | ||
49 | CONFIG_CGROUP_CPUACCT=y | ||
50 | CONFIG_RESOURCE_COUNTERS=y | ||
51 | CONFIG_MM_OWNER=y | ||
52 | CONFIG_CGROUP_MEM_RES_CTLR=y | ||
53 | # CONFIG_SYSFS_DEPRECATED_V2 is not set | ||
54 | CONFIG_RELAY=y | ||
55 | CONFIG_NAMESPACES=y | ||
56 | CONFIG_UTS_NS=y | ||
57 | CONFIG_IPC_NS=y | ||
58 | CONFIG_USER_NS=y | ||
59 | CONFIG_PID_NS=y | ||
60 | CONFIG_BLK_DEV_INITRD=y | ||
61 | CONFIG_INITRAMFS_SOURCE="" | ||
42 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 62 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
43 | CONFIG_SYSCTL=y | 63 | CONFIG_SYSCTL=y |
44 | CONFIG_EMBEDDED=y | 64 | CONFIG_EMBEDDED=y |
45 | # CONFIG_UID16 is not set | 65 | # CONFIG_UID16 is not set |
46 | # CONFIG_SYSCTL_SYSCALL is not set | 66 | # CONFIG_SYSCTL_SYSCALL is not set |
47 | # CONFIG_KALLSYMS is not set | 67 | CONFIG_KALLSYMS=y |
48 | # CONFIG_HOTPLUG is not set | 68 | CONFIG_KALLSYMS_ALL=y |
69 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
70 | CONFIG_HOTPLUG=y | ||
49 | CONFIG_PRINTK=y | 71 | CONFIG_PRINTK=y |
50 | CONFIG_BUG=y | 72 | CONFIG_BUG=y |
51 | # CONFIG_ELF_CORE is not set | 73 | # CONFIG_ELF_CORE is not set |
52 | # CONFIG_BASE_FULL is not set | 74 | # CONFIG_COMPAT_BRK is not set |
53 | # CONFIG_FUTEX is not set | 75 | CONFIG_BASE_FULL=y |
76 | CONFIG_FUTEX=y | ||
54 | CONFIG_ANON_INODES=y | 77 | CONFIG_ANON_INODES=y |
55 | # CONFIG_EPOLL is not set | 78 | CONFIG_EPOLL=y |
56 | CONFIG_SIGNALFD=y | 79 | CONFIG_SIGNALFD=y |
57 | CONFIG_TIMERFD=y | 80 | CONFIG_TIMERFD=y |
58 | CONFIG_EVENTFD=y | 81 | CONFIG_EVENTFD=y |
59 | # CONFIG_VM_EVENT_COUNTERS is not set | 82 | CONFIG_VM_EVENT_COUNTERS=y |
60 | CONFIG_SLUB_DEBUG=y | ||
61 | # CONFIG_SLAB is not set | 83 | # CONFIG_SLAB is not set |
62 | CONFIG_SLUB=y | 84 | # CONFIG_SLUB is not set |
63 | # CONFIG_SLOB is not set | 85 | CONFIG_SLOB=y |
86 | CONFIG_PROFILING=y | ||
87 | # CONFIG_MARKERS is not set | ||
88 | CONFIG_OPROFILE=y | ||
89 | CONFIG_HAVE_OPROFILE=y | ||
90 | # CONFIG_HAVE_KPROBES is not set | ||
91 | # CONFIG_HAVE_KRETPROBES is not set | ||
92 | # CONFIG_HAVE_DMA_ATTRS is not set | ||
93 | CONFIG_RT_MUTEXES=y | ||
64 | CONFIG_TINY_SHMEM=y | 94 | CONFIG_TINY_SHMEM=y |
65 | CONFIG_BASE_SMALL=1 | 95 | CONFIG_BASE_SMALL=0 |
66 | # CONFIG_MODULES is not set | 96 | CONFIG_MODULES=y |
97 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
98 | CONFIG_MODULE_UNLOAD=y | ||
99 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
100 | # CONFIG_MODVERSIONS is not set | ||
101 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
102 | # CONFIG_KMOD is not set | ||
67 | CONFIG_BLOCK=y | 103 | CONFIG_BLOCK=y |
68 | # CONFIG_LBD is not set | 104 | # CONFIG_LBD is not set |
105 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
69 | # CONFIG_LSF is not set | 106 | # CONFIG_LSF is not set |
70 | # CONFIG_BLK_DEV_BSG is not set | 107 | # CONFIG_BLK_DEV_BSG is not set |
71 | 108 | ||
@@ -81,6 +118,7 @@ CONFIG_IOSCHED_NOOP=y | |||
81 | # CONFIG_DEFAULT_CFQ is not set | 118 | # CONFIG_DEFAULT_CFQ is not set |
82 | CONFIG_DEFAULT_NOOP=y | 119 | CONFIG_DEFAULT_NOOP=y |
83 | CONFIG_DEFAULT_IOSCHED="noop" | 120 | CONFIG_DEFAULT_IOSCHED="noop" |
121 | # CONFIG_CLASSIC_RCU is not set | ||
84 | 122 | ||
85 | # | 123 | # |
86 | # System type | 124 | # System type |
@@ -88,7 +126,10 @@ CONFIG_DEFAULT_IOSCHED="noop" | |||
88 | CONFIG_CPU_SH2=y | 126 | CONFIG_CPU_SH2=y |
89 | CONFIG_CPU_SH2A=y | 127 | CONFIG_CPU_SH2A=y |
90 | # CONFIG_CPU_SUBTYPE_SH7619 is not set | 128 | # CONFIG_CPU_SUBTYPE_SH7619 is not set |
129 | # CONFIG_CPU_SUBTYPE_SH7203 is not set | ||
91 | CONFIG_CPU_SUBTYPE_SH7206=y | 130 | CONFIG_CPU_SUBTYPE_SH7206=y |
131 | # CONFIG_CPU_SUBTYPE_SH7263 is not set | ||
132 | # CONFIG_CPU_SUBTYPE_MXG is not set | ||
92 | # CONFIG_CPU_SUBTYPE_SH7705 is not set | 133 | # CONFIG_CPU_SUBTYPE_SH7705 is not set |
93 | # CONFIG_CPU_SUBTYPE_SH7706 is not set | 134 | # CONFIG_CPU_SUBTYPE_SH7706 is not set |
94 | # CONFIG_CPU_SUBTYPE_SH7707 is not set | 135 | # CONFIG_CPU_SUBTYPE_SH7707 is not set |
@@ -97,6 +138,7 @@ CONFIG_CPU_SUBTYPE_SH7206=y | |||
97 | # CONFIG_CPU_SUBTYPE_SH7710 is not set | 138 | # CONFIG_CPU_SUBTYPE_SH7710 is not set |
98 | # CONFIG_CPU_SUBTYPE_SH7712 is not set | 139 | # CONFIG_CPU_SUBTYPE_SH7712 is not set |
99 | # CONFIG_CPU_SUBTYPE_SH7720 is not set | 140 | # CONFIG_CPU_SUBTYPE_SH7720 is not set |
141 | # CONFIG_CPU_SUBTYPE_SH7721 is not set | ||
100 | # CONFIG_CPU_SUBTYPE_SH7750 is not set | 142 | # CONFIG_CPU_SUBTYPE_SH7750 is not set |
101 | # CONFIG_CPU_SUBTYPE_SH7091 is not set | 143 | # CONFIG_CPU_SUBTYPE_SH7091 is not set |
102 | # CONFIG_CPU_SUBTYPE_SH7750R is not set | 144 | # CONFIG_CPU_SUBTYPE_SH7750R is not set |
@@ -105,14 +147,17 @@ CONFIG_CPU_SUBTYPE_SH7206=y | |||
105 | # CONFIG_CPU_SUBTYPE_SH7751R is not set | 147 | # CONFIG_CPU_SUBTYPE_SH7751R is not set |
106 | # CONFIG_CPU_SUBTYPE_SH7760 is not set | 148 | # CONFIG_CPU_SUBTYPE_SH7760 is not set |
107 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set | 149 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set |
108 | # CONFIG_CPU_SUBTYPE_ST40STB1 is not set | 150 | # CONFIG_CPU_SUBTYPE_SH7723 is not set |
109 | # CONFIG_CPU_SUBTYPE_ST40GX1 is not set | 151 | # CONFIG_CPU_SUBTYPE_SH7763 is not set |
110 | # CONFIG_CPU_SUBTYPE_SH7770 is not set | 152 | # CONFIG_CPU_SUBTYPE_SH7770 is not set |
111 | # CONFIG_CPU_SUBTYPE_SH7780 is not set | 153 | # CONFIG_CPU_SUBTYPE_SH7780 is not set |
112 | # CONFIG_CPU_SUBTYPE_SH7785 is not set | 154 | # CONFIG_CPU_SUBTYPE_SH7785 is not set |
113 | # CONFIG_CPU_SUBTYPE_SHX3 is not set | 155 | # CONFIG_CPU_SUBTYPE_SHX3 is not set |
114 | # CONFIG_CPU_SUBTYPE_SH7343 is not set | 156 | # CONFIG_CPU_SUBTYPE_SH7343 is not set |
115 | # CONFIG_CPU_SUBTYPE_SH7722 is not set | 157 | # CONFIG_CPU_SUBTYPE_SH7722 is not set |
158 | # CONFIG_CPU_SUBTYPE_SH7366 is not set | ||
159 | # CONFIG_CPU_SUBTYPE_SH5_101 is not set | ||
160 | # CONFIG_CPU_SUBTYPE_SH5_103 is not set | ||
116 | 161 | ||
117 | # | 162 | # |
118 | # Memory management options | 163 | # Memory management options |
@@ -121,23 +166,25 @@ CONFIG_QUICKLIST=y | |||
121 | CONFIG_PAGE_OFFSET=0x00000000 | 166 | CONFIG_PAGE_OFFSET=0x00000000 |
122 | CONFIG_MEMORY_START=0x0c000000 | 167 | CONFIG_MEMORY_START=0x0c000000 |
123 | CONFIG_MEMORY_SIZE=0x04000000 | 168 | CONFIG_MEMORY_SIZE=0x04000000 |
169 | CONFIG_29BIT=y | ||
124 | CONFIG_ARCH_FLATMEM_ENABLE=y | 170 | CONFIG_ARCH_FLATMEM_ENABLE=y |
125 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | 171 | CONFIG_ARCH_SPARSEMEM_ENABLE=y |
126 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y | 172 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y |
127 | CONFIG_MAX_ACTIVE_REGIONS=1 | 173 | CONFIG_MAX_ACTIVE_REGIONS=1 |
128 | CONFIG_ARCH_POPULATES_NODE_MAP=y | 174 | CONFIG_ARCH_POPULATES_NODE_MAP=y |
129 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | 175 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y |
130 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||
131 | CONFIG_PAGE_SIZE_4KB=y | 176 | CONFIG_PAGE_SIZE_4KB=y |
132 | # CONFIG_PAGE_SIZE_8KB is not set | 177 | # CONFIG_PAGE_SIZE_8KB is not set |
133 | # CONFIG_PAGE_SIZE_64KB is not set | 178 | # CONFIG_PAGE_SIZE_64KB is not set |
134 | CONFIG_SELECT_MEMORY_MODEL=y | 179 | CONFIG_SELECT_MEMORY_MODEL=y |
135 | # CONFIG_FLATMEM_MANUAL is not set | 180 | CONFIG_FLATMEM_MANUAL=y |
136 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 181 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
137 | CONFIG_SPARSEMEM_MANUAL=y | 182 | # CONFIG_SPARSEMEM_MANUAL is not set |
138 | CONFIG_SPARSEMEM=y | 183 | CONFIG_FLATMEM=y |
139 | CONFIG_HAVE_MEMORY_PRESENT=y | 184 | CONFIG_FLAT_NODE_MEM_MAP=y |
140 | CONFIG_SPARSEMEM_STATIC=y | 185 | CONFIG_SPARSEMEM_STATIC=y |
186 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
187 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
141 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 188 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
142 | # CONFIG_RESOURCES_64BIT is not set | 189 | # CONFIG_RESOURCES_64BIT is not set |
143 | CONFIG_ZONE_DMA_FLAG=0 | 190 | CONFIG_ZONE_DMA_FLAG=0 |
@@ -183,13 +230,16 @@ CONFIG_CPU_FREQ_TABLE=y | |||
183 | CONFIG_CPU_FREQ_STAT=y | 230 | CONFIG_CPU_FREQ_STAT=y |
184 | # CONFIG_CPU_FREQ_STAT_DETAILS is not set | 231 | # CONFIG_CPU_FREQ_STAT_DETAILS is not set |
185 | CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y | 232 | CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y |
233 | # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set | ||
186 | # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set | 234 | # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set |
235 | # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set | ||
236 | # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set | ||
187 | CONFIG_CPU_FREQ_GOV_PERFORMANCE=y | 237 | CONFIG_CPU_FREQ_GOV_PERFORMANCE=y |
188 | # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set | 238 | # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set |
189 | # CONFIG_CPU_FREQ_GOV_USERSPACE is not set | 239 | # CONFIG_CPU_FREQ_GOV_USERSPACE is not set |
190 | # CONFIG_CPU_FREQ_GOV_ONDEMAND is not set | 240 | # CONFIG_CPU_FREQ_GOV_ONDEMAND is not set |
191 | # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set | 241 | # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set |
192 | # CONFIG_SH_CPU_FREQ is not set | 242 | CONFIG_SH_CPU_FREQ=y |
193 | 243 | ||
194 | # | 244 | # |
195 | # DMA support | 245 | # DMA support |
@@ -213,11 +263,15 @@ CONFIG_HEARTBEAT=y | |||
213 | # CONFIG_HZ_300 is not set | 263 | # CONFIG_HZ_300 is not set |
214 | CONFIG_HZ_1000=y | 264 | CONFIG_HZ_1000=y |
215 | CONFIG_HZ=1000 | 265 | CONFIG_HZ=1000 |
216 | # CONFIG_KEXEC is not set | 266 | # CONFIG_SCHED_HRTICK is not set |
267 | CONFIG_KEXEC=y | ||
217 | # CONFIG_CRASH_DUMP is not set | 268 | # CONFIG_CRASH_DUMP is not set |
218 | CONFIG_PREEMPT_NONE=y | 269 | # CONFIG_PREEMPT_NONE is not set |
219 | # CONFIG_PREEMPT_VOLUNTARY is not set | 270 | # CONFIG_PREEMPT_VOLUNTARY is not set |
220 | # CONFIG_PREEMPT is not set | 271 | CONFIG_PREEMPT=y |
272 | CONFIG_PREEMPT_RCU=y | ||
273 | CONFIG_RCU_TRACE=y | ||
274 | CONFIG_GUSA=y | ||
221 | 275 | ||
222 | # | 276 | # |
223 | # Boot options | 277 | # Boot options |
@@ -225,25 +279,25 @@ CONFIG_PREEMPT_NONE=y | |||
225 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 | 279 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 |
226 | CONFIG_BOOT_LINK_OFFSET=0x00800000 | 280 | CONFIG_BOOT_LINK_OFFSET=0x00800000 |
227 | CONFIG_CMDLINE_BOOL=y | 281 | CONFIG_CMDLINE_BOOL=y |
228 | CONFIG_CMDLINE="console=ttySC3,115200 earlyprintk=serial ignore_loglevel" | 282 | CONFIG_CMDLINE="console=ttySC3,115200 ignore_loglevel earlyprintk=serial" |
229 | 283 | ||
230 | # | 284 | # |
231 | # Bus options | 285 | # Bus options |
232 | # | 286 | # |
233 | # CONFIG_CF_ENABLER is not set | 287 | CONFIG_CF_ENABLER=y |
288 | # CONFIG_CF_AREA5 is not set | ||
289 | CONFIG_CF_AREA6=y | ||
290 | CONFIG_CF_BASE_ADDR=0xb8000000 | ||
234 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 291 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
235 | 292 | # CONFIG_PCCARD is not set | |
236 | # | ||
237 | # PCCARD (PCMCIA/CardBus) support | ||
238 | # | ||
239 | 293 | ||
240 | # | 294 | # |
241 | # Executable file formats | 295 | # Executable file formats |
242 | # | 296 | # |
243 | CONFIG_BINFMT_FLAT=y | 297 | CONFIG_BINFMT_FLAT=y |
244 | CONFIG_BINFMT_ZFLAT=y | 298 | CONFIG_BINFMT_ZFLAT=y |
245 | # CONFIG_BINFMT_SHARED_FLAT is not set | 299 | CONFIG_BINFMT_SHARED_FLAT=y |
246 | # CONFIG_BINFMT_MISC is not set | 300 | CONFIG_BINFMT_MISC=y |
247 | 301 | ||
248 | # | 302 | # |
249 | # Networking | 303 | # Networking |
@@ -253,14 +307,24 @@ CONFIG_NET=y | |||
253 | # | 307 | # |
254 | # Networking options | 308 | # Networking options |
255 | # | 309 | # |
256 | # CONFIG_PACKET is not set | 310 | CONFIG_PACKET=y |
257 | # CONFIG_UNIX is not set | 311 | # CONFIG_PACKET_MMAP is not set |
258 | # CONFIG_NET_KEY is not set | 312 | CONFIG_UNIX=y |
313 | CONFIG_XFRM=y | ||
314 | # CONFIG_XFRM_USER is not set | ||
315 | # CONFIG_XFRM_SUB_POLICY is not set | ||
316 | # CONFIG_XFRM_MIGRATE is not set | ||
317 | # CONFIG_XFRM_STATISTICS is not set | ||
318 | CONFIG_NET_KEY=y | ||
319 | # CONFIG_NET_KEY_MIGRATE is not set | ||
259 | CONFIG_INET=y | 320 | CONFIG_INET=y |
260 | # CONFIG_IP_MULTICAST is not set | 321 | # CONFIG_IP_MULTICAST is not set |
261 | # CONFIG_IP_ADVANCED_ROUTER is not set | 322 | # CONFIG_IP_ADVANCED_ROUTER is not set |
262 | CONFIG_IP_FIB_HASH=y | 323 | CONFIG_IP_FIB_HASH=y |
263 | # CONFIG_IP_PNP is not set | 324 | CONFIG_IP_PNP=y |
325 | CONFIG_IP_PNP_DHCP=y | ||
326 | # CONFIG_IP_PNP_BOOTP is not set | ||
327 | # CONFIG_IP_PNP_RARP is not set | ||
264 | # CONFIG_NET_IPIP is not set | 328 | # CONFIG_NET_IPIP is not set |
265 | # CONFIG_NET_IPGRE is not set | 329 | # CONFIG_NET_IPGRE is not set |
266 | # CONFIG_ARPD is not set | 330 | # CONFIG_ARPD is not set |
@@ -273,14 +337,13 @@ CONFIG_IP_FIB_HASH=y | |||
273 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set | 337 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set |
274 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set | 338 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set |
275 | # CONFIG_INET_XFRM_MODE_BEET is not set | 339 | # CONFIG_INET_XFRM_MODE_BEET is not set |
340 | # CONFIG_INET_LRO is not set | ||
276 | # CONFIG_INET_DIAG is not set | 341 | # CONFIG_INET_DIAG is not set |
277 | # CONFIG_TCP_CONG_ADVANCED is not set | 342 | # CONFIG_TCP_CONG_ADVANCED is not set |
278 | CONFIG_TCP_CONG_CUBIC=y | 343 | CONFIG_TCP_CONG_CUBIC=y |
279 | CONFIG_DEFAULT_TCP_CONG="cubic" | 344 | CONFIG_DEFAULT_TCP_CONG="cubic" |
280 | # CONFIG_TCP_MD5SIG is not set | 345 | # CONFIG_TCP_MD5SIG is not set |
281 | # CONFIG_IPV6 is not set | 346 | # CONFIG_IPV6 is not set |
282 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
283 | # CONFIG_INET6_TUNNEL is not set | ||
284 | # CONFIG_NETWORK_SECMARK is not set | 347 | # CONFIG_NETWORK_SECMARK is not set |
285 | # CONFIG_NETFILTER is not set | 348 | # CONFIG_NETFILTER is not set |
286 | # CONFIG_IP_DCCP is not set | 349 | # CONFIG_IP_DCCP is not set |
@@ -297,10 +360,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
297 | # CONFIG_LAPB is not set | 360 | # CONFIG_LAPB is not set |
298 | # CONFIG_ECONET is not set | 361 | # CONFIG_ECONET is not set |
299 | # CONFIG_WAN_ROUTER is not set | 362 | # CONFIG_WAN_ROUTER is not set |
300 | |||
301 | # | ||
302 | # QoS and/or fair queueing | ||
303 | # | ||
304 | # CONFIG_NET_SCHED is not set | 363 | # CONFIG_NET_SCHED is not set |
305 | 364 | ||
306 | # | 365 | # |
@@ -308,6 +367,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
308 | # | 367 | # |
309 | # CONFIG_NET_PKTGEN is not set | 368 | # CONFIG_NET_PKTGEN is not set |
310 | # CONFIG_HAMRADIO is not set | 369 | # CONFIG_HAMRADIO is not set |
370 | # CONFIG_CAN is not set | ||
311 | # CONFIG_IRDA is not set | 371 | # CONFIG_IRDA is not set |
312 | # CONFIG_BT is not set | 372 | # CONFIG_BT is not set |
313 | # CONFIG_AF_RXRPC is not set | 373 | # CONFIG_AF_RXRPC is not set |
@@ -329,8 +389,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
329 | # | 389 | # |
330 | # Generic Driver Options | 390 | # Generic Driver Options |
331 | # | 391 | # |
392 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
332 | # CONFIG_STANDALONE is not set | 393 | # CONFIG_STANDALONE is not set |
333 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set | 394 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set |
395 | # CONFIG_FW_LOADER is not set | ||
334 | # CONFIG_DEBUG_DRIVER is not set | 396 | # CONFIG_DEBUG_DRIVER is not set |
335 | # CONFIG_DEBUG_DEVRES is not set | 397 | # CONFIG_DEBUG_DEVRES is not set |
336 | # CONFIG_SYS_HYPERVISOR is not set | 398 | # CONFIG_SYS_HYPERVISOR is not set |
@@ -339,11 +401,9 @@ CONFIG_MTD=y | |||
339 | # CONFIG_MTD_DEBUG is not set | 401 | # CONFIG_MTD_DEBUG is not set |
340 | CONFIG_MTD_CONCAT=y | 402 | CONFIG_MTD_CONCAT=y |
341 | CONFIG_MTD_PARTITIONS=y | 403 | CONFIG_MTD_PARTITIONS=y |
342 | CONFIG_MTD_REDBOOT_PARTS=y | 404 | # CONFIG_MTD_REDBOOT_PARTS is not set |
343 | CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 | ||
344 | # CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set | ||
345 | # CONFIG_MTD_REDBOOT_PARTS_READONLY is not set | ||
346 | # CONFIG_MTD_CMDLINE_PARTS is not set | 405 | # CONFIG_MTD_CMDLINE_PARTS is not set |
406 | # CONFIG_MTD_AR7_PARTS is not set | ||
347 | 407 | ||
348 | # | 408 | # |
349 | # User Modules And Translation Layers | 409 | # User Modules And Translation Layers |
@@ -356,6 +416,7 @@ CONFIG_MTD_BLOCK=y | |||
356 | # CONFIG_INFTL is not set | 416 | # CONFIG_INFTL is not set |
357 | # CONFIG_RFD_FTL is not set | 417 | # CONFIG_RFD_FTL is not set |
358 | # CONFIG_SSFDC is not set | 418 | # CONFIG_SSFDC is not set |
419 | # CONFIG_MTD_OOPS is not set | ||
359 | 420 | ||
360 | # | 421 | # |
361 | # RAM/ROM/Flash chip drivers | 422 | # RAM/ROM/Flash chip drivers |
@@ -390,7 +451,6 @@ CONFIG_MTD_PHYSMAP=y | |||
390 | CONFIG_MTD_PHYSMAP_START=0x20000000 | 451 | CONFIG_MTD_PHYSMAP_START=0x20000000 |
391 | CONFIG_MTD_PHYSMAP_LEN=0x01000000 | 452 | CONFIG_MTD_PHYSMAP_LEN=0x01000000 |
392 | CONFIG_MTD_PHYSMAP_BANKWIDTH=4 | 453 | CONFIG_MTD_PHYSMAP_BANKWIDTH=4 |
393 | # CONFIG_MTD_SOLUTIONENGINE is not set | ||
394 | # CONFIG_MTD_UCLINUX is not set | 454 | # CONFIG_MTD_UCLINUX is not set |
395 | # CONFIG_MTD_PLATRAM is not set | 455 | # CONFIG_MTD_PLATRAM is not set |
396 | 456 | ||
@@ -418,13 +478,19 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=4 | |||
418 | # CONFIG_PARPORT is not set | 478 | # CONFIG_PARPORT is not set |
419 | CONFIG_BLK_DEV=y | 479 | CONFIG_BLK_DEV=y |
420 | # CONFIG_BLK_DEV_COW_COMMON is not set | 480 | # CONFIG_BLK_DEV_COW_COMMON is not set |
421 | # CONFIG_BLK_DEV_LOOP is not set | 481 | CONFIG_BLK_DEV_LOOP=y |
482 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
422 | # CONFIG_BLK_DEV_NBD is not set | 483 | # CONFIG_BLK_DEV_NBD is not set |
423 | # CONFIG_BLK_DEV_RAM is not set | 484 | CONFIG_BLK_DEV_RAM=y |
485 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
486 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
487 | # CONFIG_BLK_DEV_XIP is not set | ||
424 | # CONFIG_CDROM_PKTCDVD is not set | 488 | # CONFIG_CDROM_PKTCDVD is not set |
425 | # CONFIG_ATA_OVER_ETH is not set | 489 | # CONFIG_ATA_OVER_ETH is not set |
426 | CONFIG_MISC_DEVICES=y | 490 | CONFIG_MISC_DEVICES=y |
427 | # CONFIG_EEPROM_93CX6 is not set | 491 | CONFIG_EEPROM_93CX6=y |
492 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
493 | CONFIG_HAVE_IDE=y | ||
428 | # CONFIG_IDE is not set | 494 | # CONFIG_IDE is not set |
429 | 495 | ||
430 | # | 496 | # |
@@ -443,23 +509,30 @@ CONFIG_NETDEVICES=y | |||
443 | # CONFIG_MACVLAN is not set | 509 | # CONFIG_MACVLAN is not set |
444 | # CONFIG_EQUALIZER is not set | 510 | # CONFIG_EQUALIZER is not set |
445 | # CONFIG_TUN is not set | 511 | # CONFIG_TUN is not set |
512 | # CONFIG_VETH is not set | ||
446 | # CONFIG_PHYLIB is not set | 513 | # CONFIG_PHYLIB is not set |
447 | CONFIG_NET_ETHERNET=y | 514 | CONFIG_NET_ETHERNET=y |
448 | CONFIG_MII=y | 515 | CONFIG_MII=y |
516 | # CONFIG_AX88796 is not set | ||
449 | # CONFIG_STNIC is not set | 517 | # CONFIG_STNIC is not set |
450 | CONFIG_SMC91X=y | 518 | CONFIG_SMC91X=y |
451 | CONFIG_NETDEV_1000=y | 519 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
452 | CONFIG_NETDEV_10000=y | 520 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
521 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
522 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
523 | # CONFIG_B44 is not set | ||
524 | # CONFIG_NETDEV_1000 is not set | ||
525 | # CONFIG_NETDEV_10000 is not set | ||
453 | 526 | ||
454 | # | 527 | # |
455 | # Wireless LAN | 528 | # Wireless LAN |
456 | # | 529 | # |
457 | # CONFIG_WLAN_PRE80211 is not set | 530 | # CONFIG_WLAN_PRE80211 is not set |
458 | # CONFIG_WLAN_80211 is not set | 531 | # CONFIG_WLAN_80211 is not set |
532 | # CONFIG_IWLWIFI_LEDS is not set | ||
459 | # CONFIG_WAN is not set | 533 | # CONFIG_WAN is not set |
460 | # CONFIG_PPP is not set | 534 | # CONFIG_PPP is not set |
461 | # CONFIG_SLIP is not set | 535 | # CONFIG_SLIP is not set |
462 | # CONFIG_SHAPER is not set | ||
463 | # CONFIG_NETCONSOLE is not set | 536 | # CONFIG_NETCONSOLE is not set |
464 | # CONFIG_NETPOLL is not set | 537 | # CONFIG_NETPOLL is not set |
465 | # CONFIG_NET_POLL_CONTROLLER is not set | 538 | # CONFIG_NET_POLL_CONTROLLER is not set |
@@ -469,28 +542,7 @@ CONFIG_NETDEV_10000=y | |||
469 | # | 542 | # |
470 | # Input device support | 543 | # Input device support |
471 | # | 544 | # |
472 | CONFIG_INPUT=y | 545 | # CONFIG_INPUT is not set |
473 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
474 | # CONFIG_INPUT_POLLDEV is not set | ||
475 | |||
476 | # | ||
477 | # Userland interfaces | ||
478 | # | ||
479 | # CONFIG_INPUT_MOUSEDEV is not set | ||
480 | # CONFIG_INPUT_JOYDEV is not set | ||
481 | # CONFIG_INPUT_TSDEV is not set | ||
482 | # CONFIG_INPUT_EVDEV is not set | ||
483 | # CONFIG_INPUT_EVBUG is not set | ||
484 | |||
485 | # | ||
486 | # Input Device Drivers | ||
487 | # | ||
488 | # CONFIG_INPUT_KEYBOARD is not set | ||
489 | # CONFIG_INPUT_MOUSE is not set | ||
490 | # CONFIG_INPUT_JOYSTICK is not set | ||
491 | # CONFIG_INPUT_TABLET is not set | ||
492 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
493 | # CONFIG_INPUT_MISC is not set | ||
494 | 546 | ||
495 | # | 547 | # |
496 | # Hardware I/O ports | 548 | # Hardware I/O ports |
@@ -502,6 +554,7 @@ CONFIG_INPUT=y | |||
502 | # Character devices | 554 | # Character devices |
503 | # | 555 | # |
504 | # CONFIG_VT is not set | 556 | # CONFIG_VT is not set |
557 | # CONFIG_DEVKMEM is not set | ||
505 | # CONFIG_SERIAL_NONSTANDARD is not set | 558 | # CONFIG_SERIAL_NONSTANDARD is not set |
506 | 559 | ||
507 | # | 560 | # |
@@ -520,106 +573,119 @@ CONFIG_SERIAL_CORE_CONSOLE=y | |||
520 | # CONFIG_UNIX98_PTYS is not set | 573 | # CONFIG_UNIX98_PTYS is not set |
521 | # CONFIG_LEGACY_PTYS is not set | 574 | # CONFIG_LEGACY_PTYS is not set |
522 | # CONFIG_IPMI_HANDLER is not set | 575 | # CONFIG_IPMI_HANDLER is not set |
523 | # CONFIG_WATCHDOG is not set | ||
524 | # CONFIG_HW_RANDOM is not set | 576 | # CONFIG_HW_RANDOM is not set |
525 | # CONFIG_R3964 is not set | 577 | # CONFIG_R3964 is not set |
526 | # CONFIG_RAW_DRIVER is not set | 578 | # CONFIG_RAW_DRIVER is not set |
527 | # CONFIG_TCG_TPM is not set | 579 | # CONFIG_TCG_TPM is not set |
528 | # CONFIG_I2C is not set | 580 | # CONFIG_I2C is not set |
529 | |||
530 | # | ||
531 | # SPI support | ||
532 | # | ||
533 | # CONFIG_SPI is not set | 581 | # CONFIG_SPI is not set |
534 | # CONFIG_SPI_MASTER is not set | ||
535 | # CONFIG_W1 is not set | 582 | # CONFIG_W1 is not set |
536 | # CONFIG_POWER_SUPPLY is not set | 583 | # CONFIG_POWER_SUPPLY is not set |
537 | # CONFIG_HWMON is not set | 584 | # CONFIG_HWMON is not set |
585 | # CONFIG_THERMAL is not set | ||
586 | # CONFIG_WATCHDOG is not set | ||
587 | |||
588 | # | ||
589 | # Sonics Silicon Backplane | ||
590 | # | ||
591 | CONFIG_SSB_POSSIBLE=y | ||
592 | # CONFIG_SSB is not set | ||
538 | 593 | ||
539 | # | 594 | # |
540 | # Multifunction device drivers | 595 | # Multifunction device drivers |
541 | # | 596 | # |
542 | # CONFIG_MFD_SM501 is not set | 597 | # CONFIG_MFD_SM501 is not set |
598 | # CONFIG_HTC_PASIC3 is not set | ||
543 | 599 | ||
544 | # | 600 | # |
545 | # Multimedia devices | 601 | # Multimedia devices |
546 | # | 602 | # |
603 | |||
604 | # | ||
605 | # Multimedia core support | ||
606 | # | ||
547 | # CONFIG_VIDEO_DEV is not set | 607 | # CONFIG_VIDEO_DEV is not set |
548 | # CONFIG_DVB_CORE is not set | 608 | # CONFIG_DVB_CORE is not set |
549 | CONFIG_DAB=y | 609 | # CONFIG_VIDEO_MEDIA is not set |
610 | |||
611 | # | ||
612 | # Multimedia drivers | ||
613 | # | ||
614 | # CONFIG_DAB is not set | ||
550 | 615 | ||
551 | # | 616 | # |
552 | # Graphics support | 617 | # Graphics support |
553 | # | 618 | # |
619 | # CONFIG_VGASTATE is not set | ||
620 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
621 | # CONFIG_FB is not set | ||
554 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 622 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
555 | 623 | ||
556 | # | 624 | # |
557 | # Display device support | 625 | # Display device support |
558 | # | 626 | # |
559 | # CONFIG_DISPLAY_SUPPORT is not set | 627 | # CONFIG_DISPLAY_SUPPORT is not set |
560 | # CONFIG_VGASTATE is not set | ||
561 | CONFIG_VIDEO_OUTPUT_CONTROL=y | ||
562 | # CONFIG_FB is not set | ||
563 | 628 | ||
564 | # | 629 | # |
565 | # Sound | 630 | # Sound |
566 | # | 631 | # |
567 | # CONFIG_SOUND is not set | 632 | # CONFIG_SOUND is not set |
568 | CONFIG_HID_SUPPORT=y | 633 | # CONFIG_USB_SUPPORT is not set |
569 | CONFIG_HID=y | ||
570 | # CONFIG_HID_DEBUG is not set | ||
571 | CONFIG_USB_SUPPORT=y | ||
572 | CONFIG_USB_ARCH_HAS_HCD=y | ||
573 | # CONFIG_USB_ARCH_HAS_OHCI is not set | ||
574 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
575 | # CONFIG_USB is not set | ||
576 | |||
577 | # | ||
578 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
579 | # | ||
580 | |||
581 | # | ||
582 | # USB Gadget Support | ||
583 | # | ||
584 | # CONFIG_USB_GADGET is not set | ||
585 | # CONFIG_MMC is not set | 634 | # CONFIG_MMC is not set |
635 | # CONFIG_MEMSTICK is not set | ||
586 | # CONFIG_NEW_LEDS is not set | 636 | # CONFIG_NEW_LEDS is not set |
587 | # CONFIG_RTC_CLASS is not set | 637 | # CONFIG_ACCESSIBILITY is not set |
638 | CONFIG_RTC_LIB=y | ||
639 | CONFIG_RTC_CLASS=y | ||
640 | CONFIG_RTC_HCTOSYS=y | ||
641 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
642 | # CONFIG_RTC_DEBUG is not set | ||
588 | 643 | ||
589 | # | 644 | # |
590 | # DMA Engine support | 645 | # RTC interfaces |
591 | # | 646 | # |
592 | # CONFIG_DMA_ENGINE is not set | 647 | CONFIG_RTC_INTF_SYSFS=y |
648 | CONFIG_RTC_INTF_PROC=y | ||
649 | CONFIG_RTC_INTF_DEV=y | ||
650 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
651 | # CONFIG_RTC_DRV_TEST is not set | ||
593 | 652 | ||
594 | # | 653 | # |
595 | # DMA Clients | 654 | # SPI RTC drivers |
596 | # | 655 | # |
597 | 656 | ||
598 | # | 657 | # |
599 | # DMA Devices | 658 | # Platform RTC drivers |
600 | # | 659 | # |
660 | # CONFIG_RTC_DRV_DS1511 is not set | ||
661 | # CONFIG_RTC_DRV_DS1553 is not set | ||
662 | # CONFIG_RTC_DRV_DS1742 is not set | ||
663 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
664 | # CONFIG_RTC_DRV_M48T86 is not set | ||
665 | # CONFIG_RTC_DRV_M48T59 is not set | ||
666 | # CONFIG_RTC_DRV_V3020 is not set | ||
601 | 667 | ||
602 | # | 668 | # |
603 | # Userspace I/O | 669 | # on-CPU RTC drivers |
604 | # | 670 | # |
671 | CONFIG_RTC_DRV_SH=y | ||
605 | # CONFIG_UIO is not set | 672 | # CONFIG_UIO is not set |
606 | 673 | ||
607 | # | 674 | # |
608 | # File systems | 675 | # File systems |
609 | # | 676 | # |
610 | # CONFIG_EXT2_FS is not set | 677 | CONFIG_EXT2_FS=y |
678 | # CONFIG_EXT2_FS_XATTR is not set | ||
611 | # CONFIG_EXT3_FS is not set | 679 | # CONFIG_EXT3_FS is not set |
612 | # CONFIG_EXT4DEV_FS is not set | 680 | # CONFIG_EXT4DEV_FS is not set |
613 | # CONFIG_REISERFS_FS is not set | 681 | # CONFIG_REISERFS_FS is not set |
614 | # CONFIG_JFS_FS is not set | 682 | # CONFIG_JFS_FS is not set |
615 | # CONFIG_FS_POSIX_ACL is not set | 683 | # CONFIG_FS_POSIX_ACL is not set |
616 | # CONFIG_XFS_FS is not set | 684 | # CONFIG_XFS_FS is not set |
617 | # CONFIG_GFS2_FS is not set | 685 | # CONFIG_OCFS2_FS is not set |
618 | # CONFIG_MINIX_FS is not set | 686 | # CONFIG_DNOTIFY is not set |
619 | CONFIG_ROMFS_FS=y | ||
620 | # CONFIG_INOTIFY is not set | 687 | # CONFIG_INOTIFY is not set |
621 | # CONFIG_QUOTA is not set | 688 | # CONFIG_QUOTA is not set |
622 | # CONFIG_DNOTIFY is not set | ||
623 | # CONFIG_AUTOFS_FS is not set | 689 | # CONFIG_AUTOFS_FS is not set |
624 | # CONFIG_AUTOFS4_FS is not set | 690 | # CONFIG_AUTOFS4_FS is not set |
625 | # CONFIG_FUSE_FS is not set | 691 | # CONFIG_FUSE_FS is not set |
@@ -642,10 +708,11 @@ CONFIG_ROMFS_FS=y | |||
642 | # | 708 | # |
643 | CONFIG_PROC_FS=y | 709 | CONFIG_PROC_FS=y |
644 | CONFIG_PROC_SYSCTL=y | 710 | CONFIG_PROC_SYSCTL=y |
645 | # CONFIG_SYSFS is not set | 711 | CONFIG_SYSFS=y |
646 | # CONFIG_TMPFS is not set | 712 | CONFIG_TMPFS=y |
713 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
647 | # CONFIG_HUGETLB_PAGE is not set | 714 | # CONFIG_HUGETLB_PAGE is not set |
648 | CONFIG_RAMFS=y | 715 | CONFIG_CONFIGFS_FS=y |
649 | 716 | ||
650 | # | 717 | # |
651 | # Miscellaneous filesystems | 718 | # Miscellaneous filesystems |
@@ -658,18 +725,28 @@ CONFIG_RAMFS=y | |||
658 | # CONFIG_BFS_FS is not set | 725 | # CONFIG_BFS_FS is not set |
659 | # CONFIG_EFS_FS is not set | 726 | # CONFIG_EFS_FS is not set |
660 | # CONFIG_JFFS2_FS is not set | 727 | # CONFIG_JFFS2_FS is not set |
661 | # CONFIG_CRAMFS is not set | 728 | CONFIG_CRAMFS=y |
662 | # CONFIG_VXFS_FS is not set | 729 | # CONFIG_VXFS_FS is not set |
730 | # CONFIG_MINIX_FS is not set | ||
663 | # CONFIG_HPFS_FS is not set | 731 | # CONFIG_HPFS_FS is not set |
664 | # CONFIG_QNX4FS_FS is not set | 732 | # CONFIG_QNX4FS_FS is not set |
733 | CONFIG_ROMFS_FS=y | ||
665 | # CONFIG_SYSV_FS is not set | 734 | # CONFIG_SYSV_FS is not set |
666 | # CONFIG_UFS_FS is not set | 735 | # CONFIG_UFS_FS is not set |
667 | 736 | CONFIG_NETWORK_FILESYSTEMS=y | |
668 | # | 737 | CONFIG_NFS_FS=y |
669 | # Network File Systems | 738 | CONFIG_NFS_V3=y |
670 | # | 739 | # CONFIG_NFS_V3_ACL is not set |
671 | # CONFIG_NFS_FS is not set | 740 | # CONFIG_NFS_V4 is not set |
672 | # CONFIG_NFSD is not set | 741 | # CONFIG_NFSD is not set |
742 | CONFIG_ROOT_NFS=y | ||
743 | CONFIG_LOCKD=y | ||
744 | CONFIG_LOCKD_V4=y | ||
745 | CONFIG_NFS_COMMON=y | ||
746 | CONFIG_SUNRPC=y | ||
747 | # CONFIG_SUNRPC_BIND34 is not set | ||
748 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
749 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
673 | # CONFIG_SMB_FS is not set | 750 | # CONFIG_SMB_FS is not set |
674 | # CONFIG_CIFS is not set | 751 | # CONFIG_CIFS is not set |
675 | # CONFIG_NCP_FS is not set | 752 | # CONFIG_NCP_FS is not set |
@@ -681,30 +758,20 @@ CONFIG_RAMFS=y | |||
681 | # | 758 | # |
682 | # CONFIG_PARTITION_ADVANCED is not set | 759 | # CONFIG_PARTITION_ADVANCED is not set |
683 | CONFIG_MSDOS_PARTITION=y | 760 | CONFIG_MSDOS_PARTITION=y |
684 | |||
685 | # | ||
686 | # Native Language Support | ||
687 | # | ||
688 | # CONFIG_NLS is not set | 761 | # CONFIG_NLS is not set |
689 | 762 | # CONFIG_DLM is not set | |
690 | # | ||
691 | # Distributed Lock Manager | ||
692 | # | ||
693 | |||
694 | # | ||
695 | # Profiling support | ||
696 | # | ||
697 | CONFIG_PROFILING=y | ||
698 | # CONFIG_OPROFILE is not set | ||
699 | 763 | ||
700 | # | 764 | # |
701 | # Kernel hacking | 765 | # Kernel hacking |
702 | # | 766 | # |
703 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | 767 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y |
704 | # CONFIG_PRINTK_TIME is not set | 768 | # CONFIG_PRINTK_TIME is not set |
769 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
705 | # CONFIG_ENABLE_MUST_CHECK is not set | 770 | # CONFIG_ENABLE_MUST_CHECK is not set |
771 | CONFIG_FRAME_WARN=1024 | ||
706 | # CONFIG_MAGIC_SYSRQ is not set | 772 | # CONFIG_MAGIC_SYSRQ is not set |
707 | # CONFIG_UNUSED_SYMBOLS is not set | 773 | # CONFIG_UNUSED_SYMBOLS is not set |
774 | CONFIG_DEBUG_FS=y | ||
708 | # CONFIG_HEADERS_CHECK is not set | 775 | # CONFIG_HEADERS_CHECK is not set |
709 | CONFIG_DEBUG_KERNEL=y | 776 | CONFIG_DEBUG_KERNEL=y |
710 | # CONFIG_DEBUG_SHIRQ is not set | 777 | # CONFIG_DEBUG_SHIRQ is not set |
@@ -712,7 +779,10 @@ CONFIG_DETECT_SOFTLOCKUP=y | |||
712 | CONFIG_SCHED_DEBUG=y | 779 | CONFIG_SCHED_DEBUG=y |
713 | # CONFIG_SCHEDSTATS is not set | 780 | # CONFIG_SCHEDSTATS is not set |
714 | # CONFIG_TIMER_STATS is not set | 781 | # CONFIG_TIMER_STATS is not set |
715 | CONFIG_SLUB_DEBUG_ON=y | 782 | # CONFIG_DEBUG_OBJECTS is not set |
783 | CONFIG_DEBUG_PREEMPT=y | ||
784 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
785 | # CONFIG_RT_MUTEX_TESTER is not set | ||
716 | # CONFIG_DEBUG_SPINLOCK is not set | 786 | # CONFIG_DEBUG_SPINLOCK is not set |
717 | # CONFIG_DEBUG_MUTEXES is not set | 787 | # CONFIG_DEBUG_MUTEXES is not set |
718 | # CONFIG_DEBUG_LOCK_ALLOC is not set | 788 | # CONFIG_DEBUG_LOCK_ALLOC is not set |
@@ -722,38 +792,123 @@ CONFIG_DEBUG_SPINLOCK_SLEEP=y | |||
722 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 792 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
723 | # CONFIG_DEBUG_KOBJECT is not set | 793 | # CONFIG_DEBUG_KOBJECT is not set |
724 | CONFIG_DEBUG_BUGVERBOSE=y | 794 | CONFIG_DEBUG_BUGVERBOSE=y |
725 | CONFIG_DEBUG_INFO=y | 795 | # CONFIG_DEBUG_INFO is not set |
726 | # CONFIG_DEBUG_VM is not set | 796 | CONFIG_DEBUG_VM=y |
727 | # CONFIG_DEBUG_LIST is not set | 797 | # CONFIG_DEBUG_WRITECOUNT is not set |
798 | CONFIG_DEBUG_LIST=y | ||
799 | # CONFIG_DEBUG_SG is not set | ||
728 | CONFIG_FRAME_POINTER=y | 800 | CONFIG_FRAME_POINTER=y |
729 | CONFIG_FORCED_INLINING=y | 801 | # CONFIG_BOOT_PRINTK_DELAY is not set |
802 | # CONFIG_RCU_TORTURE_TEST is not set | ||
803 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
730 | # CONFIG_FAULT_INJECTION is not set | 804 | # CONFIG_FAULT_INJECTION is not set |
805 | # CONFIG_SAMPLES is not set | ||
731 | # CONFIG_SH_STANDARD_BIOS is not set | 806 | # CONFIG_SH_STANDARD_BIOS is not set |
732 | CONFIG_EARLY_SCIF_CONSOLE=y | 807 | # CONFIG_EARLY_SCIF_CONSOLE is not set |
733 | CONFIG_EARLY_SCIF_CONSOLE_PORT=0xfffe9800 | ||
734 | CONFIG_EARLY_PRINTK=y | ||
735 | # CONFIG_DEBUG_BOOTMEM is not set | 808 | # CONFIG_DEBUG_BOOTMEM is not set |
736 | CONFIG_DEBUG_STACKOVERFLOW=y | 809 | CONFIG_DEBUG_STACKOVERFLOW=y |
737 | CONFIG_DEBUG_STACK_USAGE=y | 810 | CONFIG_DEBUG_STACK_USAGE=y |
738 | # CONFIG_4KSTACKS is not set | 811 | # CONFIG_IRQSTACKS is not set |
739 | 812 | ||
740 | # | 813 | # |
741 | # Security options | 814 | # Security options |
742 | # | 815 | # |
743 | # CONFIG_KEYS is not set | 816 | # CONFIG_KEYS is not set |
744 | # CONFIG_CRYPTO is not set | 817 | # CONFIG_SECURITY is not set |
818 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
819 | CONFIG_CRYPTO=y | ||
820 | |||
821 | # | ||
822 | # Crypto core or helper | ||
823 | # | ||
824 | CONFIG_CRYPTO_ALGAPI=y | ||
825 | # CONFIG_CRYPTO_MANAGER is not set | ||
826 | # CONFIG_CRYPTO_GF128MUL is not set | ||
827 | # CONFIG_CRYPTO_NULL is not set | ||
828 | # CONFIG_CRYPTO_CRYPTD is not set | ||
829 | # CONFIG_CRYPTO_AUTHENC is not set | ||
830 | # CONFIG_CRYPTO_TEST is not set | ||
831 | |||
832 | # | ||
833 | # Authenticated Encryption with Associated Data | ||
834 | # | ||
835 | # CONFIG_CRYPTO_CCM is not set | ||
836 | # CONFIG_CRYPTO_GCM is not set | ||
837 | # CONFIG_CRYPTO_SEQIV is not set | ||
838 | |||
839 | # | ||
840 | # Block modes | ||
841 | # | ||
842 | # CONFIG_CRYPTO_CBC is not set | ||
843 | # CONFIG_CRYPTO_CTR is not set | ||
844 | # CONFIG_CRYPTO_CTS is not set | ||
845 | # CONFIG_CRYPTO_ECB is not set | ||
846 | # CONFIG_CRYPTO_LRW is not set | ||
847 | # CONFIG_CRYPTO_PCBC is not set | ||
848 | # CONFIG_CRYPTO_XTS is not set | ||
849 | |||
850 | # | ||
851 | # Hash modes | ||
852 | # | ||
853 | # CONFIG_CRYPTO_HMAC is not set | ||
854 | # CONFIG_CRYPTO_XCBC is not set | ||
855 | |||
856 | # | ||
857 | # Digest | ||
858 | # | ||
859 | # CONFIG_CRYPTO_CRC32C is not set | ||
860 | # CONFIG_CRYPTO_MD4 is not set | ||
861 | # CONFIG_CRYPTO_MD5 is not set | ||
862 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
863 | # CONFIG_CRYPTO_SHA1 is not set | ||
864 | # CONFIG_CRYPTO_SHA256 is not set | ||
865 | # CONFIG_CRYPTO_SHA512 is not set | ||
866 | # CONFIG_CRYPTO_TGR192 is not set | ||
867 | # CONFIG_CRYPTO_WP512 is not set | ||
868 | |||
869 | # | ||
870 | # Ciphers | ||
871 | # | ||
872 | # CONFIG_CRYPTO_AES is not set | ||
873 | # CONFIG_CRYPTO_ANUBIS is not set | ||
874 | # CONFIG_CRYPTO_ARC4 is not set | ||
875 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
876 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
877 | # CONFIG_CRYPTO_CAST5 is not set | ||
878 | # CONFIG_CRYPTO_CAST6 is not set | ||
879 | # CONFIG_CRYPTO_DES is not set | ||
880 | # CONFIG_CRYPTO_FCRYPT is not set | ||
881 | # CONFIG_CRYPTO_KHAZAD is not set | ||
882 | # CONFIG_CRYPTO_SALSA20 is not set | ||
883 | # CONFIG_CRYPTO_SEED is not set | ||
884 | # CONFIG_CRYPTO_SERPENT is not set | ||
885 | # CONFIG_CRYPTO_TEA is not set | ||
886 | # CONFIG_CRYPTO_TWOFISH is not set | ||
887 | |||
888 | # | ||
889 | # Compression | ||
890 | # | ||
891 | CONFIG_CRYPTO_DEFLATE=y | ||
892 | CONFIG_CRYPTO_LZO=y | ||
893 | # CONFIG_CRYPTO_HW is not set | ||
745 | 894 | ||
746 | # | 895 | # |
747 | # Library routines | 896 | # Library routines |
748 | # | 897 | # |
749 | CONFIG_BITREVERSE=y | 898 | CONFIG_BITREVERSE=y |
750 | # CONFIG_CRC_CCITT is not set | 899 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set |
751 | # CONFIG_CRC16 is not set | 900 | CONFIG_CRC_CCITT=y |
752 | # CONFIG_CRC_ITU_T is not set | 901 | CONFIG_CRC16=y |
902 | CONFIG_CRC_ITU_T=y | ||
753 | CONFIG_CRC32=y | 903 | CONFIG_CRC32=y |
754 | # CONFIG_CRC7 is not set | 904 | CONFIG_CRC7=y |
755 | # CONFIG_LIBCRC32C is not set | 905 | CONFIG_LIBCRC32C=y |
906 | CONFIG_AUDIT_GENERIC=y | ||
756 | CONFIG_ZLIB_INFLATE=y | 907 | CONFIG_ZLIB_INFLATE=y |
908 | CONFIG_ZLIB_DEFLATE=y | ||
909 | CONFIG_LZO_COMPRESS=y | ||
910 | CONFIG_LZO_DECOMPRESS=y | ||
911 | CONFIG_PLIST=y | ||
757 | CONFIG_HAS_IOMEM=y | 912 | CONFIG_HAS_IOMEM=y |
758 | CONFIG_HAS_IOPORT=y | 913 | CONFIG_HAS_IOPORT=y |
759 | CONFIG_HAS_DMA=y | 914 | CONFIG_HAS_DMA=y |
diff --git a/arch/sh/configs/se7705_defconfig b/arch/sh/configs/se7705_defconfig index 84717d854867..490dcbc2ce33 100644 --- a/arch/sh/configs/se7705_defconfig +++ b/arch/sh/configs/se7705_defconfig | |||
@@ -239,7 +239,6 @@ CONFIG_CPU_HAS_SR_RB=y | |||
239 | # | 239 | # |
240 | CONFIG_SH_TMU=y | 240 | CONFIG_SH_TMU=y |
241 | CONFIG_SH_TIMER_IRQ=16 | 241 | CONFIG_SH_TIMER_IRQ=16 |
242 | # CONFIG_NO_IDLE_HZ is not set | ||
243 | CONFIG_SH_PCLK_FREQ=33333333 | 242 | CONFIG_SH_PCLK_FREQ=33333333 |
244 | 243 | ||
245 | # | 244 | # |
diff --git a/arch/sh/configs/se7712_defconfig b/arch/sh/configs/se7712_defconfig index 240a1cef69aa..2dd83af988f0 100644 --- a/arch/sh/configs/se7712_defconfig +++ b/arch/sh/configs/se7712_defconfig | |||
@@ -236,7 +236,6 @@ CONFIG_CPU_HAS_SR_RB=y | |||
236 | # | 236 | # |
237 | CONFIG_SH_TMU=y | 237 | CONFIG_SH_TMU=y |
238 | CONFIG_SH_TIMER_IRQ=16 | 238 | CONFIG_SH_TIMER_IRQ=16 |
239 | # CONFIG_NO_IDLE_HZ is not set | ||
240 | CONFIG_SH_PCLK_FREQ=66666666 | 239 | CONFIG_SH_PCLK_FREQ=66666666 |
241 | 240 | ||
242 | # | 241 | # |
diff --git a/arch/sh/configs/se7721_defconfig b/arch/sh/configs/se7721_defconfig new file mode 100644 index 000000000000..f3d4ca0caa46 --- /dev/null +++ b/arch/sh/configs/se7721_defconfig | |||
@@ -0,0 +1,1085 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.25-rc5 | ||
4 | # Fri Mar 21 12:05:31 2008 | ||
5 | # | ||
6 | CONFIG_SUPERH=y | ||
7 | CONFIG_SUPERH32=y | ||
8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
9 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
10 | CONFIG_GENERIC_HWEIGHT=y | ||
11 | CONFIG_GENERIC_HARDIRQS=y | ||
12 | CONFIG_GENERIC_IRQ_PROBE=y | ||
13 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
14 | CONFIG_GENERIC_TIME=y | ||
15 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
16 | CONFIG_STACKTRACE_SUPPORT=y | ||
17 | CONFIG_LOCKDEP_SUPPORT=y | ||
18 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
19 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
20 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | ||
21 | CONFIG_ARCH_SUPPORTS_AOUT=y | ||
22 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
23 | |||
24 | # | ||
25 | # General setup | ||
26 | # | ||
27 | CONFIG_EXPERIMENTAL=y | ||
28 | CONFIG_BROKEN_ON_SMP=y | ||
29 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
30 | CONFIG_LOCALVERSION="" | ||
31 | # CONFIG_LOCALVERSION_AUTO is not set | ||
32 | # CONFIG_SWAP is not set | ||
33 | CONFIG_SYSVIPC=y | ||
34 | CONFIG_SYSVIPC_SYSCTL=y | ||
35 | CONFIG_POSIX_MQUEUE=y | ||
36 | CONFIG_BSD_PROCESS_ACCT=y | ||
37 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set | ||
38 | # CONFIG_TASKSTATS is not set | ||
39 | # CONFIG_AUDIT is not set | ||
40 | # CONFIG_IKCONFIG is not set | ||
41 | CONFIG_LOG_BUF_SHIFT=14 | ||
42 | # CONFIG_CGROUPS is not set | ||
43 | CONFIG_GROUP_SCHED=y | ||
44 | CONFIG_FAIR_GROUP_SCHED=y | ||
45 | # CONFIG_RT_GROUP_SCHED is not set | ||
46 | CONFIG_USER_SCHED=y | ||
47 | # CONFIG_CGROUP_SCHED is not set | ||
48 | CONFIG_SYSFS_DEPRECATED=y | ||
49 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
50 | # CONFIG_RELAY is not set | ||
51 | # CONFIG_NAMESPACES is not set | ||
52 | # CONFIG_BLK_DEV_INITRD is not set | ||
53 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
54 | CONFIG_SYSCTL=y | ||
55 | CONFIG_EMBEDDED=y | ||
56 | CONFIG_UID16=y | ||
57 | CONFIG_SYSCTL_SYSCALL=y | ||
58 | CONFIG_KALLSYMS=y | ||
59 | CONFIG_KALLSYMS_ALL=y | ||
60 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
61 | CONFIG_HOTPLUG=y | ||
62 | CONFIG_PRINTK=y | ||
63 | # CONFIG_BUG is not set | ||
64 | CONFIG_ELF_CORE=y | ||
65 | CONFIG_COMPAT_BRK=y | ||
66 | # CONFIG_BASE_FULL is not set | ||
67 | CONFIG_FUTEX=y | ||
68 | CONFIG_ANON_INODES=y | ||
69 | CONFIG_EPOLL=y | ||
70 | CONFIG_SIGNALFD=y | ||
71 | CONFIG_TIMERFD=y | ||
72 | CONFIG_EVENTFD=y | ||
73 | # CONFIG_SHMEM is not set | ||
74 | CONFIG_VM_EVENT_COUNTERS=y | ||
75 | CONFIG_SLAB=y | ||
76 | # CONFIG_SLUB is not set | ||
77 | # CONFIG_SLOB is not set | ||
78 | # CONFIG_PROFILING is not set | ||
79 | # CONFIG_MARKERS is not set | ||
80 | CONFIG_HAVE_OPROFILE=y | ||
81 | # CONFIG_HAVE_KPROBES is not set | ||
82 | # CONFIG_HAVE_KRETPROBES is not set | ||
83 | CONFIG_PROC_PAGE_MONITOR=y | ||
84 | CONFIG_SLABINFO=y | ||
85 | CONFIG_RT_MUTEXES=y | ||
86 | CONFIG_TINY_SHMEM=y | ||
87 | CONFIG_BASE_SMALL=1 | ||
88 | CONFIG_MODULES=y | ||
89 | # CONFIG_MODULE_UNLOAD is not set | ||
90 | # CONFIG_MODVERSIONS is not set | ||
91 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
92 | # CONFIG_KMOD is not set | ||
93 | CONFIG_BLOCK=y | ||
94 | # CONFIG_LBD is not set | ||
95 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
96 | # CONFIG_LSF is not set | ||
97 | # CONFIG_BLK_DEV_BSG is not set | ||
98 | |||
99 | # | ||
100 | # IO Schedulers | ||
101 | # | ||
102 | CONFIG_IOSCHED_NOOP=y | ||
103 | # CONFIG_IOSCHED_AS is not set | ||
104 | # CONFIG_IOSCHED_DEADLINE is not set | ||
105 | # CONFIG_IOSCHED_CFQ is not set | ||
106 | # CONFIG_DEFAULT_AS is not set | ||
107 | # CONFIG_DEFAULT_DEADLINE is not set | ||
108 | # CONFIG_DEFAULT_CFQ is not set | ||
109 | CONFIG_DEFAULT_NOOP=y | ||
110 | CONFIG_DEFAULT_IOSCHED="noop" | ||
111 | CONFIG_CLASSIC_RCU=y | ||
112 | |||
113 | # | ||
114 | # System type | ||
115 | # | ||
116 | CONFIG_CPU_SH3=y | ||
117 | # CONFIG_CPU_SUBTYPE_SH7619 is not set | ||
118 | # CONFIG_CPU_SUBTYPE_SH7203 is not set | ||
119 | # CONFIG_CPU_SUBTYPE_SH7206 is not set | ||
120 | # CONFIG_CPU_SUBTYPE_SH7263 is not set | ||
121 | # CONFIG_CPU_SUBTYPE_MXG is not set | ||
122 | # CONFIG_CPU_SUBTYPE_SH7705 is not set | ||
123 | # CONFIG_CPU_SUBTYPE_SH7706 is not set | ||
124 | # CONFIG_CPU_SUBTYPE_SH7707 is not set | ||
125 | # CONFIG_CPU_SUBTYPE_SH7708 is not set | ||
126 | # CONFIG_CPU_SUBTYPE_SH7709 is not set | ||
127 | # CONFIG_CPU_SUBTYPE_SH7710 is not set | ||
128 | # CONFIG_CPU_SUBTYPE_SH7712 is not set | ||
129 | # CONFIG_CPU_SUBTYPE_SH7720 is not set | ||
130 | CONFIG_CPU_SUBTYPE_SH7721=y | ||
131 | # CONFIG_CPU_SUBTYPE_SH7750 is not set | ||
132 | # CONFIG_CPU_SUBTYPE_SH7091 is not set | ||
133 | # CONFIG_CPU_SUBTYPE_SH7750R is not set | ||
134 | # CONFIG_CPU_SUBTYPE_SH7750S is not set | ||
135 | # CONFIG_CPU_SUBTYPE_SH7751 is not set | ||
136 | # CONFIG_CPU_SUBTYPE_SH7751R is not set | ||
137 | # CONFIG_CPU_SUBTYPE_SH7760 is not set | ||
138 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set | ||
139 | # CONFIG_CPU_SUBTYPE_SH7763 is not set | ||
140 | # CONFIG_CPU_SUBTYPE_SH7770 is not set | ||
141 | # CONFIG_CPU_SUBTYPE_SH7780 is not set | ||
142 | # CONFIG_CPU_SUBTYPE_SH7785 is not set | ||
143 | # CONFIG_CPU_SUBTYPE_SHX3 is not set | ||
144 | # CONFIG_CPU_SUBTYPE_SH7343 is not set | ||
145 | # CONFIG_CPU_SUBTYPE_SH7722 is not set | ||
146 | # CONFIG_CPU_SUBTYPE_SH7366 is not set | ||
147 | # CONFIG_CPU_SUBTYPE_SH5_101 is not set | ||
148 | # CONFIG_CPU_SUBTYPE_SH5_103 is not set | ||
149 | |||
150 | # | ||
151 | # Memory management options | ||
152 | # | ||
153 | CONFIG_QUICKLIST=y | ||
154 | CONFIG_MMU=y | ||
155 | CONFIG_PAGE_OFFSET=0x80000000 | ||
156 | CONFIG_MEMORY_START=0x0c000000 | ||
157 | CONFIG_MEMORY_SIZE=0x02000000 | ||
158 | CONFIG_29BIT=y | ||
159 | CONFIG_VSYSCALL=y | ||
160 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
161 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | ||
162 | CONFIG_ARCH_SPARSEMEM_DEFAULT=y | ||
163 | CONFIG_MAX_ACTIVE_REGIONS=1 | ||
164 | CONFIG_ARCH_POPULATES_NODE_MAP=y | ||
165 | CONFIG_ARCH_SELECT_MEMORY_MODEL=y | ||
166 | CONFIG_PAGE_SIZE_4KB=y | ||
167 | # CONFIG_PAGE_SIZE_8KB is not set | ||
168 | # CONFIG_PAGE_SIZE_64KB is not set | ||
169 | CONFIG_SELECT_MEMORY_MODEL=y | ||
170 | CONFIG_FLATMEM_MANUAL=y | ||
171 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
172 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
173 | CONFIG_FLATMEM=y | ||
174 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
175 | CONFIG_SPARSEMEM_STATIC=y | ||
176 | # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set | ||
177 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
178 | # CONFIG_RESOURCES_64BIT is not set | ||
179 | CONFIG_ZONE_DMA_FLAG=0 | ||
180 | CONFIG_NR_QUICK=2 | ||
181 | |||
182 | # | ||
183 | # Cache configuration | ||
184 | # | ||
185 | # CONFIG_SH_DIRECT_MAPPED is not set | ||
186 | CONFIG_CACHE_WRITEBACK=y | ||
187 | # CONFIG_CACHE_WRITETHROUGH is not set | ||
188 | # CONFIG_CACHE_OFF is not set | ||
189 | |||
190 | # | ||
191 | # Processor features | ||
192 | # | ||
193 | CONFIG_CPU_LITTLE_ENDIAN=y | ||
194 | # CONFIG_CPU_BIG_ENDIAN is not set | ||
195 | # CONFIG_SH_FPU_EMU is not set | ||
196 | # CONFIG_SH_DSP is not set | ||
197 | # CONFIG_SH_ADC is not set | ||
198 | CONFIG_CPU_HAS_INTEVT=y | ||
199 | CONFIG_CPU_HAS_SR_RB=y | ||
200 | CONFIG_CPU_HAS_DSP=y | ||
201 | |||
202 | # | ||
203 | # Board support | ||
204 | # | ||
205 | CONFIG_SOLUTION_ENGINE=y | ||
206 | CONFIG_SH_7721_SOLUTION_ENGINE=y | ||
207 | |||
208 | # | ||
209 | # Timer and clock configuration | ||
210 | # | ||
211 | CONFIG_SH_TMU=y | ||
212 | CONFIG_SH_TIMER_IRQ=16 | ||
213 | CONFIG_SH_PCLK_FREQ=33333333 | ||
214 | # CONFIG_TICK_ONESHOT is not set | ||
215 | # CONFIG_NO_HZ is not set | ||
216 | # CONFIG_HIGH_RES_TIMERS is not set | ||
217 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
218 | |||
219 | # | ||
220 | # CPU Frequency scaling | ||
221 | # | ||
222 | # CONFIG_CPU_FREQ is not set | ||
223 | |||
224 | # | ||
225 | # DMA support | ||
226 | # | ||
227 | # CONFIG_SH_DMA is not set | ||
228 | |||
229 | # | ||
230 | # Companion Chips | ||
231 | # | ||
232 | |||
233 | # | ||
234 | # Additional SuperH Device Drivers | ||
235 | # | ||
236 | CONFIG_HEARTBEAT=y | ||
237 | # CONFIG_PUSH_SWITCH is not set | ||
238 | |||
239 | # | ||
240 | # Kernel features | ||
241 | # | ||
242 | # CONFIG_HZ_100 is not set | ||
243 | CONFIG_HZ_250=y | ||
244 | # CONFIG_HZ_300 is not set | ||
245 | # CONFIG_HZ_1000 is not set | ||
246 | CONFIG_HZ=250 | ||
247 | # CONFIG_SCHED_HRTICK is not set | ||
248 | # CONFIG_KEXEC is not set | ||
249 | # CONFIG_CRASH_DUMP is not set | ||
250 | # CONFIG_PREEMPT_NONE is not set | ||
251 | CONFIG_PREEMPT_VOLUNTARY=y | ||
252 | # CONFIG_PREEMPT is not set | ||
253 | CONFIG_GUSA=y | ||
254 | # CONFIG_GUSA_RB is not set | ||
255 | |||
256 | # | ||
257 | # Boot options | ||
258 | # | ||
259 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 | ||
260 | CONFIG_BOOT_LINK_OFFSET=0x00800000 | ||
261 | CONFIG_CMDLINE_BOOL=y | ||
262 | CONFIG_CMDLINE="console=ttySC0,115200 root=/dev/sda2" | ||
263 | |||
264 | # | ||
265 | # Bus options | ||
266 | # | ||
267 | CONFIG_CF_ENABLER=y | ||
268 | # CONFIG_CF_AREA5 is not set | ||
269 | CONFIG_CF_AREA6=y | ||
270 | CONFIG_CF_BASE_ADDR=0xb8000000 | ||
271 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
272 | # CONFIG_PCCARD is not set | ||
273 | |||
274 | # | ||
275 | # Executable file formats | ||
276 | # | ||
277 | CONFIG_BINFMT_ELF=y | ||
278 | # CONFIG_BINFMT_MISC is not set | ||
279 | |||
280 | # | ||
281 | # Networking | ||
282 | # | ||
283 | CONFIG_NET=y | ||
284 | |||
285 | # | ||
286 | # Networking options | ||
287 | # | ||
288 | CONFIG_PACKET=y | ||
289 | CONFIG_PACKET_MMAP=y | ||
290 | CONFIG_UNIX=y | ||
291 | CONFIG_XFRM=y | ||
292 | # CONFIG_XFRM_USER is not set | ||
293 | # CONFIG_XFRM_SUB_POLICY is not set | ||
294 | # CONFIG_XFRM_MIGRATE is not set | ||
295 | # CONFIG_XFRM_STATISTICS is not set | ||
296 | CONFIG_NET_KEY=y | ||
297 | # CONFIG_NET_KEY_MIGRATE is not set | ||
298 | CONFIG_INET=y | ||
299 | CONFIG_IP_MULTICAST=y | ||
300 | CONFIG_IP_ADVANCED_ROUTER=y | ||
301 | CONFIG_ASK_IP_FIB_HASH=y | ||
302 | # CONFIG_IP_FIB_TRIE is not set | ||
303 | CONFIG_IP_FIB_HASH=y | ||
304 | CONFIG_IP_MULTIPLE_TABLES=y | ||
305 | CONFIG_IP_ROUTE_MULTIPATH=y | ||
306 | CONFIG_IP_ROUTE_VERBOSE=y | ||
307 | CONFIG_IP_PNP=y | ||
308 | CONFIG_IP_PNP_DHCP=y | ||
309 | # CONFIG_IP_PNP_BOOTP is not set | ||
310 | # CONFIG_IP_PNP_RARP is not set | ||
311 | # CONFIG_NET_IPIP is not set | ||
312 | # CONFIG_NET_IPGRE is not set | ||
313 | CONFIG_IP_MROUTE=y | ||
314 | CONFIG_IP_PIMSM_V1=y | ||
315 | CONFIG_IP_PIMSM_V2=y | ||
316 | # CONFIG_ARPD is not set | ||
317 | CONFIG_SYN_COOKIES=y | ||
318 | CONFIG_INET_AH=y | ||
319 | CONFIG_INET_ESP=y | ||
320 | CONFIG_INET_IPCOMP=y | ||
321 | CONFIG_INET_XFRM_TUNNEL=y | ||
322 | CONFIG_INET_TUNNEL=y | ||
323 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
324 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
325 | CONFIG_INET_XFRM_MODE_BEET=y | ||
326 | # CONFIG_INET_LRO is not set | ||
327 | # CONFIG_INET_DIAG is not set | ||
328 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
329 | CONFIG_TCP_CONG_CUBIC=y | ||
330 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
331 | # CONFIG_TCP_MD5SIG is not set | ||
332 | # CONFIG_IPV6 is not set | ||
333 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
334 | # CONFIG_INET6_TUNNEL is not set | ||
335 | # CONFIG_NETWORK_SECMARK is not set | ||
336 | # CONFIG_NETFILTER is not set | ||
337 | # CONFIG_IP_DCCP is not set | ||
338 | # CONFIG_IP_SCTP is not set | ||
339 | # CONFIG_TIPC is not set | ||
340 | # CONFIG_ATM is not set | ||
341 | # CONFIG_BRIDGE is not set | ||
342 | # CONFIG_VLAN_8021Q is not set | ||
343 | # CONFIG_DECNET is not set | ||
344 | # CONFIG_LLC2 is not set | ||
345 | # CONFIG_IPX is not set | ||
346 | # CONFIG_ATALK is not set | ||
347 | # CONFIG_X25 is not set | ||
348 | # CONFIG_LAPB is not set | ||
349 | # CONFIG_ECONET is not set | ||
350 | # CONFIG_WAN_ROUTER is not set | ||
351 | CONFIG_NET_SCHED=y | ||
352 | |||
353 | # | ||
354 | # Queueing/Scheduling | ||
355 | # | ||
356 | CONFIG_NET_SCH_CBQ=y | ||
357 | CONFIG_NET_SCH_HTB=y | ||
358 | CONFIG_NET_SCH_HFSC=y | ||
359 | CONFIG_NET_SCH_PRIO=y | ||
360 | # CONFIG_NET_SCH_RR is not set | ||
361 | CONFIG_NET_SCH_RED=y | ||
362 | CONFIG_NET_SCH_SFQ=y | ||
363 | CONFIG_NET_SCH_TEQL=y | ||
364 | CONFIG_NET_SCH_TBF=y | ||
365 | CONFIG_NET_SCH_GRED=y | ||
366 | CONFIG_NET_SCH_DSMARK=y | ||
367 | CONFIG_NET_SCH_NETEM=y | ||
368 | |||
369 | # | ||
370 | # Classification | ||
371 | # | ||
372 | CONFIG_NET_CLS=y | ||
373 | # CONFIG_NET_CLS_BASIC is not set | ||
374 | CONFIG_NET_CLS_TCINDEX=y | ||
375 | CONFIG_NET_CLS_ROUTE4=y | ||
376 | CONFIG_NET_CLS_ROUTE=y | ||
377 | CONFIG_NET_CLS_FW=y | ||
378 | # CONFIG_NET_CLS_U32 is not set | ||
379 | # CONFIG_NET_CLS_RSVP is not set | ||
380 | # CONFIG_NET_CLS_RSVP6 is not set | ||
381 | # CONFIG_NET_CLS_FLOW is not set | ||
382 | # CONFIG_NET_EMATCH is not set | ||
383 | # CONFIG_NET_CLS_ACT is not set | ||
384 | CONFIG_NET_CLS_IND=y | ||
385 | CONFIG_NET_SCH_FIFO=y | ||
386 | |||
387 | # | ||
388 | # Network testing | ||
389 | # | ||
390 | # CONFIG_NET_PKTGEN is not set | ||
391 | # CONFIG_HAMRADIO is not set | ||
392 | # CONFIG_CAN is not set | ||
393 | # CONFIG_IRDA is not set | ||
394 | # CONFIG_BT is not set | ||
395 | # CONFIG_AF_RXRPC is not set | ||
396 | CONFIG_FIB_RULES=y | ||
397 | |||
398 | # | ||
399 | # Wireless | ||
400 | # | ||
401 | # CONFIG_CFG80211 is not set | ||
402 | # CONFIG_WIRELESS_EXT is not set | ||
403 | # CONFIG_MAC80211 is not set | ||
404 | # CONFIG_IEEE80211 is not set | ||
405 | # CONFIG_RFKILL is not set | ||
406 | # CONFIG_NET_9P is not set | ||
407 | |||
408 | # | ||
409 | # Device Drivers | ||
410 | # | ||
411 | |||
412 | # | ||
413 | # Generic Driver Options | ||
414 | # | ||
415 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
416 | CONFIG_STANDALONE=y | ||
417 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
418 | CONFIG_FW_LOADER=y | ||
419 | # CONFIG_DEBUG_DRIVER is not set | ||
420 | # CONFIG_DEBUG_DEVRES is not set | ||
421 | # CONFIG_SYS_HYPERVISOR is not set | ||
422 | # CONFIG_CONNECTOR is not set | ||
423 | CONFIG_MTD=y | ||
424 | # CONFIG_MTD_DEBUG is not set | ||
425 | CONFIG_MTD_CONCAT=y | ||
426 | CONFIG_MTD_PARTITIONS=y | ||
427 | # CONFIG_MTD_REDBOOT_PARTS is not set | ||
428 | # CONFIG_MTD_CMDLINE_PARTS is not set | ||
429 | |||
430 | # | ||
431 | # User Modules And Translation Layers | ||
432 | # | ||
433 | CONFIG_MTD_CHAR=y | ||
434 | CONFIG_MTD_BLKDEVS=y | ||
435 | CONFIG_MTD_BLOCK=y | ||
436 | # CONFIG_FTL is not set | ||
437 | # CONFIG_NFTL is not set | ||
438 | # CONFIG_INFTL is not set | ||
439 | # CONFIG_RFD_FTL is not set | ||
440 | # CONFIG_SSFDC is not set | ||
441 | # CONFIG_MTD_OOPS is not set | ||
442 | |||
443 | # | ||
444 | # RAM/ROM/Flash chip drivers | ||
445 | # | ||
446 | CONFIG_MTD_CFI=y | ||
447 | # CONFIG_MTD_JEDECPROBE is not set | ||
448 | CONFIG_MTD_GEN_PROBE=y | ||
449 | # CONFIG_MTD_CFI_ADV_OPTIONS is not set | ||
450 | CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||
451 | CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||
452 | CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||
453 | # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||
454 | # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||
455 | # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||
456 | CONFIG_MTD_CFI_I1=y | ||
457 | CONFIG_MTD_CFI_I2=y | ||
458 | # CONFIG_MTD_CFI_I4 is not set | ||
459 | # CONFIG_MTD_CFI_I8 is not set | ||
460 | # CONFIG_MTD_CFI_INTELEXT is not set | ||
461 | CONFIG_MTD_CFI_AMDSTD=y | ||
462 | # CONFIG_MTD_CFI_STAA is not set | ||
463 | CONFIG_MTD_CFI_UTIL=y | ||
464 | # CONFIG_MTD_RAM is not set | ||
465 | # CONFIG_MTD_ROM is not set | ||
466 | # CONFIG_MTD_ABSENT is not set | ||
467 | |||
468 | # | ||
469 | # Mapping drivers for chip access | ||
470 | # | ||
471 | # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||
472 | # CONFIG_MTD_PHYSMAP is not set | ||
473 | # CONFIG_MTD_PLATRAM is not set | ||
474 | |||
475 | # | ||
476 | # Self-contained MTD device drivers | ||
477 | # | ||
478 | # CONFIG_MTD_SLRAM is not set | ||
479 | # CONFIG_MTD_PHRAM is not set | ||
480 | # CONFIG_MTD_MTDRAM is not set | ||
481 | # CONFIG_MTD_BLOCK2MTD is not set | ||
482 | |||
483 | # | ||
484 | # Disk-On-Chip Device Drivers | ||
485 | # | ||
486 | # CONFIG_MTD_DOC2000 is not set | ||
487 | # CONFIG_MTD_DOC2001 is not set | ||
488 | # CONFIG_MTD_DOC2001PLUS is not set | ||
489 | # CONFIG_MTD_NAND is not set | ||
490 | # CONFIG_MTD_ONENAND is not set | ||
491 | |||
492 | # | ||
493 | # UBI - Unsorted block images | ||
494 | # | ||
495 | # CONFIG_MTD_UBI is not set | ||
496 | # CONFIG_PARPORT is not set | ||
497 | CONFIG_BLK_DEV=y | ||
498 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
499 | # CONFIG_BLK_DEV_LOOP is not set | ||
500 | # CONFIG_BLK_DEV_NBD is not set | ||
501 | # CONFIG_BLK_DEV_UB is not set | ||
502 | # CONFIG_BLK_DEV_RAM is not set | ||
503 | # CONFIG_CDROM_PKTCDVD is not set | ||
504 | # CONFIG_ATA_OVER_ETH is not set | ||
505 | CONFIG_MISC_DEVICES=y | ||
506 | # CONFIG_EEPROM_93CX6 is not set | ||
507 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
508 | CONFIG_HAVE_IDE=y | ||
509 | # CONFIG_IDE is not set | ||
510 | |||
511 | # | ||
512 | # SCSI device support | ||
513 | # | ||
514 | # CONFIG_RAID_ATTRS is not set | ||
515 | CONFIG_SCSI=y | ||
516 | CONFIG_SCSI_DMA=y | ||
517 | # CONFIG_SCSI_TGT is not set | ||
518 | # CONFIG_SCSI_NETLINK is not set | ||
519 | CONFIG_SCSI_PROC_FS=y | ||
520 | |||
521 | # | ||
522 | # SCSI support type (disk, tape, CD-ROM) | ||
523 | # | ||
524 | CONFIG_BLK_DEV_SD=y | ||
525 | # CONFIG_CHR_DEV_ST is not set | ||
526 | # CONFIG_CHR_DEV_OSST is not set | ||
527 | # CONFIG_BLK_DEV_SR is not set | ||
528 | # CONFIG_CHR_DEV_SG is not set | ||
529 | # CONFIG_CHR_DEV_SCH is not set | ||
530 | |||
531 | # | ||
532 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
533 | # | ||
534 | CONFIG_SCSI_MULTI_LUN=y | ||
535 | # CONFIG_SCSI_CONSTANTS is not set | ||
536 | # CONFIG_SCSI_LOGGING is not set | ||
537 | # CONFIG_SCSI_SCAN_ASYNC is not set | ||
538 | CONFIG_SCSI_WAIT_SCAN=m | ||
539 | |||
540 | # | ||
541 | # SCSI Transports | ||
542 | # | ||
543 | # CONFIG_SCSI_SPI_ATTRS is not set | ||
544 | # CONFIG_SCSI_FC_ATTRS is not set | ||
545 | # CONFIG_SCSI_ISCSI_ATTRS is not set | ||
546 | # CONFIG_SCSI_SAS_LIBSAS is not set | ||
547 | # CONFIG_SCSI_SRP_ATTRS is not set | ||
548 | # CONFIG_SCSI_LOWLEVEL is not set | ||
549 | CONFIG_ATA=y | ||
550 | # CONFIG_ATA_NONSTANDARD is not set | ||
551 | # CONFIG_SATA_MV is not set | ||
552 | CONFIG_PATA_PLATFORM=y | ||
553 | # CONFIG_MD is not set | ||
554 | CONFIG_NETDEVICES=y | ||
555 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
556 | # CONFIG_DUMMY is not set | ||
557 | # CONFIG_BONDING is not set | ||
558 | # CONFIG_MACVLAN is not set | ||
559 | # CONFIG_EQUALIZER is not set | ||
560 | # CONFIG_TUN is not set | ||
561 | # CONFIG_VETH is not set | ||
562 | # CONFIG_NET_ETHERNET is not set | ||
563 | CONFIG_NETDEV_1000=y | ||
564 | # CONFIG_E1000E_ENABLED is not set | ||
565 | CONFIG_NETDEV_10000=y | ||
566 | |||
567 | # | ||
568 | # Wireless LAN | ||
569 | # | ||
570 | # CONFIG_WLAN_PRE80211 is not set | ||
571 | # CONFIG_WLAN_80211 is not set | ||
572 | |||
573 | # | ||
574 | # USB Network Adapters | ||
575 | # | ||
576 | # CONFIG_USB_CATC is not set | ||
577 | # CONFIG_USB_KAWETH is not set | ||
578 | # CONFIG_USB_PEGASUS is not set | ||
579 | # CONFIG_USB_RTL8150 is not set | ||
580 | # CONFIG_USB_USBNET is not set | ||
581 | # CONFIG_WAN is not set | ||
582 | # CONFIG_PPP is not set | ||
583 | # CONFIG_SLIP is not set | ||
584 | # CONFIG_NETCONSOLE is not set | ||
585 | # CONFIG_NETPOLL is not set | ||
586 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
587 | # CONFIG_ISDN is not set | ||
588 | # CONFIG_PHONE is not set | ||
589 | |||
590 | # | ||
591 | # Input device support | ||
592 | # | ||
593 | CONFIG_INPUT=y | ||
594 | # CONFIG_INPUT_FF_MEMLESS is not set | ||
595 | # CONFIG_INPUT_POLLDEV is not set | ||
596 | |||
597 | # | ||
598 | # Userland interfaces | ||
599 | # | ||
600 | CONFIG_INPUT_MOUSEDEV=y | ||
601 | CONFIG_INPUT_MOUSEDEV_PSAUX=y | ||
602 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
603 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
604 | # CONFIG_INPUT_JOYDEV is not set | ||
605 | CONFIG_INPUT_EVDEV=y | ||
606 | # CONFIG_INPUT_EVBUG is not set | ||
607 | |||
608 | # | ||
609 | # Input Device Drivers | ||
610 | # | ||
611 | CONFIG_INPUT_KEYBOARD=y | ||
612 | # CONFIG_KEYBOARD_ATKBD is not set | ||
613 | # CONFIG_KEYBOARD_SUNKBD is not set | ||
614 | # CONFIG_KEYBOARD_LKKBD is not set | ||
615 | # CONFIG_KEYBOARD_XTKBD is not set | ||
616 | # CONFIG_KEYBOARD_NEWTON is not set | ||
617 | # CONFIG_KEYBOARD_STOWAWAY is not set | ||
618 | # CONFIG_KEYBOARD_SH_KEYSC is not set | ||
619 | CONFIG_INPUT_MOUSE=y | ||
620 | # CONFIG_MOUSE_PS2 is not set | ||
621 | # CONFIG_MOUSE_SERIAL is not set | ||
622 | # CONFIG_MOUSE_APPLETOUCH is not set | ||
623 | # CONFIG_MOUSE_VSXXXAA is not set | ||
624 | # CONFIG_INPUT_JOYSTICK is not set | ||
625 | # CONFIG_INPUT_TABLET is not set | ||
626 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
627 | # CONFIG_INPUT_MISC is not set | ||
628 | |||
629 | # | ||
630 | # Hardware I/O ports | ||
631 | # | ||
632 | # CONFIG_SERIO is not set | ||
633 | # CONFIG_GAMEPORT is not set | ||
634 | |||
635 | # | ||
636 | # Character devices | ||
637 | # | ||
638 | # CONFIG_VT is not set | ||
639 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
640 | |||
641 | # | ||
642 | # Serial drivers | ||
643 | # | ||
644 | # CONFIG_SERIAL_8250 is not set | ||
645 | |||
646 | # | ||
647 | # Non-8250 serial port support | ||
648 | # | ||
649 | CONFIG_SERIAL_SH_SCI=y | ||
650 | CONFIG_SERIAL_SH_SCI_NR_UARTS=2 | ||
651 | CONFIG_SERIAL_SH_SCI_CONSOLE=y | ||
652 | CONFIG_SERIAL_CORE=y | ||
653 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
654 | CONFIG_UNIX98_PTYS=y | ||
655 | # CONFIG_LEGACY_PTYS is not set | ||
656 | # CONFIG_IPMI_HANDLER is not set | ||
657 | # CONFIG_HW_RANDOM is not set | ||
658 | # CONFIG_R3964 is not set | ||
659 | # CONFIG_RAW_DRIVER is not set | ||
660 | # CONFIG_TCG_TPM is not set | ||
661 | # CONFIG_I2C is not set | ||
662 | |||
663 | # | ||
664 | # SPI support | ||
665 | # | ||
666 | # CONFIG_SPI is not set | ||
667 | # CONFIG_SPI_MASTER is not set | ||
668 | # CONFIG_W1 is not set | ||
669 | # CONFIG_POWER_SUPPLY is not set | ||
670 | # CONFIG_HWMON is not set | ||
671 | CONFIG_THERMAL=y | ||
672 | # CONFIG_WATCHDOG is not set | ||
673 | |||
674 | # | ||
675 | # Sonics Silicon Backplane | ||
676 | # | ||
677 | CONFIG_SSB_POSSIBLE=y | ||
678 | # CONFIG_SSB is not set | ||
679 | |||
680 | # | ||
681 | # Multifunction device drivers | ||
682 | # | ||
683 | # CONFIG_MFD_SM501 is not set | ||
684 | |||
685 | # | ||
686 | # Multimedia devices | ||
687 | # | ||
688 | # CONFIG_VIDEO_DEV is not set | ||
689 | # CONFIG_DVB_CORE is not set | ||
690 | # CONFIG_DAB is not set | ||
691 | |||
692 | # | ||
693 | # Graphics support | ||
694 | # | ||
695 | # CONFIG_VGASTATE is not set | ||
696 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
697 | # CONFIG_FB is not set | ||
698 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
699 | |||
700 | # | ||
701 | # Display device support | ||
702 | # | ||
703 | # CONFIG_DISPLAY_SUPPORT is not set | ||
704 | |||
705 | # | ||
706 | # Sound | ||
707 | # | ||
708 | # CONFIG_SOUND is not set | ||
709 | CONFIG_HID_SUPPORT=y | ||
710 | CONFIG_HID=y | ||
711 | # CONFIG_HID_DEBUG is not set | ||
712 | # CONFIG_HIDRAW is not set | ||
713 | |||
714 | # | ||
715 | # USB Input Devices | ||
716 | # | ||
717 | CONFIG_USB_HID=y | ||
718 | # CONFIG_USB_HIDINPUT_POWERBOOK is not set | ||
719 | # CONFIG_HID_FF is not set | ||
720 | # CONFIG_USB_HIDDEV is not set | ||
721 | CONFIG_USB_SUPPORT=y | ||
722 | CONFIG_USB_ARCH_HAS_HCD=y | ||
723 | CONFIG_USB_ARCH_HAS_OHCI=y | ||
724 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
725 | CONFIG_USB=y | ||
726 | # CONFIG_USB_DEBUG is not set | ||
727 | # CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set | ||
728 | |||
729 | # | ||
730 | # Miscellaneous USB options | ||
731 | # | ||
732 | # CONFIG_USB_DEVICEFS is not set | ||
733 | CONFIG_USB_DEVICE_CLASS=y | ||
734 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
735 | # CONFIG_USB_OTG is not set | ||
736 | |||
737 | # | ||
738 | # USB Host Controller Drivers | ||
739 | # | ||
740 | # CONFIG_USB_ISP116X_HCD is not set | ||
741 | CONFIG_USB_OHCI_HCD=y | ||
742 | # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set | ||
743 | # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set | ||
744 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y | ||
745 | # CONFIG_USB_SL811_HCD is not set | ||
746 | # CONFIG_USB_R8A66597_HCD is not set | ||
747 | |||
748 | # | ||
749 | # USB Device Class drivers | ||
750 | # | ||
751 | # CONFIG_USB_ACM is not set | ||
752 | # CONFIG_USB_PRINTER is not set | ||
753 | |||
754 | # | ||
755 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
756 | # | ||
757 | |||
758 | # | ||
759 | # may also be needed; see USB_STORAGE Help for more information | ||
760 | # | ||
761 | CONFIG_USB_STORAGE=y | ||
762 | # CONFIG_USB_STORAGE_DEBUG is not set | ||
763 | # CONFIG_USB_STORAGE_DATAFAB is not set | ||
764 | # CONFIG_USB_STORAGE_FREECOM is not set | ||
765 | # CONFIG_USB_STORAGE_ISD200 is not set | ||
766 | # CONFIG_USB_STORAGE_DPCM is not set | ||
767 | # CONFIG_USB_STORAGE_USBAT is not set | ||
768 | # CONFIG_USB_STORAGE_SDDR09 is not set | ||
769 | # CONFIG_USB_STORAGE_SDDR55 is not set | ||
770 | # CONFIG_USB_STORAGE_JUMPSHOT is not set | ||
771 | # CONFIG_USB_STORAGE_ALAUDA is not set | ||
772 | # CONFIG_USB_STORAGE_ONETOUCH is not set | ||
773 | # CONFIG_USB_STORAGE_KARMA is not set | ||
774 | # CONFIG_USB_LIBUSUAL is not set | ||
775 | |||
776 | # | ||
777 | # USB Imaging devices | ||
778 | # | ||
779 | # CONFIG_USB_MDC800 is not set | ||
780 | # CONFIG_USB_MICROTEK is not set | ||
781 | CONFIG_USB_MON=y | ||
782 | |||
783 | # | ||
784 | # USB port drivers | ||
785 | # | ||
786 | # CONFIG_USB_SERIAL is not set | ||
787 | |||
788 | # | ||
789 | # USB Miscellaneous drivers | ||
790 | # | ||
791 | # CONFIG_USB_EMI62 is not set | ||
792 | # CONFIG_USB_EMI26 is not set | ||
793 | # CONFIG_USB_ADUTUX is not set | ||
794 | # CONFIG_USB_AUERSWALD is not set | ||
795 | # CONFIG_USB_RIO500 is not set | ||
796 | # CONFIG_USB_LEGOTOWER is not set | ||
797 | # CONFIG_USB_LCD is not set | ||
798 | # CONFIG_USB_BERRY_CHARGE is not set | ||
799 | # CONFIG_USB_LED is not set | ||
800 | # CONFIG_USB_CYPRESS_CY7C63 is not set | ||
801 | # CONFIG_USB_CYTHERM is not set | ||
802 | # CONFIG_USB_PHIDGET is not set | ||
803 | # CONFIG_USB_IDMOUSE is not set | ||
804 | # CONFIG_USB_FTDI_ELAN is not set | ||
805 | # CONFIG_USB_APPLEDISPLAY is not set | ||
806 | # CONFIG_USB_LD is not set | ||
807 | # CONFIG_USB_TRANCEVIBRATOR is not set | ||
808 | # CONFIG_USB_IOWARRIOR is not set | ||
809 | # CONFIG_USB_GADGET is not set | ||
810 | # CONFIG_MMC is not set | ||
811 | # CONFIG_MEMSTICK is not set | ||
812 | CONFIG_NEW_LEDS=y | ||
813 | CONFIG_LEDS_CLASS=y | ||
814 | |||
815 | # | ||
816 | # LED drivers | ||
817 | # | ||
818 | |||
819 | # | ||
820 | # LED Triggers | ||
821 | # | ||
822 | CONFIG_LEDS_TRIGGERS=y | ||
823 | # CONFIG_LEDS_TRIGGER_TIMER is not set | ||
824 | # CONFIG_LEDS_TRIGGER_HEARTBEAT is not set | ||
825 | # CONFIG_RTC_CLASS is not set | ||
826 | |||
827 | # | ||
828 | # Userspace I/O | ||
829 | # | ||
830 | # CONFIG_UIO is not set | ||
831 | |||
832 | # | ||
833 | # File systems | ||
834 | # | ||
835 | CONFIG_EXT2_FS=y | ||
836 | CONFIG_EXT2_FS_XATTR=y | ||
837 | CONFIG_EXT2_FS_POSIX_ACL=y | ||
838 | CONFIG_EXT2_FS_SECURITY=y | ||
839 | # CONFIG_EXT2_FS_XIP is not set | ||
840 | CONFIG_EXT3_FS=y | ||
841 | CONFIG_EXT3_FS_XATTR=y | ||
842 | # CONFIG_EXT3_FS_POSIX_ACL is not set | ||
843 | # CONFIG_EXT3_FS_SECURITY is not set | ||
844 | # CONFIG_EXT4DEV_FS is not set | ||
845 | CONFIG_JBD=y | ||
846 | CONFIG_FS_MBCACHE=y | ||
847 | # CONFIG_REISERFS_FS is not set | ||
848 | # CONFIG_JFS_FS is not set | ||
849 | CONFIG_FS_POSIX_ACL=y | ||
850 | # CONFIG_XFS_FS is not set | ||
851 | # CONFIG_GFS2_FS is not set | ||
852 | # CONFIG_OCFS2_FS is not set | ||
853 | # CONFIG_DNOTIFY is not set | ||
854 | # CONFIG_INOTIFY is not set | ||
855 | # CONFIG_QUOTA is not set | ||
856 | # CONFIG_AUTOFS_FS is not set | ||
857 | # CONFIG_AUTOFS4_FS is not set | ||
858 | # CONFIG_FUSE_FS is not set | ||
859 | |||
860 | # | ||
861 | # CD-ROM/DVD Filesystems | ||
862 | # | ||
863 | # CONFIG_ISO9660_FS is not set | ||
864 | # CONFIG_UDF_FS is not set | ||
865 | |||
866 | # | ||
867 | # DOS/FAT/NT Filesystems | ||
868 | # | ||
869 | CONFIG_FAT_FS=y | ||
870 | CONFIG_MSDOS_FS=y | ||
871 | CONFIG_VFAT_FS=y | ||
872 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
873 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
874 | # CONFIG_NTFS_FS is not set | ||
875 | |||
876 | # | ||
877 | # Pseudo filesystems | ||
878 | # | ||
879 | CONFIG_PROC_FS=y | ||
880 | # CONFIG_PROC_KCORE is not set | ||
881 | CONFIG_PROC_SYSCTL=y | ||
882 | CONFIG_SYSFS=y | ||
883 | CONFIG_TMPFS=y | ||
884 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
885 | # CONFIG_HUGETLBFS is not set | ||
886 | # CONFIG_HUGETLB_PAGE is not set | ||
887 | # CONFIG_CONFIGFS_FS is not set | ||
888 | |||
889 | # | ||
890 | # Miscellaneous filesystems | ||
891 | # | ||
892 | # CONFIG_ADFS_FS is not set | ||
893 | # CONFIG_AFFS_FS is not set | ||
894 | # CONFIG_HFS_FS is not set | ||
895 | # CONFIG_HFSPLUS_FS is not set | ||
896 | # CONFIG_BEFS_FS is not set | ||
897 | # CONFIG_BFS_FS is not set | ||
898 | # CONFIG_EFS_FS is not set | ||
899 | CONFIG_JFFS2_FS=y | ||
900 | CONFIG_JFFS2_FS_DEBUG=0 | ||
901 | CONFIG_JFFS2_FS_WRITEBUFFER=y | ||
902 | # CONFIG_JFFS2_FS_WBUF_VERIFY is not set | ||
903 | # CONFIG_JFFS2_SUMMARY is not set | ||
904 | # CONFIG_JFFS2_FS_XATTR is not set | ||
905 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | ||
906 | CONFIG_JFFS2_ZLIB=y | ||
907 | # CONFIG_JFFS2_LZO is not set | ||
908 | CONFIG_JFFS2_RTIME=y | ||
909 | # CONFIG_JFFS2_RUBIN is not set | ||
910 | CONFIG_CRAMFS=y | ||
911 | # CONFIG_VXFS_FS is not set | ||
912 | # CONFIG_MINIX_FS is not set | ||
913 | # CONFIG_HPFS_FS is not set | ||
914 | # CONFIG_QNX4FS_FS is not set | ||
915 | # CONFIG_ROMFS_FS is not set | ||
916 | # CONFIG_SYSV_FS is not set | ||
917 | # CONFIG_UFS_FS is not set | ||
918 | # CONFIG_NETWORK_FILESYSTEMS is not set | ||
919 | |||
920 | # | ||
921 | # Partition Types | ||
922 | # | ||
923 | # CONFIG_PARTITION_ADVANCED is not set | ||
924 | CONFIG_MSDOS_PARTITION=y | ||
925 | CONFIG_NLS=y | ||
926 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
927 | CONFIG_NLS_CODEPAGE_437=y | ||
928 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
929 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
930 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
931 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
932 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
933 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
934 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
935 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
936 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
937 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
938 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
939 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
940 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
941 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
942 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
943 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
944 | CONFIG_NLS_CODEPAGE_932=y | ||
945 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
946 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
947 | # CONFIG_NLS_ISO8859_8 is not set | ||
948 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
949 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
950 | # CONFIG_NLS_ASCII is not set | ||
951 | CONFIG_NLS_ISO8859_1=y | ||
952 | # CONFIG_NLS_ISO8859_2 is not set | ||
953 | # CONFIG_NLS_ISO8859_3 is not set | ||
954 | # CONFIG_NLS_ISO8859_4 is not set | ||
955 | # CONFIG_NLS_ISO8859_5 is not set | ||
956 | # CONFIG_NLS_ISO8859_6 is not set | ||
957 | # CONFIG_NLS_ISO8859_7 is not set | ||
958 | # CONFIG_NLS_ISO8859_9 is not set | ||
959 | # CONFIG_NLS_ISO8859_13 is not set | ||
960 | # CONFIG_NLS_ISO8859_14 is not set | ||
961 | # CONFIG_NLS_ISO8859_15 is not set | ||
962 | # CONFIG_NLS_KOI8_R is not set | ||
963 | # CONFIG_NLS_KOI8_U is not set | ||
964 | # CONFIG_NLS_UTF8 is not set | ||
965 | # CONFIG_DLM is not set | ||
966 | |||
967 | # | ||
968 | # Kernel hacking | ||
969 | # | ||
970 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
971 | # CONFIG_PRINTK_TIME is not set | ||
972 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
973 | CONFIG_ENABLE_MUST_CHECK=y | ||
974 | # CONFIG_MAGIC_SYSRQ is not set | ||
975 | # CONFIG_UNUSED_SYMBOLS is not set | ||
976 | # CONFIG_DEBUG_FS is not set | ||
977 | # CONFIG_HEADERS_CHECK is not set | ||
978 | CONFIG_DEBUG_KERNEL=y | ||
979 | # CONFIG_DEBUG_SHIRQ is not set | ||
980 | # CONFIG_DETECT_SOFTLOCKUP is not set | ||
981 | CONFIG_SCHED_DEBUG=y | ||
982 | # CONFIG_SCHEDSTATS is not set | ||
983 | # CONFIG_TIMER_STATS is not set | ||
984 | # CONFIG_DEBUG_SLAB is not set | ||
985 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
986 | # CONFIG_RT_MUTEX_TESTER is not set | ||
987 | # CONFIG_DEBUG_SPINLOCK is not set | ||
988 | # CONFIG_DEBUG_MUTEXES is not set | ||
989 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
990 | # CONFIG_PROVE_LOCKING is not set | ||
991 | # CONFIG_LOCK_STAT is not set | ||
992 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||
993 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
994 | # CONFIG_DEBUG_KOBJECT is not set | ||
995 | CONFIG_DEBUG_INFO=y | ||
996 | # CONFIG_DEBUG_VM is not set | ||
997 | # CONFIG_DEBUG_LIST is not set | ||
998 | # CONFIG_DEBUG_SG is not set | ||
999 | CONFIG_FRAME_POINTER=y | ||
1000 | # CONFIG_BOOT_PRINTK_DELAY is not set | ||
1001 | # CONFIG_RCU_TORTURE_TEST is not set | ||
1002 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
1003 | # CONFIG_FAULT_INJECTION is not set | ||
1004 | # CONFIG_SAMPLES is not set | ||
1005 | # CONFIG_SH_STANDARD_BIOS is not set | ||
1006 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
1007 | # CONFIG_DEBUG_BOOTMEM is not set | ||
1008 | # CONFIG_DEBUG_STACKOVERFLOW is not set | ||
1009 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
1010 | # CONFIG_4KSTACKS is not set | ||
1011 | # CONFIG_IRQSTACKS is not set | ||
1012 | # CONFIG_SH_KGDB is not set | ||
1013 | |||
1014 | # | ||
1015 | # Security options | ||
1016 | # | ||
1017 | # CONFIG_KEYS is not set | ||
1018 | # CONFIG_SECURITY is not set | ||
1019 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
1020 | CONFIG_CRYPTO=y | ||
1021 | CONFIG_CRYPTO_ALGAPI=y | ||
1022 | CONFIG_CRYPTO_AEAD=y | ||
1023 | CONFIG_CRYPTO_BLKCIPHER=y | ||
1024 | # CONFIG_CRYPTO_SEQIV is not set | ||
1025 | CONFIG_CRYPTO_HASH=y | ||
1026 | CONFIG_CRYPTO_MANAGER=y | ||
1027 | CONFIG_CRYPTO_HMAC=y | ||
1028 | # CONFIG_CRYPTO_XCBC is not set | ||
1029 | # CONFIG_CRYPTO_NULL is not set | ||
1030 | # CONFIG_CRYPTO_MD4 is not set | ||
1031 | CONFIG_CRYPTO_MD5=y | ||
1032 | CONFIG_CRYPTO_SHA1=y | ||
1033 | # CONFIG_CRYPTO_SHA256 is not set | ||
1034 | # CONFIG_CRYPTO_SHA512 is not set | ||
1035 | # CONFIG_CRYPTO_WP512 is not set | ||
1036 | # CONFIG_CRYPTO_TGR192 is not set | ||
1037 | # CONFIG_CRYPTO_GF128MUL is not set | ||
1038 | # CONFIG_CRYPTO_ECB is not set | ||
1039 | CONFIG_CRYPTO_CBC=y | ||
1040 | # CONFIG_CRYPTO_PCBC is not set | ||
1041 | # CONFIG_CRYPTO_LRW is not set | ||
1042 | # CONFIG_CRYPTO_XTS is not set | ||
1043 | # CONFIG_CRYPTO_CTR is not set | ||
1044 | # CONFIG_CRYPTO_GCM is not set | ||
1045 | # CONFIG_CRYPTO_CCM is not set | ||
1046 | # CONFIG_CRYPTO_CRYPTD is not set | ||
1047 | CONFIG_CRYPTO_DES=y | ||
1048 | # CONFIG_CRYPTO_FCRYPT is not set | ||
1049 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
1050 | # CONFIG_CRYPTO_TWOFISH is not set | ||
1051 | # CONFIG_CRYPTO_SERPENT is not set | ||
1052 | # CONFIG_CRYPTO_AES is not set | ||
1053 | # CONFIG_CRYPTO_CAST5 is not set | ||
1054 | # CONFIG_CRYPTO_CAST6 is not set | ||
1055 | # CONFIG_CRYPTO_TEA is not set | ||
1056 | # CONFIG_CRYPTO_ARC4 is not set | ||
1057 | # CONFIG_CRYPTO_KHAZAD is not set | ||
1058 | # CONFIG_CRYPTO_ANUBIS is not set | ||
1059 | # CONFIG_CRYPTO_SEED is not set | ||
1060 | # CONFIG_CRYPTO_SALSA20 is not set | ||
1061 | CONFIG_CRYPTO_DEFLATE=y | ||
1062 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
1063 | # CONFIG_CRYPTO_CRC32C is not set | ||
1064 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
1065 | # CONFIG_CRYPTO_TEST is not set | ||
1066 | CONFIG_CRYPTO_AUTHENC=y | ||
1067 | # CONFIG_CRYPTO_LZO is not set | ||
1068 | CONFIG_CRYPTO_HW=y | ||
1069 | |||
1070 | # | ||
1071 | # Library routines | ||
1072 | # | ||
1073 | CONFIG_BITREVERSE=y | ||
1074 | CONFIG_CRC_CCITT=y | ||
1075 | # CONFIG_CRC16 is not set | ||
1076 | # CONFIG_CRC_ITU_T is not set | ||
1077 | CONFIG_CRC32=y | ||
1078 | # CONFIG_CRC7 is not set | ||
1079 | # CONFIG_LIBCRC32C is not set | ||
1080 | CONFIG_ZLIB_INFLATE=y | ||
1081 | CONFIG_ZLIB_DEFLATE=y | ||
1082 | CONFIG_PLIST=y | ||
1083 | CONFIG_HAS_IOMEM=y | ||
1084 | CONFIG_HAS_IOPORT=y | ||
1085 | CONFIG_HAS_DMA=y | ||
diff --git a/arch/sh/configs/se7750_defconfig b/arch/sh/configs/se7750_defconfig index c60b6fd4fc42..167786f9a9bd 100644 --- a/arch/sh/configs/se7750_defconfig +++ b/arch/sh/configs/se7750_defconfig | |||
@@ -235,7 +235,6 @@ CONFIG_CPU_HAS_PTEA=y | |||
235 | # | 235 | # |
236 | CONFIG_SH_TMU=y | 236 | CONFIG_SH_TMU=y |
237 | CONFIG_SH_TIMER_IRQ=16 | 237 | CONFIG_SH_TIMER_IRQ=16 |
238 | # CONFIG_NO_IDLE_HZ is not set | ||
239 | CONFIG_SH_PCLK_FREQ=33333333 | 238 | CONFIG_SH_PCLK_FREQ=33333333 |
240 | 239 | ||
241 | # | 240 | # |
diff --git a/arch/sh/drivers/heartbeat.c b/arch/sh/drivers/heartbeat.c index ab77b0e0fa0e..938817e34e2b 100644 --- a/arch/sh/drivers/heartbeat.c +++ b/arch/sh/drivers/heartbeat.c | |||
@@ -154,4 +154,4 @@ module_exit(heartbeat_exit); | |||
154 | 154 | ||
155 | MODULE_VERSION(DRV_VERSION); | 155 | MODULE_VERSION(DRV_VERSION); |
156 | MODULE_AUTHOR("Paul Mundt"); | 156 | MODULE_AUTHOR("Paul Mundt"); |
157 | MODULE_LICENSE("GPLv2"); | 157 | MODULE_LICENSE("GPL v2"); |
diff --git a/arch/sh/drivers/pci/pci-sh4.h b/arch/sh/drivers/pci/pci-sh4.h index 07e29506080f..a83dcf70c13b 100644 --- a/arch/sh/drivers/pci/pci-sh4.h +++ b/arch/sh/drivers/pci/pci-sh4.h | |||
@@ -15,8 +15,6 @@ | |||
15 | #define PCI_PROBE_BIOS 1 | 15 | #define PCI_PROBE_BIOS 1 |
16 | #define PCI_PROBE_CONF1 2 | 16 | #define PCI_PROBE_CONF1 2 |
17 | #define PCI_PROBE_CONF2 4 | 17 | #define PCI_PROBE_CONF2 4 |
18 | #define PCI_NO_SORT 0x100 | ||
19 | #define PCI_BIOS_SORT 0x200 | ||
20 | #define PCI_NO_CHECKS 0x400 | 18 | #define PCI_NO_CHECKS 0x400 |
21 | #define PCI_ASSIGN_ROMS 0x1000 | 19 | #define PCI_ASSIGN_ROMS 0x1000 |
22 | #define PCI_BIOS_IRQ_SCAN 0x2000 | 20 | #define PCI_BIOS_IRQ_SCAN 0x2000 |
diff --git a/arch/sh/drivers/pci/pci.c b/arch/sh/drivers/pci/pci.c index 49b435c3a57a..08d2e7325252 100644 --- a/arch/sh/drivers/pci/pci.c +++ b/arch/sh/drivers/pci/pci.c | |||
@@ -191,8 +191,8 @@ void __init pcibios_update_irq(struct pci_dev *dev, int irq) | |||
191 | 191 | ||
192 | void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen) | 192 | void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen) |
193 | { | 193 | { |
194 | unsigned long start = pci_resource_start(dev, bar); | 194 | resource_size_t start = pci_resource_start(dev, bar); |
195 | unsigned long len = pci_resource_len(dev, bar); | 195 | resource_size_t len = pci_resource_len(dev, bar); |
196 | unsigned long flags = pci_resource_flags(dev, bar); | 196 | unsigned long flags = pci_resource_flags(dev, bar); |
197 | 197 | ||
198 | if (unlikely(!len || !start)) | 198 | if (unlikely(!len || !start)) |
diff --git a/arch/sh/kernel/Makefile_32 b/arch/sh/kernel/Makefile_32 index 62bf373266f7..4bbdce36b92b 100644 --- a/arch/sh/kernel/Makefile_32 +++ b/arch/sh/kernel/Makefile_32 | |||
@@ -5,7 +5,7 @@ | |||
5 | extra-y := head_32.o init_task.o vmlinux.lds | 5 | extra-y := head_32.o init_task.o vmlinux.lds |
6 | 6 | ||
7 | obj-y := debugtraps.o io.o io_generic.o irq.o machvec.o process_32.o \ | 7 | obj-y := debugtraps.o io.o io_generic.o irq.o machvec.o process_32.o \ |
8 | ptrace_32.o semaphore.o setup.o signal_32.o sys_sh.o sys_sh32.o \ | 8 | ptrace_32.o setup.o signal_32.o sys_sh.o sys_sh32.o \ |
9 | syscalls_32.o time_32.o topology.o traps.o traps_32.o | 9 | syscalls_32.o time_32.o topology.o traps.o traps_32.o |
10 | 10 | ||
11 | obj-y += cpu/ timers/ | 11 | obj-y += cpu/ timers/ |
diff --git a/arch/sh/kernel/Makefile_64 b/arch/sh/kernel/Makefile_64 index e01283d49cbf..6edf53b93d94 100644 --- a/arch/sh/kernel/Makefile_64 +++ b/arch/sh/kernel/Makefile_64 | |||
@@ -1,7 +1,7 @@ | |||
1 | extra-y := head_64.o init_task.o vmlinux.lds | 1 | extra-y := head_64.o init_task.o vmlinux.lds |
2 | 2 | ||
3 | obj-y := debugtraps.o io.o io_generic.o irq.o machvec.o process_64.o \ | 3 | obj-y := debugtraps.o io.o io_generic.o irq.o machvec.o process_64.o \ |
4 | ptrace_64.o semaphore.o setup.o signal_64.o sys_sh.o sys_sh64.o \ | 4 | ptrace_64.o setup.o signal_64.o sys_sh.o sys_sh64.o \ |
5 | syscalls_64.o time_64.o topology.o traps.o traps_64.o | 5 | syscalls_64.o time_64.o topology.o traps.o traps_64.o |
6 | 6 | ||
7 | obj-y += cpu/ timers/ | 7 | obj-y += cpu/ timers/ |
diff --git a/arch/sh/kernel/asm-offsets.c b/arch/sh/kernel/asm-offsets.c index dc6725c51a89..57cf0e0680f3 100644 --- a/arch/sh/kernel/asm-offsets.c +++ b/arch/sh/kernel/asm-offsets.c | |||
@@ -11,12 +11,9 @@ | |||
11 | #include <linux/stddef.h> | 11 | #include <linux/stddef.h> |
12 | #include <linux/types.h> | 12 | #include <linux/types.h> |
13 | #include <linux/mm.h> | 13 | #include <linux/mm.h> |
14 | #include <asm/thread_info.h> | 14 | #include <linux/kbuild.h> |
15 | |||
16 | #define DEFINE(sym, val) \ | ||
17 | asm volatile("\n->" #sym " %0 " #val : : "i" (val)) | ||
18 | 15 | ||
19 | #define BLANK() asm volatile("\n->" : : ) | 16 | #include <asm/thread_info.h> |
20 | 17 | ||
21 | int main(void) | 18 | int main(void) |
22 | { | 19 | { |
diff --git a/arch/sh/kernel/cf-enabler.c b/arch/sh/kernel/cf-enabler.c index 1c3b99642e1c..01ff4d05aab0 100644 --- a/arch/sh/kernel/cf-enabler.c +++ b/arch/sh/kernel/cf-enabler.c | |||
@@ -83,6 +83,8 @@ static int __init cf_init_default(void) | |||
83 | #include <asm/se.h> | 83 | #include <asm/se.h> |
84 | #elif defined(CONFIG_SH_7722_SOLUTION_ENGINE) | 84 | #elif defined(CONFIG_SH_7722_SOLUTION_ENGINE) |
85 | #include <asm/se7722.h> | 85 | #include <asm/se7722.h> |
86 | #elif defined(CONFIG_SH_7721_SOLUTION_ENGINE) | ||
87 | #include <asm/se7721.h> | ||
86 | #endif | 88 | #endif |
87 | 89 | ||
88 | /* | 90 | /* |
@@ -99,7 +101,9 @@ static int __init cf_init_default(void) | |||
99 | * 0xB0600000 : I/O | 101 | * 0xB0600000 : I/O |
100 | */ | 102 | */ |
101 | 103 | ||
102 | #if defined(CONFIG_SH_SOLUTION_ENGINE) || defined(CONFIG_SH_7722_SOLUTION_ENGINE) | 104 | #if defined(CONFIG_SH_SOLUTION_ENGINE) || \ |
105 | defined(CONFIG_SH_7722_SOLUTION_ENGINE) || \ | ||
106 | defined(CONFIG_SH_7721_SOLUTION_ENGINE) | ||
103 | static int __init cf_init_se(void) | 107 | static int __init cf_init_se(void) |
104 | { | 108 | { |
105 | if ((ctrl_inw(MRSHPC_CSR) & 0x000c) != 0) | 109 | if ((ctrl_inw(MRSHPC_CSR) & 0x000c) != 0) |
@@ -112,7 +116,7 @@ static int __init cf_init_se(void) | |||
112 | } | 116 | } |
113 | 117 | ||
114 | /* | 118 | /* |
115 | * PC-Card window open | 119 | * PC-Card window open |
116 | * flag == COMMON/ATTRIBUTE/IO | 120 | * flag == COMMON/ATTRIBUTE/IO |
117 | */ | 121 | */ |
118 | /* common window open */ | 122 | /* common window open */ |
@@ -122,7 +126,7 @@ static int __init cf_init_se(void) | |||
122 | ctrl_outw(0x0b00, MRSHPC_MW0CR2); | 126 | ctrl_outw(0x0b00, MRSHPC_MW0CR2); |
123 | else | 127 | else |
124 | /* common mode & bus width 16bit SWAP = 0*/ | 128 | /* common mode & bus width 16bit SWAP = 0*/ |
125 | ctrl_outw(0x0300, MRSHPC_MW0CR2); | 129 | ctrl_outw(0x0300, MRSHPC_MW0CR2); |
126 | 130 | ||
127 | /* attribute window open */ | 131 | /* attribute window open */ |
128 | ctrl_outw(0x8a85, MRSHPC_MW1CR1); | 132 | ctrl_outw(0x8a85, MRSHPC_MW1CR1); |
@@ -155,10 +159,9 @@ static int __init cf_init_se(void) | |||
155 | 159 | ||
156 | int __init cf_init(void) | 160 | int __init cf_init(void) |
157 | { | 161 | { |
158 | if( mach_is_se() || mach_is_7722se() ){ | 162 | if (mach_is_se() || mach_is_7722se() || mach_is_7721se()) |
159 | return cf_init_se(); | 163 | return cf_init_se(); |
160 | } | 164 | |
161 | |||
162 | return cf_init_default(); | 165 | return cf_init_default(); |
163 | } | 166 | } |
164 | 167 | ||
diff --git a/arch/sh/kernel/cpu/irq/intc-sh5.c b/arch/sh/kernel/cpu/irq/intc-sh5.c index d6e0e2bdaad5..79baa47af977 100644 --- a/arch/sh/kernel/cpu/irq/intc-sh5.c +++ b/arch/sh/kernel/cpu/irq/intc-sh5.c | |||
@@ -184,9 +184,8 @@ int intc_irq_describe(char* p, int irq) | |||
184 | 184 | ||
185 | void __init plat_irq_setup(void) | 185 | void __init plat_irq_setup(void) |
186 | { | 186 | { |
187 | unsigned long long __dummy0, __dummy1=~0x00000000100000f0; | 187 | unsigned long long __dummy0, __dummy1=~0x00000000100000f0; |
188 | unsigned long reg; | 188 | unsigned long reg; |
189 | unsigned long data; | ||
190 | int i; | 189 | int i; |
191 | 190 | ||
192 | intc_virt = onchip_remap(INTC_BASE, 1024, "INTC"); | 191 | intc_virt = onchip_remap(INTC_BASE, 1024, "INTC"); |
@@ -196,11 +195,8 @@ void __init plat_irq_setup(void) | |||
196 | 195 | ||
197 | 196 | ||
198 | /* Set default: per-line enable/disable, priority driven ack/eoi */ | 197 | /* Set default: per-line enable/disable, priority driven ack/eoi */ |
199 | for (i = 0; i < NR_INTC_IRQS; i++) { | 198 | for (i = 0; i < NR_INTC_IRQS; i++) |
200 | if (platform_int_priority[i] != NO_PRIORITY) { | 199 | irq_desc[i].chip = &intc_irq_type; |
201 | irq_desc[i].chip = &intc_irq_type; | ||
202 | } | ||
203 | } | ||
204 | 200 | ||
205 | 201 | ||
206 | /* Disable all interrupts and set all priorities to 0 to avoid trouble */ | 202 | /* Disable all interrupts and set all priorities to 0 to avoid trouble */ |
@@ -211,35 +207,43 @@ void __init plat_irq_setup(void) | |||
211 | ctrl_outl( NO_PRIORITY, reg); | 207 | ctrl_outl( NO_PRIORITY, reg); |
212 | 208 | ||
213 | 209 | ||
214 | /* Set IRLM */ | 210 | #ifdef CONFIG_SH_CAYMAN |
215 | /* If all the priorities are set to 'no priority', then | 211 | { |
216 | * assume we are using encoded mode. | 212 | unsigned long data; |
217 | */ | 213 | |
218 | irlm = platform_int_priority[IRQ_IRL0] + platform_int_priority[IRQ_IRL1] + \ | 214 | /* Set IRLM */ |
219 | platform_int_priority[IRQ_IRL2] + platform_int_priority[IRQ_IRL3]; | 215 | /* If all the priorities are set to 'no priority', then |
220 | 216 | * assume we are using encoded mode. | |
221 | if (irlm == NO_PRIORITY) { | 217 | */ |
222 | /* IRLM = 0 */ | 218 | irlm = platform_int_priority[IRQ_IRL0] + |
223 | reg = INTC_ICR_CLEAR; | 219 | platform_int_priority[IRQ_IRL1] + |
224 | i = IRQ_INTA; | 220 | platform_int_priority[IRQ_IRL2] + |
225 | printk("Trying to use encoded IRL0-3. IRLs unsupported.\n"); | 221 | platform_int_priority[IRQ_IRL3]; |
226 | } else { | 222 | if (irlm == NO_PRIORITY) { |
227 | /* IRLM = 1 */ | 223 | /* IRLM = 0 */ |
228 | reg = INTC_ICR_SET; | 224 | reg = INTC_ICR_CLEAR; |
229 | i = IRQ_IRL0; | 225 | i = IRQ_INTA; |
230 | } | 226 | printk("Trying to use encoded IRL0-3. IRLs unsupported.\n"); |
231 | ctrl_outl(INTC_ICR_IRLM, reg); | 227 | } else { |
232 | 228 | /* IRLM = 1 */ | |
233 | /* Set interrupt priorities according to platform description */ | 229 | reg = INTC_ICR_SET; |
234 | for (data = 0, reg = INTC_INTPRI_0; i < NR_INTC_IRQS; i++) { | 230 | i = IRQ_IRL0; |
235 | data |= platform_int_priority[i] << ((i % INTC_INTPRI_PPREG) * 4); | 231 | } |
236 | if ((i % INTC_INTPRI_PPREG) == (INTC_INTPRI_PPREG - 1)) { | 232 | ctrl_outl(INTC_ICR_IRLM, reg); |
237 | /* Upon the 7th, set Priority Register */ | 233 | |
238 | ctrl_outl(data, reg); | 234 | /* Set interrupt priorities according to platform description */ |
239 | data = 0; | 235 | for (data = 0, reg = INTC_INTPRI_0; i < NR_INTC_IRQS; i++) { |
240 | reg += 8; | 236 | data |= platform_int_priority[i] << |
237 | ((i % INTC_INTPRI_PPREG) * 4); | ||
238 | if ((i % INTC_INTPRI_PPREG) == (INTC_INTPRI_PPREG - 1)) { | ||
239 | /* Upon the 7th, set Priority Register */ | ||
240 | ctrl_outl(data, reg); | ||
241 | data = 0; | ||
242 | reg += 8; | ||
243 | } | ||
241 | } | 244 | } |
242 | } | 245 | } |
246 | #endif | ||
243 | 247 | ||
244 | /* | 248 | /* |
245 | * And now let interrupts come in. | 249 | * And now let interrupts come in. |
diff --git a/arch/sh/kernel/cpu/irq/intc.c b/arch/sh/kernel/cpu/irq/intc.c index 84806b2027f8..da5dae787888 100644 --- a/arch/sh/kernel/cpu/irq/intc.c +++ b/arch/sh/kernel/cpu/irq/intc.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * Shared interrupt handling code for IPR and INTC2 types of IRQs. | 2 | * Shared interrupt handling code for IPR and INTC2 types of IRQs. |
3 | * | 3 | * |
4 | * Copyright (C) 2007 Magnus Damm | 4 | * Copyright (C) 2007, 2008 Magnus Damm |
5 | * | 5 | * |
6 | * Based on intc2.c and ipr.c | 6 | * Based on intc2.c and ipr.c |
7 | * | 7 | * |
@@ -62,6 +62,9 @@ struct intc_desc_int { | |||
62 | #endif | 62 | #endif |
63 | 63 | ||
64 | static unsigned int intc_prio_level[NR_IRQS]; /* for now */ | 64 | static unsigned int intc_prio_level[NR_IRQS]; /* for now */ |
65 | #ifdef CONFIG_CPU_SH3 | ||
66 | static unsigned long ack_handle[NR_IRQS]; | ||
67 | #endif | ||
65 | 68 | ||
66 | static inline struct intc_desc_int *get_intc_desc(unsigned int irq) | 69 | static inline struct intc_desc_int *get_intc_desc(unsigned int irq) |
67 | { | 70 | { |
@@ -98,17 +101,26 @@ static void write_32(unsigned long addr, unsigned long h, unsigned long data) | |||
98 | 101 | ||
99 | static void modify_8(unsigned long addr, unsigned long h, unsigned long data) | 102 | static void modify_8(unsigned long addr, unsigned long h, unsigned long data) |
100 | { | 103 | { |
104 | unsigned long flags; | ||
105 | local_irq_save(flags); | ||
101 | ctrl_outb(set_field(ctrl_inb(addr), data, h), addr); | 106 | ctrl_outb(set_field(ctrl_inb(addr), data, h), addr); |
107 | local_irq_restore(flags); | ||
102 | } | 108 | } |
103 | 109 | ||
104 | static void modify_16(unsigned long addr, unsigned long h, unsigned long data) | 110 | static void modify_16(unsigned long addr, unsigned long h, unsigned long data) |
105 | { | 111 | { |
112 | unsigned long flags; | ||
113 | local_irq_save(flags); | ||
106 | ctrl_outw(set_field(ctrl_inw(addr), data, h), addr); | 114 | ctrl_outw(set_field(ctrl_inw(addr), data, h), addr); |
115 | local_irq_restore(flags); | ||
107 | } | 116 | } |
108 | 117 | ||
109 | static void modify_32(unsigned long addr, unsigned long h, unsigned long data) | 118 | static void modify_32(unsigned long addr, unsigned long h, unsigned long data) |
110 | { | 119 | { |
120 | unsigned long flags; | ||
121 | local_irq_save(flags); | ||
111 | ctrl_outl(set_field(ctrl_inl(addr), data, h), addr); | 122 | ctrl_outl(set_field(ctrl_inl(addr), data, h), addr); |
123 | local_irq_restore(flags); | ||
112 | } | 124 | } |
113 | 125 | ||
114 | enum { REG_FN_ERR = 0, REG_FN_WRITE_BASE = 1, REG_FN_MODIFY_BASE = 5 }; | 126 | enum { REG_FN_ERR = 0, REG_FN_WRITE_BASE = 1, REG_FN_MODIFY_BASE = 5 }; |
@@ -219,6 +231,25 @@ static void intc_disable(unsigned int irq) | |||
219 | } | 231 | } |
220 | } | 232 | } |
221 | 233 | ||
234 | #ifdef CONFIG_CPU_SH3 | ||
235 | static void intc_mask_ack(unsigned int irq) | ||
236 | { | ||
237 | struct intc_desc_int *d = get_intc_desc(irq); | ||
238 | unsigned long handle = ack_handle[irq]; | ||
239 | unsigned long addr; | ||
240 | |||
241 | intc_disable(irq); | ||
242 | |||
243 | /* read register and write zero only to the assocaited bit */ | ||
244 | |||
245 | if (handle) { | ||
246 | addr = INTC_REG(d, _INTC_ADDR_D(handle), 0); | ||
247 | ctrl_inb(addr); | ||
248 | ctrl_outb(0x3f ^ set_field(0, 1, handle), addr); | ||
249 | } | ||
250 | } | ||
251 | #endif | ||
252 | |||
222 | static struct intc_handle_int *intc_find_irq(struct intc_handle_int *hp, | 253 | static struct intc_handle_int *intc_find_irq(struct intc_handle_int *hp, |
223 | unsigned int nr_hp, | 254 | unsigned int nr_hp, |
224 | unsigned int irq) | 255 | unsigned int irq) |
@@ -280,7 +311,12 @@ static unsigned char intc_irq_sense_table[IRQ_TYPE_SENSE_MASK + 1] = { | |||
280 | [IRQ_TYPE_EDGE_FALLING] = VALID(0), | 311 | [IRQ_TYPE_EDGE_FALLING] = VALID(0), |
281 | [IRQ_TYPE_EDGE_RISING] = VALID(1), | 312 | [IRQ_TYPE_EDGE_RISING] = VALID(1), |
282 | [IRQ_TYPE_LEVEL_LOW] = VALID(2), | 313 | [IRQ_TYPE_LEVEL_LOW] = VALID(2), |
314 | /* SH7706, SH7707 and SH7709 do not support high level triggered */ | ||
315 | #if !defined(CONFIG_CPU_SUBTYPE_SH7706) && \ | ||
316 | !defined(CONFIG_CPU_SUBTYPE_SH7707) && \ | ||
317 | !defined(CONFIG_CPU_SUBTYPE_SH7709) | ||
283 | [IRQ_TYPE_LEVEL_HIGH] = VALID(3), | 318 | [IRQ_TYPE_LEVEL_HIGH] = VALID(3), |
319 | #endif | ||
284 | }; | 320 | }; |
285 | 321 | ||
286 | static int intc_set_sense(unsigned int irq, unsigned int type) | 322 | static int intc_set_sense(unsigned int irq, unsigned int type) |
@@ -430,6 +466,40 @@ static unsigned int __init intc_prio_data(struct intc_desc *desc, | |||
430 | return 0; | 466 | return 0; |
431 | } | 467 | } |
432 | 468 | ||
469 | #ifdef CONFIG_CPU_SH3 | ||
470 | static unsigned int __init intc_ack_data(struct intc_desc *desc, | ||
471 | struct intc_desc_int *d, | ||
472 | intc_enum enum_id) | ||
473 | { | ||
474 | struct intc_mask_reg *mr = desc->ack_regs; | ||
475 | unsigned int i, j, fn, mode; | ||
476 | unsigned long reg_e, reg_d; | ||
477 | |||
478 | for (i = 0; mr && enum_id && i < desc->nr_ack_regs; i++) { | ||
479 | mr = desc->ack_regs + i; | ||
480 | |||
481 | for (j = 0; j < ARRAY_SIZE(mr->enum_ids); j++) { | ||
482 | if (mr->enum_ids[j] != enum_id) | ||
483 | continue; | ||
484 | |||
485 | fn = REG_FN_MODIFY_BASE; | ||
486 | mode = MODE_ENABLE_REG; | ||
487 | reg_e = mr->set_reg; | ||
488 | reg_d = mr->set_reg; | ||
489 | |||
490 | fn += (mr->reg_width >> 3) - 1; | ||
491 | return _INTC_MK(fn, mode, | ||
492 | intc_get_reg(d, reg_e), | ||
493 | intc_get_reg(d, reg_d), | ||
494 | 1, | ||
495 | (mr->reg_width - 1) - j); | ||
496 | } | ||
497 | } | ||
498 | |||
499 | return 0; | ||
500 | } | ||
501 | #endif | ||
502 | |||
433 | static unsigned int __init intc_sense_data(struct intc_desc *desc, | 503 | static unsigned int __init intc_sense_data(struct intc_desc *desc, |
434 | struct intc_desc_int *d, | 504 | struct intc_desc_int *d, |
435 | intc_enum enum_id) | 505 | intc_enum enum_id) |
@@ -530,6 +600,11 @@ static void __init intc_register_irq(struct intc_desc *desc, | |||
530 | 600 | ||
531 | /* irq should be disabled by default */ | 601 | /* irq should be disabled by default */ |
532 | d->chip.mask(irq); | 602 | d->chip.mask(irq); |
603 | |||
604 | #ifdef CONFIG_CPU_SH3 | ||
605 | if (desc->ack_regs) | ||
606 | ack_handle[irq] = intc_ack_data(desc, d, enum_id); | ||
607 | #endif | ||
533 | } | 608 | } |
534 | 609 | ||
535 | static unsigned int __init save_reg(struct intc_desc_int *d, | 610 | static unsigned int __init save_reg(struct intc_desc_int *d, |
@@ -560,6 +635,9 @@ void __init register_intc_controller(struct intc_desc *desc) | |||
560 | d->nr_reg += desc->prio_regs ? desc->nr_prio_regs * 2 : 0; | 635 | d->nr_reg += desc->prio_regs ? desc->nr_prio_regs * 2 : 0; |
561 | d->nr_reg += desc->sense_regs ? desc->nr_sense_regs : 0; | 636 | d->nr_reg += desc->sense_regs ? desc->nr_sense_regs : 0; |
562 | 637 | ||
638 | #ifdef CONFIG_CPU_SH3 | ||
639 | d->nr_reg += desc->ack_regs ? desc->nr_ack_regs : 0; | ||
640 | #endif | ||
563 | d->reg = alloc_bootmem(d->nr_reg * sizeof(*d->reg)); | 641 | d->reg = alloc_bootmem(d->nr_reg * sizeof(*d->reg)); |
564 | #ifdef CONFIG_SMP | 642 | #ifdef CONFIG_SMP |
565 | d->smp = alloc_bootmem(d->nr_reg * sizeof(*d->smp)); | 643 | d->smp = alloc_bootmem(d->nr_reg * sizeof(*d->smp)); |
@@ -592,14 +670,23 @@ void __init register_intc_controller(struct intc_desc *desc) | |||
592 | } | 670 | } |
593 | } | 671 | } |
594 | 672 | ||
595 | BUG_ON(k > 256); /* _INTC_ADDR_E() and _INTC_ADDR_D() are 8 bits */ | ||
596 | |||
597 | d->chip.name = desc->name; | 673 | d->chip.name = desc->name; |
598 | d->chip.mask = intc_disable; | 674 | d->chip.mask = intc_disable; |
599 | d->chip.unmask = intc_enable; | 675 | d->chip.unmask = intc_enable; |
600 | d->chip.mask_ack = intc_disable; | 676 | d->chip.mask_ack = intc_disable; |
601 | d->chip.set_type = intc_set_sense; | 677 | d->chip.set_type = intc_set_sense; |
602 | 678 | ||
679 | #ifdef CONFIG_CPU_SH3 | ||
680 | if (desc->ack_regs) { | ||
681 | for (i = 0; i < desc->nr_ack_regs; i++) | ||
682 | k += save_reg(d, k, desc->ack_regs[i].set_reg, 0); | ||
683 | |||
684 | d->chip.mask_ack = intc_mask_ack; | ||
685 | } | ||
686 | #endif | ||
687 | |||
688 | BUG_ON(k > 256); /* _INTC_ADDR_E() and _INTC_ADDR_D() are 8 bits */ | ||
689 | |||
603 | for (i = 0; i < desc->nr_vectors; i++) { | 690 | for (i = 0; i < desc->nr_vectors; i++) { |
604 | struct intc_vect *vect = desc->vectors + i; | 691 | struct intc_vect *vect = desc->vectors + i; |
605 | 692 | ||
diff --git a/arch/sh/kernel/cpu/sh2a/Makefile b/arch/sh/kernel/cpu/sh2a/Makefile index b279cdc3a233..7e2b90cfa7bf 100644 --- a/arch/sh/kernel/cpu/sh2a/Makefile +++ b/arch/sh/kernel/cpu/sh2a/Makefile | |||
@@ -8,6 +8,7 @@ common-y += $(addprefix ../sh2/, ex.o entry.o) | |||
8 | 8 | ||
9 | obj-$(CONFIG_SH_FPU) += fpu.o | 9 | obj-$(CONFIG_SH_FPU) += fpu.o |
10 | 10 | ||
11 | obj-$(CONFIG_CPU_SUBTYPE_SH7206) += setup-sh7206.o clock-sh7206.o | 11 | obj-$(CONFIG_CPU_SUBTYPE_SH7206) += setup-sh7206.o clock-sh7206.o |
12 | obj-$(CONFIG_CPU_SUBTYPE_SH7203) += setup-sh7203.o clock-sh7203.o | 12 | obj-$(CONFIG_CPU_SUBTYPE_SH7203) += setup-sh7203.o clock-sh7203.o |
13 | obj-$(CONFIG_CPU_SUBTYPE_SH7263) += setup-sh7203.o clock-sh7203.o | 13 | obj-$(CONFIG_CPU_SUBTYPE_SH7263) += setup-sh7203.o clock-sh7203.o |
14 | obj-$(CONFIG_CPU_SUBTYPE_MXG) += setup-mxg.o clock-sh7206.o | ||
diff --git a/arch/sh/kernel/cpu/sh2a/fpu.c b/arch/sh/kernel/cpu/sh2a/fpu.c index ff99562456fb..6df2fb98eb30 100644 --- a/arch/sh/kernel/cpu/sh2a/fpu.c +++ b/arch/sh/kernel/cpu/sh2a/fpu.c | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <linux/signal.h> | 13 | #include <linux/signal.h> |
14 | #include <asm/processor.h> | 14 | #include <asm/processor.h> |
15 | #include <asm/io.h> | 15 | #include <asm/io.h> |
16 | #include <asm/fpu.h> | ||
16 | 17 | ||
17 | /* The PR (precision) bit in the FP Status Register must be clear when | 18 | /* The PR (precision) bit in the FP Status Register must be clear when |
18 | * an frchg instruction is executed, otherwise the instruction is undefined. | 19 | * an frchg instruction is executed, otherwise the instruction is undefined. |
@@ -299,7 +300,7 @@ static int denormal_addf(int hx, int hy) | |||
299 | iy = hy & 0x7fffffff; | 300 | iy = hy & 0x7fffffff; |
300 | if (iy < 0x00800000) { | 301 | if (iy < 0x00800000) { |
301 | ix = denormal_subf1(ix, iy); | 302 | ix = denormal_subf1(ix, iy); |
302 | if (ix < 0) { | 303 | if ((int) ix < 0) { |
303 | ix = -ix; | 304 | ix = -ix; |
304 | sign ^= 0x80000000; | 305 | sign ^= 0x80000000; |
305 | } | 306 | } |
@@ -384,7 +385,7 @@ static long long denormal_addd(long long hx, long long hy) | |||
384 | iy = hy & 0x7fffffffffffffffLL; | 385 | iy = hy & 0x7fffffffffffffffLL; |
385 | if (iy < 0x0010000000000000LL) { | 386 | if (iy < 0x0010000000000000LL) { |
386 | ix = denormal_subd1(ix, iy); | 387 | ix = denormal_subd1(ix, iy); |
387 | if (ix < 0) { | 388 | if ((int) ix < 0) { |
388 | ix = -ix; | 389 | ix = -ix; |
389 | sign ^= 0x8000000000000000LL; | 390 | sign ^= 0x8000000000000000LL; |
390 | } | 391 | } |
diff --git a/arch/sh/kernel/cpu/sh2a/probe.c b/arch/sh/kernel/cpu/sh2a/probe.c index 6910e2664468..6e79132f6f30 100644 --- a/arch/sh/kernel/cpu/sh2a/probe.c +++ b/arch/sh/kernel/cpu/sh2a/probe.c | |||
@@ -29,6 +29,9 @@ int __init detect_cpu_and_cache_system(void) | |||
29 | boot_cpu_data.type = CPU_SH7206; | 29 | boot_cpu_data.type = CPU_SH7206; |
30 | /* While SH7206 has a DSP.. */ | 30 | /* While SH7206 has a DSP.. */ |
31 | boot_cpu_data.flags |= CPU_HAS_DSP; | 31 | boot_cpu_data.flags |= CPU_HAS_DSP; |
32 | #elif defined(CONFIG_CPU_SUBTYPE_MXG) | ||
33 | boot_cpu_data.type = CPU_MXG; | ||
34 | boot_cpu_data.flags |= CPU_HAS_DSP; | ||
32 | #endif | 35 | #endif |
33 | 36 | ||
34 | boot_cpu_data.dcache.ways = 4; | 37 | boot_cpu_data.dcache.ways = 4; |
diff --git a/arch/sh/kernel/cpu/sh2a/setup-mxg.c b/arch/sh/kernel/cpu/sh2a/setup-mxg.c new file mode 100644 index 000000000000..e611d79fac4c --- /dev/null +++ b/arch/sh/kernel/cpu/sh2a/setup-mxg.c | |||
@@ -0,0 +1,168 @@ | |||
1 | /* | ||
2 | * Renesas MX-G (R8A03022BG) Setup | ||
3 | * | ||
4 | * Copyright (C) 2008 Paul Mundt | ||
5 | * | ||
6 | * This file is subject to the terms and conditions of the GNU General Public | ||
7 | * License. See the file "COPYING" in the main directory of this archive | ||
8 | * for more details. | ||
9 | */ | ||
10 | #include <linux/platform_device.h> | ||
11 | #include <linux/init.h> | ||
12 | #include <linux/serial.h> | ||
13 | #include <linux/serial_sci.h> | ||
14 | |||
15 | enum { | ||
16 | UNUSED = 0, | ||
17 | |||
18 | /* interrupt sources */ | ||
19 | IRQ0, IRQ1, IRQ2, IRQ3, IRQ4, IRQ5, IRQ6, IRQ7, | ||
20 | IRQ8, IRQ9, IRQ10, IRQ11, IRQ12, IRQ13, IRQ14, IRQ15, | ||
21 | |||
22 | PINT0, PINT1, PINT2, PINT3, PINT4, PINT5, PINT6, PINT7, | ||
23 | |||
24 | SINT8, SINT7, SINT6, SINT5, SINT4, SINT3, SINT2, SINT1, | ||
25 | |||
26 | SCIF0_BRI, SCIF0_ERI, SCIF0_RXI, SCIF0_TXI, | ||
27 | SCIF1_BRI, SCIF1_ERI, SCIF1_RXI, SCIF1_TXI, | ||
28 | |||
29 | MTU2_TGI0A, MTU2_TGI0B, MTU2_TGI0C, MTU2_TGI0D, | ||
30 | MTU2_TCI0V, MTU2_TGI0E, MTU2_TGI0F, | ||
31 | MTU2_TGI1A, MTU2_TGI1B, MTU2_TCI1V, MTU2_TCI1U, | ||
32 | MTU2_TGI2A, MTU2_TGI2B, MTU2_TCI2V, MTU2_TCI2U, | ||
33 | MTU2_TGI3A, MTU2_TGI3B, MTU2_TGI3C, MTU2_TGI3D, MTU2_TCI3V, | ||
34 | MTU2_TGI4A, MTU2_TGI4B, MTU2_TGI4C, MTU2_TGI4D, MTU2_TCI4V, | ||
35 | MTU2_TGI5U, MTU2_TGI5V, MTU2_TGI5W, | ||
36 | |||
37 | /* interrupt groups */ | ||
38 | PINT, SCIF0, SCIF1, | ||
39 | MTU2_GROUP1, MTU2_GROUP2, MTU2_GROUP3, MTU2_GROUP4, MTU2_GROUP5 | ||
40 | }; | ||
41 | |||
42 | static struct intc_vect vectors[] __initdata = { | ||
43 | INTC_IRQ(IRQ0, 64), INTC_IRQ(IRQ1, 65), | ||
44 | INTC_IRQ(IRQ2, 66), INTC_IRQ(IRQ3, 67), | ||
45 | INTC_IRQ(IRQ4, 68), INTC_IRQ(IRQ5, 69), | ||
46 | INTC_IRQ(IRQ6, 70), INTC_IRQ(IRQ7, 71), | ||
47 | INTC_IRQ(IRQ8, 72), INTC_IRQ(IRQ9, 73), | ||
48 | INTC_IRQ(IRQ10, 74), INTC_IRQ(IRQ11, 75), | ||
49 | INTC_IRQ(IRQ12, 76), INTC_IRQ(IRQ13, 77), | ||
50 | INTC_IRQ(IRQ14, 78), INTC_IRQ(IRQ15, 79), | ||
51 | |||
52 | INTC_IRQ(PINT0, 80), INTC_IRQ(PINT1, 81), | ||
53 | INTC_IRQ(PINT2, 82), INTC_IRQ(PINT3, 83), | ||
54 | INTC_IRQ(PINT4, 84), INTC_IRQ(PINT5, 85), | ||
55 | INTC_IRQ(PINT6, 86), INTC_IRQ(PINT7, 87), | ||
56 | |||
57 | INTC_IRQ(SINT8, 94), INTC_IRQ(SINT7, 95), | ||
58 | INTC_IRQ(SINT6, 96), INTC_IRQ(SINT5, 97), | ||
59 | INTC_IRQ(SINT4, 98), INTC_IRQ(SINT3, 99), | ||
60 | INTC_IRQ(SINT2, 100), INTC_IRQ(SINT1, 101), | ||
61 | |||
62 | INTC_IRQ(SCIF0_RXI, 220), INTC_IRQ(SCIF0_TXI, 221), | ||
63 | INTC_IRQ(SCIF0_BRI, 222), INTC_IRQ(SCIF0_ERI, 223), | ||
64 | INTC_IRQ(SCIF1_RXI, 224), INTC_IRQ(SCIF1_TXI, 225), | ||
65 | INTC_IRQ(SCIF1_BRI, 226), INTC_IRQ(SCIF1_ERI, 227), | ||
66 | |||
67 | INTC_IRQ(MTU2_TGI0A, 228), INTC_IRQ(MTU2_TGI0B, 229), | ||
68 | INTC_IRQ(MTU2_TGI0C, 230), INTC_IRQ(MTU2_TGI0D, 231), | ||
69 | INTC_IRQ(MTU2_TCI0V, 232), INTC_IRQ(MTU2_TGI0E, 233), | ||
70 | |||
71 | INTC_IRQ(MTU2_TGI0F, 234), INTC_IRQ(MTU2_TGI1A, 235), | ||
72 | INTC_IRQ(MTU2_TGI1B, 236), INTC_IRQ(MTU2_TCI1V, 237), | ||
73 | INTC_IRQ(MTU2_TCI1U, 238), INTC_IRQ(MTU2_TGI2A, 239), | ||
74 | |||
75 | INTC_IRQ(MTU2_TGI2B, 240), INTC_IRQ(MTU2_TCI2V, 241), | ||
76 | INTC_IRQ(MTU2_TCI2U, 242), INTC_IRQ(MTU2_TGI3A, 243), | ||
77 | |||
78 | INTC_IRQ(MTU2_TGI3B, 244), | ||
79 | INTC_IRQ(MTU2_TGI3C, 245), | ||
80 | |||
81 | INTC_IRQ(MTU2_TGI3D, 246), INTC_IRQ(MTU2_TCI3V, 247), | ||
82 | INTC_IRQ(MTU2_TGI4A, 248), INTC_IRQ(MTU2_TGI4B, 249), | ||
83 | INTC_IRQ(MTU2_TGI4C, 250), INTC_IRQ(MTU2_TGI4D, 251), | ||
84 | |||
85 | INTC_IRQ(MTU2_TCI4V, 252), INTC_IRQ(MTU2_TGI5U, 253), | ||
86 | INTC_IRQ(MTU2_TGI5V, 254), INTC_IRQ(MTU2_TGI5W, 255), | ||
87 | }; | ||
88 | |||
89 | static struct intc_group groups[] __initdata = { | ||
90 | INTC_GROUP(PINT, PINT0, PINT1, PINT2, PINT3, | ||
91 | PINT4, PINT5, PINT6, PINT7), | ||
92 | INTC_GROUP(MTU2_GROUP1, MTU2_TGI0A, MTU2_TGI0B, MTU2_TGI0C, MTU2_TGI0D, | ||
93 | MTU2_TCI0V, MTU2_TGI0E), | ||
94 | INTC_GROUP(MTU2_GROUP2, MTU2_TGI0F, MTU2_TGI1A, MTU2_TGI1B, | ||
95 | MTU2_TCI1V, MTU2_TCI1U, MTU2_TGI2A), | ||
96 | INTC_GROUP(MTU2_GROUP3, MTU2_TGI2B, MTU2_TCI2V, MTU2_TCI2U, | ||
97 | MTU2_TGI3A), | ||
98 | INTC_GROUP(MTU2_GROUP4, MTU2_TGI3D, MTU2_TCI3V, MTU2_TGI4A, | ||
99 | MTU2_TGI4B, MTU2_TGI4C, MTU2_TGI4D), | ||
100 | INTC_GROUP(MTU2_GROUP5, MTU2_TCI4V, MTU2_TGI5U, MTU2_TGI5V, MTU2_TGI5W), | ||
101 | INTC_GROUP(SCIF0, SCIF0_BRI, SCIF0_ERI, SCIF0_RXI, SCIF0_TXI), | ||
102 | INTC_GROUP(SCIF1, SCIF1_BRI, SCIF1_ERI, SCIF1_RXI, SCIF1_TXI), | ||
103 | }; | ||
104 | |||
105 | static struct intc_prio_reg prio_registers[] __initdata = { | ||
106 | { 0xfffd9418, 0, 16, 4, /* IPR01 */ { IRQ0, IRQ1, IRQ2, IRQ3 } }, | ||
107 | { 0xfffd941a, 0, 16, 4, /* IPR02 */ { IRQ4, IRQ5, IRQ6, IRQ7 } }, | ||
108 | { 0xfffd941c, 0, 16, 4, /* IPR03 */ { IRQ8, IRQ9, IRQ10, IRQ11 } }, | ||
109 | { 0xfffd941e, 0, 16, 4, /* IPR04 */ { IRQ12, IRQ13, IRQ14, IRQ15 } }, | ||
110 | { 0xfffd9420, 0, 16, 4, /* IPR05 */ { PINT, 0, 0, 0 } }, | ||
111 | { 0xfffd9800, 0, 16, 4, /* IPR06 */ { } }, | ||
112 | { 0xfffd9802, 0, 16, 4, /* IPR07 */ { } }, | ||
113 | { 0xfffd9804, 0, 16, 4, /* IPR08 */ { } }, | ||
114 | { 0xfffd9806, 0, 16, 4, /* IPR09 */ { } }, | ||
115 | { 0xfffd9808, 0, 16, 4, /* IPR10 */ { } }, | ||
116 | { 0xfffd980a, 0, 16, 4, /* IPR11 */ { } }, | ||
117 | { 0xfffd980c, 0, 16, 4, /* IPR12 */ { } }, | ||
118 | { 0xfffd980e, 0, 16, 4, /* IPR13 */ { } }, | ||
119 | { 0xfffd9810, 0, 16, 4, /* IPR14 */ { 0, 0, 0, SCIF0 } }, | ||
120 | { 0xfffd9812, 0, 16, 4, /* IPR15 */ | ||
121 | { SCIF1, MTU2_GROUP1, MTU2_GROUP2, MTU2_GROUP3 } }, | ||
122 | { 0xfffd9814, 0, 16, 4, /* IPR16 */ | ||
123 | { MTU2_TGI3B, MTU2_TGI3C, MTU2_GROUP4, MTU2_GROUP5 } }, | ||
124 | }; | ||
125 | |||
126 | static struct intc_mask_reg mask_registers[] __initdata = { | ||
127 | { 0xfffd9408, 0, 16, /* PINTER */ | ||
128 | { 0, 0, 0, 0, 0, 0, 0, 0, | ||
129 | PINT7, PINT6, PINT5, PINT4, PINT3, PINT2, PINT1, PINT0 } }, | ||
130 | }; | ||
131 | |||
132 | static DECLARE_INTC_DESC(intc_desc, "mxg", vectors, groups, | ||
133 | mask_registers, prio_registers, NULL); | ||
134 | |||
135 | static struct plat_sci_port sci_platform_data[] = { | ||
136 | { | ||
137 | .mapbase = 0xff804000, | ||
138 | .flags = UPF_BOOT_AUTOCONF, | ||
139 | .type = PORT_SCIF, | ||
140 | .irqs = { 223, 220, 221, 222 }, | ||
141 | }, { | ||
142 | .flags = 0, | ||
143 | } | ||
144 | }; | ||
145 | |||
146 | static struct platform_device sci_device = { | ||
147 | .name = "sh-sci", | ||
148 | .id = -1, | ||
149 | .dev = { | ||
150 | .platform_data = sci_platform_data, | ||
151 | }, | ||
152 | }; | ||
153 | |||
154 | static struct platform_device *mxg_devices[] __initdata = { | ||
155 | &sci_device, | ||
156 | }; | ||
157 | |||
158 | static int __init mxg_devices_setup(void) | ||
159 | { | ||
160 | return platform_add_devices(mxg_devices, | ||
161 | ARRAY_SIZE(mxg_devices)); | ||
162 | } | ||
163 | __initcall(mxg_devices_setup); | ||
164 | |||
165 | void __init plat_irq_setup(void) | ||
166 | { | ||
167 | register_intc_controller(&intc_desc); | ||
168 | } | ||
diff --git a/arch/sh/kernel/cpu/sh3/Makefile b/arch/sh/kernel/cpu/sh3/Makefile index 3ae4d9111f19..511de55af832 100644 --- a/arch/sh/kernel/cpu/sh3/Makefile +++ b/arch/sh/kernel/cpu/sh3/Makefile | |||
@@ -2,7 +2,7 @@ | |||
2 | # Makefile for the Linux/SuperH SH-3 backends. | 2 | # Makefile for the Linux/SuperH SH-3 backends. |
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y := ex.o probe.o entry.o | 5 | obj-y := ex.o probe.o entry.o setup-sh3.o |
6 | 6 | ||
7 | # CPU subtype setup | 7 | # CPU subtype setup |
8 | obj-$(CONFIG_CPU_SUBTYPE_SH7705) += setup-sh7705.o | 8 | obj-$(CONFIG_CPU_SUBTYPE_SH7705) += setup-sh7705.o |
diff --git a/arch/sh/kernel/cpu/sh3/setup-sh3.c b/arch/sh/kernel/cpu/sh3/setup-sh3.c new file mode 100644 index 000000000000..c98846857855 --- /dev/null +++ b/arch/sh/kernel/cpu/sh3/setup-sh3.c | |||
@@ -0,0 +1,71 @@ | |||
1 | /* | ||
2 | * Shared SH3 Setup code | ||
3 | * | ||
4 | * Copyright (C) 2008 Magnus Damm | ||
5 | * | ||
6 | * This file is subject to the terms and conditions of the GNU General Public | ||
7 | * License. See the file "COPYING" in the main directory of this archive | ||
8 | * for more details. | ||
9 | */ | ||
10 | |||
11 | #include <linux/init.h> | ||
12 | #include <linux/irq.h> | ||
13 | #include <linux/io.h> | ||
14 | |||
15 | /* All SH3 devices are equipped with IRQ0->5 (except sh7708) */ | ||
16 | |||
17 | enum { | ||
18 | UNUSED = 0, | ||
19 | |||
20 | /* interrupt sources */ | ||
21 | IRQ0, IRQ1, IRQ2, IRQ3, IRQ4, IRQ5, | ||
22 | }; | ||
23 | |||
24 | static struct intc_vect vectors_irq0123[] __initdata = { | ||
25 | INTC_VECT(IRQ0, 0x600), INTC_VECT(IRQ1, 0x620), | ||
26 | INTC_VECT(IRQ2, 0x640), INTC_VECT(IRQ3, 0x660), | ||
27 | }; | ||
28 | |||
29 | static struct intc_vect vectors_irq45[] __initdata = { | ||
30 | INTC_VECT(IRQ4, 0x680), INTC_VECT(IRQ5, 0x6a0), | ||
31 | }; | ||
32 | |||
33 | static struct intc_prio_reg prio_registers[] __initdata = { | ||
34 | { 0xa4000016, 0, 16, 4, /* IPRC */ { IRQ3, IRQ2, IRQ1, IRQ0 } }, | ||
35 | { 0xa4000018, 0, 16, 4, /* IPRD */ { 0, 0, IRQ5, IRQ4 } }, | ||
36 | }; | ||
37 | |||
38 | static struct intc_mask_reg ack_registers[] __initdata = { | ||
39 | { 0xa4000004, 0, 8, /* IRR0 */ | ||
40 | { 0, 0, IRQ5, IRQ4, IRQ3, IRQ2, IRQ1, IRQ0 } }, | ||
41 | }; | ||
42 | |||
43 | static struct intc_sense_reg sense_registers[] __initdata = { | ||
44 | { 0xa4000010, 16, 2, { 0, 0, IRQ5, IRQ4, IRQ3, IRQ2, IRQ1, IRQ0 } }, | ||
45 | }; | ||
46 | |||
47 | static DECLARE_INTC_DESC_ACK(intc_desc_irq0123, "sh3-irq0123", | ||
48 | vectors_irq0123, NULL, NULL, | ||
49 | prio_registers, sense_registers, ack_registers); | ||
50 | |||
51 | static DECLARE_INTC_DESC_ACK(intc_desc_irq45, "sh3-irq45", | ||
52 | vectors_irq45, NULL, NULL, | ||
53 | prio_registers, sense_registers, ack_registers); | ||
54 | |||
55 | #define INTC_ICR1 0xa4000010UL | ||
56 | #define INTC_ICR1_IRQLVL (1<<14) | ||
57 | |||
58 | void __init plat_irq_setup_pins(int mode) | ||
59 | { | ||
60 | if (mode == IRQ_MODE_IRQ) { | ||
61 | ctrl_outw(ctrl_inw(INTC_ICR1) & ~INTC_ICR1_IRQLVL, INTC_ICR1); | ||
62 | register_intc_controller(&intc_desc_irq0123); | ||
63 | return; | ||
64 | } | ||
65 | BUG(); | ||
66 | } | ||
67 | |||
68 | void __init plat_irq_setup_sh3(void) | ||
69 | { | ||
70 | register_intc_controller(&intc_desc_irq45); | ||
71 | } | ||
diff --git a/arch/sh/kernel/cpu/sh3/setup-sh7705.c b/arch/sh/kernel/cpu/sh3/setup-sh7705.c index f581534cb732..6468ae86b944 100644 --- a/arch/sh/kernel/cpu/sh3/setup-sh7705.c +++ b/arch/sh/kernel/cpu/sh3/setup-sh7705.c | |||
@@ -37,7 +37,7 @@ enum { | |||
37 | }; | 37 | }; |
38 | 38 | ||
39 | static struct intc_vect vectors[] __initdata = { | 39 | static struct intc_vect vectors[] __initdata = { |
40 | INTC_VECT(IRQ4, 0x680), INTC_VECT(IRQ5, 0x6a0), | 40 | /* IRQ0->5 are handled in setup-sh3.c */ |
41 | INTC_VECT(PINT07, 0x700), INTC_VECT(PINT815, 0x720), | 41 | INTC_VECT(PINT07, 0x700), INTC_VECT(PINT815, 0x720), |
42 | INTC_VECT(DMAC_DEI0, 0x800), INTC_VECT(DMAC_DEI1, 0x820), | 42 | INTC_VECT(DMAC_DEI0, 0x800), INTC_VECT(DMAC_DEI1, 0x820), |
43 | INTC_VECT(DMAC_DEI2, 0x840), INTC_VECT(DMAC_DEI3, 0x860), | 43 | INTC_VECT(DMAC_DEI2, 0x840), INTC_VECT(DMAC_DEI3, 0x860), |
@@ -48,7 +48,7 @@ static struct intc_vect vectors[] __initdata = { | |||
48 | INTC_VECT(ADC_ADI, 0x980), | 48 | INTC_VECT(ADC_ADI, 0x980), |
49 | INTC_VECT(USB_USI0, 0xa20), INTC_VECT(USB_USI1, 0xa40), | 49 | INTC_VECT(USB_USI0, 0xa20), INTC_VECT(USB_USI1, 0xa40), |
50 | INTC_VECT(TPU0, 0xc00), INTC_VECT(TPU1, 0xc20), | 50 | INTC_VECT(TPU0, 0xc00), INTC_VECT(TPU1, 0xc20), |
51 | INTC_VECT(TPU3, 0xc80), INTC_VECT(TPU1, 0xca0), | 51 | INTC_VECT(TPU2, 0xc80), INTC_VECT(TPU3, 0xca0), |
52 | INTC_VECT(TMU0, 0x400), INTC_VECT(TMU1, 0x420), | 52 | INTC_VECT(TMU0, 0x400), INTC_VECT(TMU1, 0x420), |
53 | INTC_VECT(TMU2_TUNI, 0x440), INTC_VECT(TMU2_TICPI, 0x460), | 53 | INTC_VECT(TMU2_TUNI, 0x440), INTC_VECT(TMU2_TICPI, 0x460), |
54 | INTC_VECT(RTC_ATI, 0x480), INTC_VECT(RTC_PRI, 0x4a0), | 54 | INTC_VECT(RTC_ATI, 0x480), INTC_VECT(RTC_PRI, 0x4a0), |
@@ -81,14 +81,6 @@ static struct intc_prio_reg prio_registers[] __initdata = { | |||
81 | static DECLARE_INTC_DESC(intc_desc, "sh7705", vectors, groups, | 81 | static DECLARE_INTC_DESC(intc_desc, "sh7705", vectors, groups, |
82 | NULL, prio_registers, NULL); | 82 | NULL, prio_registers, NULL); |
83 | 83 | ||
84 | static struct intc_vect vectors_irq[] __initdata = { | ||
85 | INTC_VECT(IRQ0, 0x600), INTC_VECT(IRQ1, 0x620), | ||
86 | INTC_VECT(IRQ2, 0x640), INTC_VECT(IRQ3, 0x660), | ||
87 | }; | ||
88 | |||
89 | static DECLARE_INTC_DESC(intc_desc_irq, "sh7705-irq", vectors_irq, NULL, | ||
90 | NULL, prio_registers, NULL); | ||
91 | |||
92 | static struct plat_sci_port sci_platform_data[] = { | 84 | static struct plat_sci_port sci_platform_data[] = { |
93 | { | 85 | { |
94 | .mapbase = 0xa4410000, | 86 | .mapbase = 0xa4410000, |
@@ -159,16 +151,8 @@ static int __init sh7705_devices_setup(void) | |||
159 | } | 151 | } |
160 | __initcall(sh7705_devices_setup); | 152 | __initcall(sh7705_devices_setup); |
161 | 153 | ||
162 | void __init plat_irq_setup_pins(int mode) | ||
163 | { | ||
164 | if (mode == IRQ_MODE_IRQ) { | ||
165 | register_intc_controller(&intc_desc_irq); | ||
166 | return; | ||
167 | } | ||
168 | BUG(); | ||
169 | } | ||
170 | |||
171 | void __init plat_irq_setup(void) | 154 | void __init plat_irq_setup(void) |
172 | { | 155 | { |
173 | register_intc_controller(&intc_desc); | 156 | register_intc_controller(&intc_desc); |
157 | plat_irq_setup_sh3(); | ||
174 | } | 158 | } |
diff --git a/arch/sh/kernel/cpu/sh3/setup-sh770x.c b/arch/sh/kernel/cpu/sh3/setup-sh770x.c index d3733b13ea52..93c55e2ed952 100644 --- a/arch/sh/kernel/cpu/sh3/setup-sh770x.c +++ b/arch/sh/kernel/cpu/sh3/setup-sh770x.c | |||
@@ -52,7 +52,7 @@ static struct intc_vect vectors[] __initdata = { | |||
52 | #if defined(CONFIG_CPU_SUBTYPE_SH7706) || \ | 52 | #if defined(CONFIG_CPU_SUBTYPE_SH7706) || \ |
53 | defined(CONFIG_CPU_SUBTYPE_SH7707) || \ | 53 | defined(CONFIG_CPU_SUBTYPE_SH7707) || \ |
54 | defined(CONFIG_CPU_SUBTYPE_SH7709) | 54 | defined(CONFIG_CPU_SUBTYPE_SH7709) |
55 | INTC_VECT(IRQ4, 0x680), INTC_VECT(IRQ5, 0x6a0), | 55 | /* IRQ0->5 are handled in setup-sh3.c */ |
56 | INTC_VECT(DMAC_DEI0, 0x800), INTC_VECT(DMAC_DEI1, 0x820), | 56 | INTC_VECT(DMAC_DEI0, 0x800), INTC_VECT(DMAC_DEI1, 0x820), |
57 | INTC_VECT(DMAC_DEI2, 0x840), INTC_VECT(DMAC_DEI3, 0x860), | 57 | INTC_VECT(DMAC_DEI2, 0x840), INTC_VECT(DMAC_DEI3, 0x860), |
58 | INTC_VECT(ADC_ADI, 0x980), | 58 | INTC_VECT(ADC_ADI, 0x980), |
@@ -104,18 +104,6 @@ static struct intc_prio_reg prio_registers[] __initdata = { | |||
104 | static DECLARE_INTC_DESC(intc_desc, "sh770x", vectors, groups, | 104 | static DECLARE_INTC_DESC(intc_desc, "sh770x", vectors, groups, |
105 | NULL, prio_registers, NULL); | 105 | NULL, prio_registers, NULL); |
106 | 106 | ||
107 | #if defined(CONFIG_CPU_SUBTYPE_SH7706) || \ | ||
108 | defined(CONFIG_CPU_SUBTYPE_SH7707) || \ | ||
109 | defined(CONFIG_CPU_SUBTYPE_SH7709) | ||
110 | static struct intc_vect vectors_irq[] __initdata = { | ||
111 | INTC_VECT(IRQ0, 0x600), INTC_VECT(IRQ1, 0x620), | ||
112 | INTC_VECT(IRQ2, 0x640), INTC_VECT(IRQ3, 0x660), | ||
113 | }; | ||
114 | |||
115 | static DECLARE_INTC_DESC(intc_desc_irq, "sh770x-irq", vectors_irq, NULL, | ||
116 | NULL, prio_registers, NULL); | ||
117 | #endif | ||
118 | |||
119 | static struct resource rtc_resources[] = { | 107 | static struct resource rtc_resources[] = { |
120 | [0] = { | 108 | [0] = { |
121 | .start = 0xfffffec0, | 109 | .start = 0xfffffec0, |
@@ -194,24 +182,12 @@ static int __init sh770x_devices_setup(void) | |||
194 | } | 182 | } |
195 | __initcall(sh770x_devices_setup); | 183 | __initcall(sh770x_devices_setup); |
196 | 184 | ||
197 | #define INTC_ICR1 0xa4000010UL | 185 | void __init plat_irq_setup(void) |
198 | #define INTC_ICR1_IRQLVL (1<<14) | ||
199 | |||
200 | void __init plat_irq_setup_pins(int mode) | ||
201 | { | 186 | { |
202 | if (mode == IRQ_MODE_IRQ) { | 187 | register_intc_controller(&intc_desc); |
203 | #if defined(CONFIG_CPU_SUBTYPE_SH7706) || \ | 188 | #if defined(CONFIG_CPU_SUBTYPE_SH7706) || \ |
204 | defined(CONFIG_CPU_SUBTYPE_SH7707) || \ | 189 | defined(CONFIG_CPU_SUBTYPE_SH7707) || \ |
205 | defined(CONFIG_CPU_SUBTYPE_SH7709) | 190 | defined(CONFIG_CPU_SUBTYPE_SH7709) |
206 | ctrl_outw(ctrl_inw(INTC_ICR1) & ~INTC_ICR1_IRQLVL, INTC_ICR1); | 191 | plat_irq_setup_sh3(); |
207 | register_intc_controller(&intc_desc_irq); | ||
208 | return; | ||
209 | #endif | 192 | #endif |
210 | } | ||
211 | BUG(); | ||
212 | } | ||
213 | |||
214 | void __init plat_irq_setup(void) | ||
215 | { | ||
216 | register_intc_controller(&intc_desc); | ||
217 | } | 193 | } |
diff --git a/arch/sh/kernel/cpu/sh3/setup-sh7710.c b/arch/sh/kernel/cpu/sh3/setup-sh7710.c index 7406c9ad9259..77eee481de47 100644 --- a/arch/sh/kernel/cpu/sh3/setup-sh7710.c +++ b/arch/sh/kernel/cpu/sh3/setup-sh7710.c | |||
@@ -38,7 +38,7 @@ enum { | |||
38 | }; | 38 | }; |
39 | 39 | ||
40 | static struct intc_vect vectors[] __initdata = { | 40 | static struct intc_vect vectors[] __initdata = { |
41 | INTC_VECT(IRQ4, 0x680), INTC_VECT(IRQ5, 0x6a0), | 41 | /* IRQ0->5 are handled in setup-sh3.c */ |
42 | INTC_VECT(DMAC_DEI0, 0x800), INTC_VECT(DMAC_DEI1, 0x820), | 42 | INTC_VECT(DMAC_DEI0, 0x800), INTC_VECT(DMAC_DEI1, 0x820), |
43 | INTC_VECT(DMAC_DEI2, 0x840), INTC_VECT(DMAC_DEI3, 0x860), | 43 | INTC_VECT(DMAC_DEI2, 0x840), INTC_VECT(DMAC_DEI3, 0x860), |
44 | INTC_VECT(SCIF0_ERI, 0x880), INTC_VECT(SCIF0_RXI, 0x8a0), | 44 | INTC_VECT(SCIF0_ERI, 0x880), INTC_VECT(SCIF0_RXI, 0x8a0), |
@@ -79,10 +79,7 @@ static struct intc_prio_reg prio_registers[] __initdata = { | |||
79 | { 0xa4000016, 0, 16, 4, /* IPRC */ { IRQ3, IRQ2, IRQ1, IRQ0 } }, | 79 | { 0xa4000016, 0, 16, 4, /* IPRC */ { IRQ3, IRQ2, IRQ1, IRQ0 } }, |
80 | { 0xa4000018, 0, 16, 4, /* IPRD */ { 0, 0, IRQ5, IRQ4 } }, | 80 | { 0xa4000018, 0, 16, 4, /* IPRD */ { 0, 0, IRQ5, IRQ4 } }, |
81 | { 0xa400001a, 0, 16, 4, /* IPRE */ { DMAC1, SCIF0, SCIF1 } }, | 81 | { 0xa400001a, 0, 16, 4, /* IPRE */ { DMAC1, SCIF0, SCIF1 } }, |
82 | { 0xa4080000, 0, 16, 4, /* IPRF */ { 0, DMAC2 } }, | 82 | { 0xa4080000, 0, 16, 4, /* IPRF */ { IPSEC, DMAC2 } }, |
83 | #ifdef CONFIG_CPU_SUBTYPE_SH7710 | ||
84 | { 0xa4080000, 0, 16, 4, /* IPRF */ { IPSEC } }, | ||
85 | #endif | ||
86 | { 0xa4080002, 0, 16, 4, /* IPRG */ { EDMAC0, EDMAC1, EDMAC2 } }, | 83 | { 0xa4080002, 0, 16, 4, /* IPRG */ { EDMAC0, EDMAC1, EDMAC2 } }, |
87 | { 0xa4080004, 0, 16, 4, /* IPRH */ { 0, 0, 0, SIOF0 } }, | 84 | { 0xa4080004, 0, 16, 4, /* IPRH */ { 0, 0, 0, SIOF0 } }, |
88 | { 0xa4080006, 0, 16, 4, /* IPRI */ { 0, 0, SIOF1 } }, | 85 | { 0xa4080006, 0, 16, 4, /* IPRI */ { 0, 0, SIOF1 } }, |
@@ -91,14 +88,6 @@ static struct intc_prio_reg prio_registers[] __initdata = { | |||
91 | static DECLARE_INTC_DESC(intc_desc, "sh7710", vectors, groups, | 88 | static DECLARE_INTC_DESC(intc_desc, "sh7710", vectors, groups, |
92 | NULL, prio_registers, NULL); | 89 | NULL, prio_registers, NULL); |
93 | 90 | ||
94 | static struct intc_vect vectors_irq[] __initdata = { | ||
95 | INTC_VECT(IRQ0, 0x600), INTC_VECT(IRQ1, 0x620), | ||
96 | INTC_VECT(IRQ2, 0x640), INTC_VECT(IRQ3, 0x660), | ||
97 | }; | ||
98 | |||
99 | static DECLARE_INTC_DESC(intc_desc_irq, "sh7710-irq", vectors_irq, NULL, | ||
100 | NULL, prio_registers, NULL); | ||
101 | |||
102 | static struct resource rtc_resources[] = { | 91 | static struct resource rtc_resources[] = { |
103 | [0] = { | 92 | [0] = { |
104 | .start = 0xa413fec0, | 93 | .start = 0xa413fec0, |
@@ -170,16 +159,8 @@ static int __init sh7710_devices_setup(void) | |||
170 | } | 159 | } |
171 | __initcall(sh7710_devices_setup); | 160 | __initcall(sh7710_devices_setup); |
172 | 161 | ||
173 | void __init plat_irq_setup_pins(int mode) | ||
174 | { | ||
175 | if (mode == IRQ_MODE_IRQ) { | ||
176 | register_intc_controller(&intc_desc_irq); | ||
177 | return; | ||
178 | } | ||
179 | BUG(); | ||
180 | } | ||
181 | |||
182 | void __init plat_irq_setup(void) | 162 | void __init plat_irq_setup(void) |
183 | { | 163 | { |
184 | register_intc_controller(&intc_desc); | 164 | register_intc_controller(&intc_desc); |
165 | plat_irq_setup_sh3(); | ||
185 | } | 166 | } |
diff --git a/arch/sh/kernel/cpu/sh3/setup-sh7720.c b/arch/sh/kernel/cpu/sh3/setup-sh7720.c index 8028082527c5..f807a21b066c 100644 --- a/arch/sh/kernel/cpu/sh3/setup-sh7720.c +++ b/arch/sh/kernel/cpu/sh3/setup-sh7720.c | |||
@@ -19,10 +19,6 @@ | |||
19 | #include <linux/serial_sci.h> | 19 | #include <linux/serial_sci.h> |
20 | #include <asm/rtc.h> | 20 | #include <asm/rtc.h> |
21 | 21 | ||
22 | #define INTC_ICR1 0xA4140010UL | ||
23 | #define INTC_ICR_IRLM 0x4000 | ||
24 | #define INTC_ICR_IRQ (~INTC_ICR_IRLM) | ||
25 | |||
26 | static struct resource rtc_resources[] = { | 22 | static struct resource rtc_resources[] = { |
27 | [0] = { | 23 | [0] = { |
28 | .start = 0xa413fec0, | 24 | .start = 0xa413fec0, |
@@ -170,6 +166,7 @@ enum { | |||
170 | }; | 166 | }; |
171 | 167 | ||
172 | static struct intc_vect vectors[] __initdata = { | 168 | static struct intc_vect vectors[] __initdata = { |
169 | /* IRQ0->5 are handled in setup-sh3.c */ | ||
173 | INTC_VECT(TMU0, 0x400), INTC_VECT(TMU1, 0x420), | 170 | INTC_VECT(TMU0, 0x400), INTC_VECT(TMU1, 0x420), |
174 | INTC_VECT(TMU2, 0x440), INTC_VECT(RTC_ATI, 0x480), | 171 | INTC_VECT(TMU2, 0x440), INTC_VECT(RTC_ATI, 0x480), |
175 | INTC_VECT(RTC_PRI, 0x4a0), INTC_VECT(RTC_CUI, 0x4c0), | 172 | INTC_VECT(RTC_PRI, 0x4a0), INTC_VECT(RTC_CUI, 0x4c0), |
@@ -214,11 +211,7 @@ static struct intc_prio_reg prio_registers[] __initdata = { | |||
214 | { 0xA414FEE4UL, 0, 16, 4, /* IPRB */ { WDT, REF_RCMI, SIM, 0 } }, | 211 | { 0xA414FEE4UL, 0, 16, 4, /* IPRB */ { WDT, REF_RCMI, SIM, 0 } }, |
215 | { 0xA4140016UL, 0, 16, 4, /* IPRC */ { IRQ3, IRQ2, IRQ1, IRQ0 } }, | 212 | { 0xA4140016UL, 0, 16, 4, /* IPRC */ { IRQ3, IRQ2, IRQ1, IRQ0 } }, |
216 | { 0xA4140018UL, 0, 16, 4, /* IPRD */ { USBF_SPD, TMU_SUNI, IRQ5, IRQ4 } }, | 213 | { 0xA4140018UL, 0, 16, 4, /* IPRD */ { USBF_SPD, TMU_SUNI, IRQ5, IRQ4 } }, |
217 | #if defined(CONFIG_CPU_SUBTYPE_SH7720) | ||
218 | { 0xA414001AUL, 0, 16, 4, /* IPRE */ { DMAC1, 0, LCDC, SSL } }, | 214 | { 0xA414001AUL, 0, 16, 4, /* IPRE */ { DMAC1, 0, LCDC, SSL } }, |
219 | #else | ||
220 | { 0xA414001AUL, 0, 16, 4, /* IPRE */ { DMAC1, 0, LCDC, 0 } }, | ||
221 | #endif | ||
222 | { 0xA4080000UL, 0, 16, 4, /* IPRF */ { ADC, DMAC2, USBFI, CMT } }, | 215 | { 0xA4080000UL, 0, 16, 4, /* IPRF */ { ADC, DMAC2, USBFI, CMT } }, |
223 | { 0xA4080002UL, 0, 16, 4, /* IPRG */ { SCIF0, SCIF1, 0, 0 } }, | 216 | { 0xA4080002UL, 0, 16, 4, /* IPRG */ { SCIF0, SCIF1, 0, 0 } }, |
224 | { 0xA4080004UL, 0, 16, 4, /* IPRH */ { PINT07, PINT815, TPU, IIC } }, | 217 | { 0xA4080004UL, 0, 16, 4, /* IPRH */ { PINT07, PINT815, TPU, IIC } }, |
@@ -229,32 +222,8 @@ static struct intc_prio_reg prio_registers[] __initdata = { | |||
229 | static DECLARE_INTC_DESC(intc_desc, "sh7720", vectors, groups, | 222 | static DECLARE_INTC_DESC(intc_desc, "sh7720", vectors, groups, |
230 | NULL, prio_registers, NULL); | 223 | NULL, prio_registers, NULL); |
231 | 224 | ||
232 | static struct intc_sense_reg sense_registers[] __initdata = { | ||
233 | { INTC_ICR1, 16, 2, { 0, 0, IRQ5, IRQ4, IRQ3, IRQ2, IRQ1, IRQ0 } }, | ||
234 | }; | ||
235 | |||
236 | static struct intc_vect vectors_irq[] __initdata = { | ||
237 | INTC_VECT(IRQ0, 0x600), INTC_VECT(IRQ1, 0x620), | ||
238 | INTC_VECT(IRQ2, 0x640), INTC_VECT(IRQ3, 0x660), | ||
239 | INTC_VECT(IRQ4, 0x680), INTC_VECT(IRQ5, 0x6a0), | ||
240 | }; | ||
241 | |||
242 | static DECLARE_INTC_DESC(intc_irq_desc, "sh7720-irq", vectors_irq, | ||
243 | NULL, NULL, prio_registers, sense_registers); | ||
244 | |||
245 | void __init plat_irq_setup_pins(int mode) | ||
246 | { | ||
247 | switch (mode) { | ||
248 | case IRQ_MODE_IRQ: | ||
249 | ctrl_outw(ctrl_inw(INTC_ICR1) & INTC_ICR_IRQ, INTC_ICR1); | ||
250 | register_intc_controller(&intc_irq_desc); | ||
251 | break; | ||
252 | default: | ||
253 | BUG(); | ||
254 | } | ||
255 | } | ||
256 | |||
257 | void __init plat_irq_setup(void) | 225 | void __init plat_irq_setup(void) |
258 | { | 226 | { |
259 | register_intc_controller(&intc_desc); | 227 | register_intc_controller(&intc_desc); |
228 | plat_irq_setup_sh3(); | ||
260 | } | 229 | } |
diff --git a/arch/sh/kernel/cpu/sh4/fpu.c b/arch/sh/kernel/cpu/sh4/fpu.c index 817f9939cda6..8020796139f1 100644 --- a/arch/sh/kernel/cpu/sh4/fpu.c +++ b/arch/sh/kernel/cpu/sh4/fpu.c | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <asm/cpu/fpu.h> | 16 | #include <asm/cpu/fpu.h> |
17 | #include <asm/processor.h> | 17 | #include <asm/processor.h> |
18 | #include <asm/system.h> | 18 | #include <asm/system.h> |
19 | #include <asm/fpu.h> | ||
19 | 20 | ||
20 | /* The PR (precision) bit in the FP Status Register must be clear when | 21 | /* The PR (precision) bit in the FP Status Register must be clear when |
21 | * an frchg instruction is executed, otherwise the instruction is undefined. | 22 | * an frchg instruction is executed, otherwise the instruction is undefined. |
diff --git a/arch/sh/kernel/cpu/sh4/probe.c b/arch/sh/kernel/cpu/sh4/probe.c index 9e89984c4f1d..be4926969181 100644 --- a/arch/sh/kernel/cpu/sh4/probe.c +++ b/arch/sh/kernel/cpu/sh4/probe.c | |||
@@ -53,7 +53,7 @@ int __init detect_cpu_and_cache_system(void) | |||
53 | /* | 53 | /* |
54 | * Setup some generic flags we can probe on SH-4A parts | 54 | * Setup some generic flags we can probe on SH-4A parts |
55 | */ | 55 | */ |
56 | if (((pvr >> 16) & 0xff) == 0x10) { | 56 | if (((pvr >> 24) & 0xff) == 0x10) { |
57 | if ((cvr & 0x10000000) == 0) | 57 | if ((cvr & 0x10000000) == 0) |
58 | boot_cpu_data.flags |= CPU_HAS_DSP; | 58 | boot_cpu_data.flags |= CPU_HAS_DSP; |
59 | 59 | ||
@@ -126,17 +126,23 @@ int __init detect_cpu_and_cache_system(void) | |||
126 | CPU_HAS_LLSC; | 126 | CPU_HAS_LLSC; |
127 | break; | 127 | break; |
128 | case 0x3008: | 128 | case 0x3008: |
129 | if (prr == 0xa0 || prr == 0xa1) { | 129 | boot_cpu_data.icache.ways = 4; |
130 | boot_cpu_data.type = CPU_SH7722; | 130 | boot_cpu_data.dcache.ways = 4; |
131 | boot_cpu_data.icache.ways = 4; | 131 | boot_cpu_data.flags |= CPU_HAS_LLSC; |
132 | boot_cpu_data.dcache.ways = 4; | 132 | |
133 | boot_cpu_data.flags |= CPU_HAS_LLSC; | 133 | switch (prr) { |
134 | } | 134 | case 0x50: |
135 | else if (prr == 0x70) { | 135 | case 0x51: |
136 | boot_cpu_data.type = CPU_SH7723; | ||
137 | boot_cpu_data.flags |= CPU_HAS_FPU | CPU_HAS_L2_CACHE; | ||
138 | break; | ||
139 | case 0x70: | ||
136 | boot_cpu_data.type = CPU_SH7366; | 140 | boot_cpu_data.type = CPU_SH7366; |
137 | boot_cpu_data.icache.ways = 4; | 141 | break; |
138 | boot_cpu_data.dcache.ways = 4; | 142 | case 0xa0: |
139 | boot_cpu_data.flags |= CPU_HAS_LLSC; | 143 | case 0xa1: |
144 | boot_cpu_data.type = CPU_SH7722; | ||
145 | break; | ||
140 | } | 146 | } |
141 | break; | 147 | break; |
142 | case 0x4000: /* 1st cut */ | 148 | case 0x4000: /* 1st cut */ |
@@ -215,6 +221,12 @@ int __init detect_cpu_and_cache_system(void) | |||
215 | * SH-4A's have an optional PIPT L2. | 221 | * SH-4A's have an optional PIPT L2. |
216 | */ | 222 | */ |
217 | if (boot_cpu_data.flags & CPU_HAS_L2_CACHE) { | 223 | if (boot_cpu_data.flags & CPU_HAS_L2_CACHE) { |
224 | /* Bug if we can't decode the L2 info */ | ||
225 | BUG_ON(!(cvr & 0xf)); | ||
226 | |||
227 | /* Silicon and specifications have clearly never met.. */ | ||
228 | cvr ^= 0xf; | ||
229 | |||
218 | /* | 230 | /* |
219 | * Size calculation is much more sensible | 231 | * Size calculation is much more sensible |
220 | * than it is for the L1. | 232 | * than it is for the L1. |
diff --git a/arch/sh/kernel/cpu/sh4a/Makefile b/arch/sh/kernel/cpu/sh4a/Makefile index 5d890ac8e793..a880e7968750 100644 --- a/arch/sh/kernel/cpu/sh4a/Makefile +++ b/arch/sh/kernel/cpu/sh4a/Makefile | |||
@@ -9,6 +9,7 @@ obj-$(CONFIG_CPU_SUBTYPE_SH7780) += setup-sh7780.o | |||
9 | obj-$(CONFIG_CPU_SUBTYPE_SH7785) += setup-sh7785.o | 9 | obj-$(CONFIG_CPU_SUBTYPE_SH7785) += setup-sh7785.o |
10 | obj-$(CONFIG_CPU_SUBTYPE_SH7343) += setup-sh7343.o | 10 | obj-$(CONFIG_CPU_SUBTYPE_SH7343) += setup-sh7343.o |
11 | obj-$(CONFIG_CPU_SUBTYPE_SH7722) += setup-sh7722.o | 11 | obj-$(CONFIG_CPU_SUBTYPE_SH7722) += setup-sh7722.o |
12 | obj-$(CONFIG_CPU_SUBTYPE_SH7723) += setup-sh7723.o | ||
12 | obj-$(CONFIG_CPU_SUBTYPE_SH7366) += setup-sh7366.o | 13 | obj-$(CONFIG_CPU_SUBTYPE_SH7366) += setup-sh7366.o |
13 | obj-$(CONFIG_CPU_SUBTYPE_SHX3) += setup-shx3.o | 14 | obj-$(CONFIG_CPU_SUBTYPE_SHX3) += setup-shx3.o |
14 | 15 | ||
@@ -22,6 +23,7 @@ clock-$(CONFIG_CPU_SUBTYPE_SH7780) := clock-sh7780.o | |||
22 | clock-$(CONFIG_CPU_SUBTYPE_SH7785) := clock-sh7785.o | 23 | clock-$(CONFIG_CPU_SUBTYPE_SH7785) := clock-sh7785.o |
23 | clock-$(CONFIG_CPU_SUBTYPE_SH7343) := clock-sh7343.o | 24 | clock-$(CONFIG_CPU_SUBTYPE_SH7343) := clock-sh7343.o |
24 | clock-$(CONFIG_CPU_SUBTYPE_SH7722) := clock-sh7722.o | 25 | clock-$(CONFIG_CPU_SUBTYPE_SH7722) := clock-sh7722.o |
26 | clock-$(CONFIG_CPU_SUBTYPE_SH7723) := clock-sh7722.o | ||
25 | clock-$(CONFIG_CPU_SUBTYPE_SH7366) := clock-sh7722.o | 27 | clock-$(CONFIG_CPU_SUBTYPE_SH7366) := clock-sh7722.o |
26 | clock-$(CONFIG_CPU_SUBTYPE_SHX3) := clock-shx3.o | 28 | clock-$(CONFIG_CPU_SUBTYPE_SHX3) := clock-shx3.o |
27 | 29 | ||
diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh7785.c b/arch/sh/kernel/cpu/sh4a/clock-sh7785.c index 805535aa505e..27fa81bef6a0 100644 --- a/arch/sh/kernel/cpu/sh4a/clock-sh7785.c +++ b/arch/sh/kernel/cpu/sh4a/clock-sh7785.c | |||
@@ -26,7 +26,7 @@ static int pfc_divisors[] = { 1, 1, 1, 1, 1, 1, 1, 18, | |||
26 | 26 | ||
27 | static void master_clk_init(struct clk *clk) | 27 | static void master_clk_init(struct clk *clk) |
28 | { | 28 | { |
29 | clk->rate *= 36; | 29 | clk->rate *= pfc_divisors[ctrl_inl(FRQMR1) & 0x000f]; |
30 | } | 30 | } |
31 | 31 | ||
32 | static struct clk_ops sh7785_master_clk_ops = { | 32 | static struct clk_ops sh7785_master_clk_ops = { |
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c index b98b4bc93ec9..62ebccf18b3c 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c | |||
@@ -17,12 +17,11 @@ | |||
17 | static struct resource usbf_resources[] = { | 17 | static struct resource usbf_resources[] = { |
18 | [0] = { | 18 | [0] = { |
19 | .name = "m66592_udc", | 19 | .name = "m66592_udc", |
20 | .start = 0xA4480000, | 20 | .start = 0x04480000, |
21 | .end = 0xA44800FF, | 21 | .end = 0x044800FF, |
22 | .flags = IORESOURCE_MEM, | 22 | .flags = IORESOURCE_MEM, |
23 | }, | 23 | }, |
24 | [1] = { | 24 | [1] = { |
25 | .name = "m66592_udc", | ||
26 | .start = 65, | 25 | .start = 65, |
27 | .end = 65, | 26 | .end = 65, |
28 | .flags = IORESOURCE_IRQ, | 27 | .flags = IORESOURCE_IRQ, |
@@ -40,6 +39,26 @@ static struct platform_device usbf_device = { | |||
40 | .resource = usbf_resources, | 39 | .resource = usbf_resources, |
41 | }; | 40 | }; |
42 | 41 | ||
42 | static struct resource iic_resources[] = { | ||
43 | [0] = { | ||
44 | .name = "IIC", | ||
45 | .start = 0x04470000, | ||
46 | .end = 0x04470017, | ||
47 | .flags = IORESOURCE_MEM, | ||
48 | }, | ||
49 | [1] = { | ||
50 | .start = 96, | ||
51 | .end = 99, | ||
52 | .flags = IORESOURCE_IRQ, | ||
53 | }, | ||
54 | }; | ||
55 | |||
56 | static struct platform_device iic_device = { | ||
57 | .name = "i2c-sh_mobile", | ||
58 | .num_resources = ARRAY_SIZE(iic_resources), | ||
59 | .resource = iic_resources, | ||
60 | }; | ||
61 | |||
43 | static struct plat_sci_port sci_platform_data[] = { | 62 | static struct plat_sci_port sci_platform_data[] = { |
44 | { | 63 | { |
45 | .mapbase = 0xffe00000, | 64 | .mapbase = 0xffe00000, |
@@ -74,6 +93,7 @@ static struct platform_device sci_device = { | |||
74 | 93 | ||
75 | static struct platform_device *sh7722_devices[] __initdata = { | 94 | static struct platform_device *sh7722_devices[] __initdata = { |
76 | &usbf_device, | 95 | &usbf_device, |
96 | &iic_device, | ||
77 | &sci_device, | 97 | &sci_device, |
78 | }; | 98 | }; |
79 | 99 | ||
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7723.c b/arch/sh/kernel/cpu/sh4a/setup-sh7723.c new file mode 100644 index 000000000000..a0470f2f5479 --- /dev/null +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7723.c | |||
@@ -0,0 +1,335 @@ | |||
1 | /* | ||
2 | * SH7723 Setup | ||
3 | * | ||
4 | * Copyright (C) 2008 Paul Mundt | ||
5 | * | ||
6 | * This file is subject to the terms and conditions of the GNU General Public | ||
7 | * License. See the file "COPYING" in the main directory of this archive | ||
8 | * for more details. | ||
9 | */ | ||
10 | #include <linux/platform_device.h> | ||
11 | #include <linux/init.h> | ||
12 | #include <linux/serial.h> | ||
13 | #include <linux/mm.h> | ||
14 | #include <linux/serial_sci.h> | ||
15 | #include <asm/mmzone.h> | ||
16 | |||
17 | static struct plat_sci_port sci_platform_data[] = { | ||
18 | { | ||
19 | .mapbase = 0xffe00000, | ||
20 | .flags = UPF_BOOT_AUTOCONF, | ||
21 | .type = PORT_SCIF, | ||
22 | .irqs = { 80, 80, 80, 80 }, | ||
23 | },{ | ||
24 | .mapbase = 0xffe10000, | ||
25 | .flags = UPF_BOOT_AUTOCONF, | ||
26 | .type = PORT_SCIF, | ||
27 | .irqs = { 81, 81, 81, 81 }, | ||
28 | },{ | ||
29 | .mapbase = 0xffe20000, | ||
30 | .flags = UPF_BOOT_AUTOCONF, | ||
31 | .type = PORT_SCIF, | ||
32 | .irqs = { 82, 82, 82, 82 }, | ||
33 | },{ | ||
34 | .mapbase = 0xa4e30000, | ||
35 | .flags = UPF_BOOT_AUTOCONF, | ||
36 | .type = PORT_SCI, | ||
37 | .irqs = { 56, 56, 56, 56 }, | ||
38 | },{ | ||
39 | .mapbase = 0xa4e40000, | ||
40 | .flags = UPF_BOOT_AUTOCONF, | ||
41 | .type = PORT_SCI, | ||
42 | .irqs = { 88, 88, 88, 88 }, | ||
43 | },{ | ||
44 | .mapbase = 0xa4e50000, | ||
45 | .flags = UPF_BOOT_AUTOCONF, | ||
46 | .type = PORT_SCI, | ||
47 | .irqs = { 109, 109, 109, 109 }, | ||
48 | }, { | ||
49 | .flags = 0, | ||
50 | } | ||
51 | }; | ||
52 | |||
53 | static struct platform_device sci_device = { | ||
54 | .name = "sh-sci", | ||
55 | .id = -1, | ||
56 | .dev = { | ||
57 | .platform_data = sci_platform_data, | ||
58 | }, | ||
59 | }; | ||
60 | |||
61 | static struct resource rtc_resources[] = { | ||
62 | [0] = { | ||
63 | .start = 0xa465fec0, | ||
64 | .end = 0xa465fec0 + 0x58 - 1, | ||
65 | .flags = IORESOURCE_IO, | ||
66 | }, | ||
67 | [1] = { | ||
68 | /* Period IRQ */ | ||
69 | .start = 69, | ||
70 | .flags = IORESOURCE_IRQ, | ||
71 | }, | ||
72 | [2] = { | ||
73 | /* Carry IRQ */ | ||
74 | .start = 70, | ||
75 | .flags = IORESOURCE_IRQ, | ||
76 | }, | ||
77 | [3] = { | ||
78 | /* Alarm IRQ */ | ||
79 | .start = 68, | ||
80 | .flags = IORESOURCE_IRQ, | ||
81 | }, | ||
82 | }; | ||
83 | |||
84 | static struct platform_device rtc_device = { | ||
85 | .name = "sh-rtc", | ||
86 | .id = -1, | ||
87 | .num_resources = ARRAY_SIZE(rtc_resources), | ||
88 | .resource = rtc_resources, | ||
89 | }; | ||
90 | |||
91 | static struct resource sh7723_usb_host_resources[] = { | ||
92 | [0] = { | ||
93 | .name = "r8a66597_hcd", | ||
94 | .start = 0xa4d80000, | ||
95 | .end = 0xa4d800ff, | ||
96 | .flags = IORESOURCE_MEM, | ||
97 | }, | ||
98 | [1] = { | ||
99 | .start = 65, | ||
100 | .end = 65, | ||
101 | .flags = IORESOURCE_IRQ, | ||
102 | }, | ||
103 | }; | ||
104 | |||
105 | static struct platform_device sh7723_usb_host_device = { | ||
106 | .name = "r8a66597_hcd", | ||
107 | .id = 0, | ||
108 | .dev = { | ||
109 | .dma_mask = NULL, /* not use dma */ | ||
110 | .coherent_dma_mask = 0xffffffff, | ||
111 | }, | ||
112 | .num_resources = ARRAY_SIZE(sh7723_usb_host_resources), | ||
113 | .resource = sh7723_usb_host_resources, | ||
114 | }; | ||
115 | |||
116 | static struct platform_device *sh7723_devices[] __initdata = { | ||
117 | &sci_device, | ||
118 | &rtc_device, | ||
119 | &sh7723_usb_host_device, | ||
120 | }; | ||
121 | |||
122 | static int __init sh7723_devices_setup(void) | ||
123 | { | ||
124 | return platform_add_devices(sh7723_devices, | ||
125 | ARRAY_SIZE(sh7723_devices)); | ||
126 | } | ||
127 | __initcall(sh7723_devices_setup); | ||
128 | |||
129 | enum { | ||
130 | UNUSED=0, | ||
131 | |||
132 | /* interrupt sources */ | ||
133 | IRQ0, IRQ1, IRQ2, IRQ3, IRQ4, IRQ5, IRQ6, IRQ7, | ||
134 | HUDI, | ||
135 | DMAC1A_DEI0,DMAC1A_DEI1,DMAC1A_DEI2,DMAC1A_DEI3, | ||
136 | _2DG_TRI,_2DG_INI,_2DG_CEI, | ||
137 | DMAC0A_DEI0,DMAC0A_DEI1,DMAC0A_DEI2,DMAC0A_DEI3, | ||
138 | VIO_CEUI,VIO_BEUI,VIO_VEU2HI,VIO_VOUI, | ||
139 | SCIFA_SCIFA0, | ||
140 | VPU_VPUI, | ||
141 | TPU_TPUI, | ||
142 | ADC_ADI, | ||
143 | USB_USI0, | ||
144 | RTC_ATI,RTC_PRI,RTC_CUI, | ||
145 | DMAC1B_DEI4,DMAC1B_DEI5,DMAC1B_DADERR, | ||
146 | DMAC0B_DEI4,DMAC0B_DEI5,DMAC0B_DADERR, | ||
147 | KEYSC_KEYI, | ||
148 | SCIF_SCIF0,SCIF_SCIF1,SCIF_SCIF2, | ||
149 | MSIOF_MSIOFI0,MSIOF_MSIOFI1, | ||
150 | SCIFA_SCIFA1, | ||
151 | FLCTL_FLSTEI,FLCTL_FLTENDI,FLCTL_FLTREQ0I,FLCTL_FLTREQ1I, | ||
152 | I2C_ALI,I2C_TACKI,I2C_WAITI,I2C_DTEI, | ||
153 | SDHI0_SDHII0,SDHI0_SDHII1,SDHI0_SDHII2, | ||
154 | CMT_CMTI, | ||
155 | TSIF_TSIFI, | ||
156 | SIU_SIUI, | ||
157 | SCIFA_SCIFA2, | ||
158 | TMU0_TUNI0, TMU0_TUNI1, TMU0_TUNI2, | ||
159 | IRDA_IRDAI, | ||
160 | ATAPI_ATAPII, | ||
161 | SDHI1_SDHII0,SDHI1_SDHII1,SDHI1_SDHII2, | ||
162 | VEU2H1_VEU2HI, | ||
163 | LCDC_LCDCI, | ||
164 | TMU1_TUNI0,TMU1_TUNI1,TMU1_TUNI2, | ||
165 | |||
166 | /* interrupt groups */ | ||
167 | DMAC1A, DMAC0A, VIO, DMAC0B, FLCTL, I2C, _2DG, | ||
168 | SDHI1, RTC, DMAC1B, SDHI0, | ||
169 | }; | ||
170 | |||
171 | static struct intc_vect vectors[] __initdata = { | ||
172 | INTC_VECT(IRQ0, 0x600), INTC_VECT(IRQ1, 0x620), | ||
173 | INTC_VECT(IRQ2, 0x640), INTC_VECT(IRQ3, 0x660), | ||
174 | INTC_VECT(IRQ4, 0x680), INTC_VECT(IRQ5, 0x6a0), | ||
175 | INTC_VECT(IRQ6, 0x6c0), INTC_VECT(IRQ7, 0x6e0), | ||
176 | |||
177 | INTC_VECT(DMAC1A_DEI0,0x700), | ||
178 | INTC_VECT(DMAC1A_DEI1,0x720), | ||
179 | INTC_VECT(DMAC1A_DEI2,0x740), | ||
180 | INTC_VECT(DMAC1A_DEI3,0x760), | ||
181 | |||
182 | INTC_VECT(_2DG_TRI, 0x780), | ||
183 | INTC_VECT(_2DG_INI, 0x7A0), | ||
184 | INTC_VECT(_2DG_CEI, 0x7C0), | ||
185 | |||
186 | INTC_VECT(DMAC0A_DEI0,0x800), | ||
187 | INTC_VECT(DMAC0A_DEI1,0x820), | ||
188 | INTC_VECT(DMAC0A_DEI2,0x840), | ||
189 | INTC_VECT(DMAC0A_DEI3,0x860), | ||
190 | |||
191 | INTC_VECT(VIO_CEUI,0x880), | ||
192 | INTC_VECT(VIO_BEUI,0x8A0), | ||
193 | INTC_VECT(VIO_VEU2HI,0x8C0), | ||
194 | INTC_VECT(VIO_VOUI,0x8E0), | ||
195 | |||
196 | INTC_VECT(SCIFA_SCIFA0,0x900), | ||
197 | INTC_VECT(VPU_VPUI,0x980), | ||
198 | INTC_VECT(TPU_TPUI,0x9A0), | ||
199 | INTC_VECT(ADC_ADI,0x9E0), | ||
200 | INTC_VECT(USB_USI0,0xA20), | ||
201 | |||
202 | INTC_VECT(RTC_ATI,0xA80), | ||
203 | INTC_VECT(RTC_PRI,0xAA0), | ||
204 | INTC_VECT(RTC_CUI,0xAC0), | ||
205 | |||
206 | INTC_VECT(DMAC1B_DEI4,0xB00), | ||
207 | INTC_VECT(DMAC1B_DEI5,0xB20), | ||
208 | INTC_VECT(DMAC1B_DADERR,0xB40), | ||
209 | |||
210 | INTC_VECT(DMAC0B_DEI4,0xB80), | ||
211 | INTC_VECT(DMAC0B_DEI5,0xBA0), | ||
212 | INTC_VECT(DMAC0B_DADERR,0xBC0), | ||
213 | |||
214 | INTC_VECT(KEYSC_KEYI,0xBE0), | ||
215 | INTC_VECT(SCIF_SCIF0,0xC00), | ||
216 | INTC_VECT(SCIF_SCIF1,0xC20), | ||
217 | INTC_VECT(SCIF_SCIF2,0xC40), | ||
218 | INTC_VECT(MSIOF_MSIOFI0,0xC80), | ||
219 | INTC_VECT(MSIOF_MSIOFI1,0xCA0), | ||
220 | INTC_VECT(SCIFA_SCIFA1,0xD00), | ||
221 | |||
222 | INTC_VECT(FLCTL_FLSTEI,0xD80), | ||
223 | INTC_VECT(FLCTL_FLTENDI,0xDA0), | ||
224 | INTC_VECT(FLCTL_FLTREQ0I,0xDC0), | ||
225 | INTC_VECT(FLCTL_FLTREQ1I,0xDE0), | ||
226 | |||
227 | INTC_VECT(I2C_ALI,0xE00), | ||
228 | INTC_VECT(I2C_TACKI,0xE20), | ||
229 | INTC_VECT(I2C_WAITI,0xE40), | ||
230 | INTC_VECT(I2C_DTEI,0xE60), | ||
231 | |||
232 | INTC_VECT(SDHI0_SDHII0,0xE80), | ||
233 | INTC_VECT(SDHI0_SDHII1,0xEA0), | ||
234 | INTC_VECT(SDHI0_SDHII2,0xEC0), | ||
235 | |||
236 | INTC_VECT(CMT_CMTI,0xF00), | ||
237 | INTC_VECT(TSIF_TSIFI,0xF20), | ||
238 | INTC_VECT(SIU_SIUI,0xF80), | ||
239 | INTC_VECT(SCIFA_SCIFA2,0xFA0), | ||
240 | |||
241 | INTC_VECT(TMU0_TUNI0,0x400), | ||
242 | INTC_VECT(TMU0_TUNI1,0x420), | ||
243 | INTC_VECT(TMU0_TUNI2,0x440), | ||
244 | |||
245 | INTC_VECT(IRDA_IRDAI,0x480), | ||
246 | INTC_VECT(ATAPI_ATAPII,0x4A0), | ||
247 | |||
248 | INTC_VECT(SDHI1_SDHII0,0x4E0), | ||
249 | INTC_VECT(SDHI1_SDHII1,0x500), | ||
250 | INTC_VECT(SDHI1_SDHII2,0x520), | ||
251 | |||
252 | INTC_VECT(VEU2H1_VEU2HI,0x560), | ||
253 | INTC_VECT(LCDC_LCDCI,0x580), | ||
254 | |||
255 | INTC_VECT(TMU1_TUNI0,0x920), | ||
256 | INTC_VECT(TMU1_TUNI1,0x940), | ||
257 | INTC_VECT(TMU1_TUNI2,0x960), | ||
258 | |||
259 | }; | ||
260 | |||
261 | static struct intc_group groups[] __initdata = { | ||
262 | INTC_GROUP(DMAC1A,DMAC1A_DEI0,DMAC1A_DEI1,DMAC1A_DEI2,DMAC1A_DEI3), | ||
263 | INTC_GROUP(DMAC0A,DMAC0A_DEI0,DMAC0A_DEI1,DMAC0A_DEI2,DMAC0A_DEI3), | ||
264 | INTC_GROUP(VIO, VIO_CEUI,VIO_BEUI,VIO_VEU2HI,VIO_VOUI), | ||
265 | INTC_GROUP(DMAC0B, DMAC0B_DEI4,DMAC0B_DEI5,DMAC0B_DADERR), | ||
266 | INTC_GROUP(FLCTL,FLCTL_FLSTEI,FLCTL_FLTENDI,FLCTL_FLTREQ0I,FLCTL_FLTREQ1I), | ||
267 | INTC_GROUP(I2C,I2C_ALI,I2C_TACKI,I2C_WAITI,I2C_DTEI), | ||
268 | INTC_GROUP(_2DG, _2DG_TRI,_2DG_INI,_2DG_CEI), | ||
269 | INTC_GROUP(SDHI1, SDHI1_SDHII0,SDHI1_SDHII1,SDHI1_SDHII2), | ||
270 | INTC_GROUP(RTC, RTC_ATI,RTC_PRI,RTC_CUI), | ||
271 | INTC_GROUP(DMAC1B, DMAC1B_DEI4,DMAC1B_DEI5,DMAC1B_DADERR), | ||
272 | INTC_GROUP(SDHI0,SDHI0_SDHII0,SDHI0_SDHII1,SDHI0_SDHII2), | ||
273 | }; | ||
274 | |||
275 | static struct intc_mask_reg mask_registers[] __initdata = { | ||
276 | { 0xa4080080, 0xa40800c0, 8, /* IMR0 / IMCR0 */ | ||
277 | { 0, TMU1_TUNI2,TMU1_TUNI1,TMU1_TUNI0,0,SDHI1_SDHII2,SDHI1_SDHII1,SDHI1_SDHII0} }, | ||
278 | { 0xa4080084, 0xa40800c4, 8, /* IMR1 / IMCR1 */ | ||
279 | { VIO_VOUI, VIO_VEU2HI,VIO_BEUI,VIO_CEUI,DMAC0A_DEI3,DMAC0A_DEI2,DMAC0A_DEI1,DMAC0A_DEI0 } }, | ||
280 | { 0xa4080088, 0xa40800c8, 8, /* IMR2 / IMCR2 */ | ||
281 | { 0, 0, 0, VPU_VPUI,0,0,0,SCIFA_SCIFA0 } }, | ||
282 | { 0xa408008c, 0xa40800cc, 8, /* IMR3 / IMCR3 */ | ||
283 | { DMAC1A_DEI3,DMAC1A_DEI2,DMAC1A_DEI1,DMAC1A_DEI0,0,0,0,IRDA_IRDAI } }, | ||
284 | { 0xa4080090, 0xa40800d0, 8, /* IMR4 / IMCR4 */ | ||
285 | { 0,TMU0_TUNI2,TMU0_TUNI1,TMU0_TUNI0,VEU2H1_VEU2HI,0,0,LCDC_LCDCI } }, | ||
286 | { 0xa4080094, 0xa40800d4, 8, /* IMR5 / IMCR5 */ | ||
287 | { KEYSC_KEYI,DMAC0B_DADERR,DMAC0B_DEI5,DMAC0B_DEI4,0,SCIF_SCIF2,SCIF_SCIF1,SCIF_SCIF0 } }, | ||
288 | { 0xa4080098, 0xa40800d8, 8, /* IMR6 / IMCR6 */ | ||
289 | { 0,0,0,SCIFA_SCIFA1,ADC_ADI,0,MSIOF_MSIOFI1,MSIOF_MSIOFI0 } }, | ||
290 | { 0xa408009c, 0xa40800dc, 8, /* IMR7 / IMCR7 */ | ||
291 | { I2C_DTEI, I2C_WAITI, I2C_TACKI, I2C_ALI, | ||
292 | FLCTL_FLTREQ1I, FLCTL_FLTREQ0I, FLCTL_FLTENDI, FLCTL_FLSTEI } }, | ||
293 | { 0xa40800a0, 0xa40800e0, 8, /* IMR8 / IMCR8 */ | ||
294 | { 0,SDHI0_SDHII2,SDHI0_SDHII1,SDHI0_SDHII0,0,0,SCIFA_SCIFA2,SIU_SIUI } }, | ||
295 | { 0xa40800a4, 0xa40800e4, 8, /* IMR9 / IMCR9 */ | ||
296 | { 0, 0, 0, CMT_CMTI, 0, 0, USB_USI0,0 } }, | ||
297 | { 0xa40800a8, 0xa40800e8, 8, /* IMR10 / IMCR10 */ | ||
298 | { 0, DMAC1B_DADERR,DMAC1B_DEI5,DMAC1B_DEI4,0,RTC_ATI,RTC_PRI,RTC_CUI } }, | ||
299 | { 0xa40800ac, 0xa40800ec, 8, /* IMR11 / IMCR11 */ | ||
300 | { 0,_2DG_CEI,_2DG_INI,_2DG_TRI,0,TPU_TPUI,0,TSIF_TSIFI } }, | ||
301 | { 0xa40800b0, 0xa40800f0, 8, /* IMR12 / IMCR12 */ | ||
302 | { 0,0,0,0,0,0,0,ATAPI_ATAPII } }, | ||
303 | { 0xa4140044, 0xa4140064, 8, /* INTMSK00 / INTMSKCLR00 */ | ||
304 | { IRQ0, IRQ1, IRQ2, IRQ3, IRQ4, IRQ5, IRQ6, IRQ7 } }, | ||
305 | }; | ||
306 | |||
307 | static struct intc_prio_reg prio_registers[] __initdata = { | ||
308 | { 0xa4080000, 0, 16, 4, /* IPRA */ { TMU0_TUNI0, TMU0_TUNI1, TMU0_TUNI2, IRDA_IRDAI } }, | ||
309 | { 0xa4080004, 0, 16, 4, /* IPRB */ { VEU2H1_VEU2HI, LCDC_LCDCI, DMAC1A, 0} }, | ||
310 | { 0xa4080008, 0, 16, 4, /* IPRC */ { TMU1_TUNI0, TMU1_TUNI1, TMU1_TUNI2, 0} }, | ||
311 | { 0xa408000c, 0, 16, 4, /* IPRD */ { } }, | ||
312 | { 0xa4080010, 0, 16, 4, /* IPRE */ { DMAC0A, VIO, SCIFA_SCIFA0, VPU_VPUI } }, | ||
313 | { 0xa4080014, 0, 16, 4, /* IPRF */ { KEYSC_KEYI, DMAC0B, USB_USI0, CMT_CMTI } }, | ||
314 | { 0xa4080018, 0, 16, 4, /* IPRG */ { SCIF_SCIF0, SCIF_SCIF1, SCIF_SCIF2,0 } }, | ||
315 | { 0xa408001c, 0, 16, 4, /* IPRH */ { MSIOF_MSIOFI0,MSIOF_MSIOFI1, FLCTL, I2C } }, | ||
316 | { 0xa4080020, 0, 16, 4, /* IPRI */ { SCIFA_SCIFA1,0,TSIF_TSIFI,_2DG } }, | ||
317 | { 0xa4080024, 0, 16, 4, /* IPRJ */ { ADC_ADI,0,SIU_SIUI,SDHI1 } }, | ||
318 | { 0xa4080028, 0, 16, 4, /* IPRK */ { RTC,DMAC1B,0,SDHI0 } }, | ||
319 | { 0xa408002c, 0, 16, 4, /* IPRL */ { SCIFA_SCIFA2,0,TPU_TPUI,ATAPI_ATAPII } }, | ||
320 | { 0xa4140010, 0, 32, 4, /* INTPRI00 */ | ||
321 | { IRQ0, IRQ1, IRQ2, IRQ3, IRQ4, IRQ5, IRQ6, IRQ7 } }, | ||
322 | }; | ||
323 | |||
324 | static struct intc_sense_reg sense_registers[] __initdata = { | ||
325 | { 0xa414001c, 16, 2, /* ICR1 */ | ||
326 | { IRQ0, IRQ1, IRQ2, IRQ3, IRQ4, IRQ5, IRQ6, IRQ7 } }, | ||
327 | }; | ||
328 | |||
329 | static DECLARE_INTC_DESC(intc_desc, "sh7723", vectors, groups, | ||
330 | mask_registers, prio_registers, sense_registers); | ||
331 | |||
332 | void __init plat_irq_setup(void) | ||
333 | { | ||
334 | register_intc_controller(&intc_desc); | ||
335 | } | ||
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7763.c b/arch/sh/kernel/cpu/sh4a/setup-sh7763.c index 07c988dc9de6..f189a559462b 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7763.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7763.c | |||
@@ -231,12 +231,6 @@ static struct intc_group groups[] __initdata = { | |||
231 | INTC_GROUP(GPIO, GPIO_CH0, GPIO_CH1, GPIO_CH2, GPIO_CH3), | 231 | INTC_GROUP(GPIO, GPIO_CH0, GPIO_CH1, GPIO_CH2, GPIO_CH3), |
232 | }; | 232 | }; |
233 | 233 | ||
234 | static struct intc_prio priorities[] __initdata = { | ||
235 | INTC_PRIO(SCIF0, 3), | ||
236 | INTC_PRIO(SCIF1, 3), | ||
237 | INTC_PRIO(SCIF2, 3), | ||
238 | }; | ||
239 | |||
240 | static struct intc_mask_reg mask_registers[] __initdata = { | 234 | static struct intc_mask_reg mask_registers[] __initdata = { |
241 | { 0xffd40038, 0xffd4003c, 32, /* INT2MSKR / INT2MSKCR */ | 235 | { 0xffd40038, 0xffd4003c, 32, /* INT2MSKR / INT2MSKCR */ |
242 | { 0, 0, 0, 0, 0, 0, GPIO, 0, | 236 | { 0, 0, 0, 0, 0, 0, GPIO, 0, |
@@ -270,11 +264,10 @@ static struct intc_prio_reg prio_registers[] __initdata = { | |||
270 | { 0xffd400b4, 0, 32, 8, /* INT2PRI13 */ { 0, 0, STIF1, STIF0 } }, | 264 | { 0xffd400b4, 0, 32, 8, /* INT2PRI13 */ { 0, 0, STIF1, STIF0 } }, |
271 | }; | 265 | }; |
272 | 266 | ||
273 | static DECLARE_INTC_DESC(intc_desc, "sh7763", vectors, groups, priorities, | 267 | static DECLARE_INTC_DESC(intc_desc, "sh7763", vectors, groups, |
274 | mask_registers, prio_registers, NULL); | 268 | mask_registers, prio_registers, NULL); |
275 | 269 | ||
276 | /* Support for external interrupt pins in IRQ mode */ | 270 | /* Support for external interrupt pins in IRQ mode */ |
277 | |||
278 | static struct intc_vect irq_vectors[] __initdata = { | 271 | static struct intc_vect irq_vectors[] __initdata = { |
279 | INTC_VECT(IRQ0, 0x240), INTC_VECT(IRQ1, 0x280), | 272 | INTC_VECT(IRQ0, 0x240), INTC_VECT(IRQ1, 0x280), |
280 | INTC_VECT(IRQ2, 0x2c0), INTC_VECT(IRQ3, 0x300), | 273 | INTC_VECT(IRQ2, 0x2c0), INTC_VECT(IRQ3, 0x300), |
@@ -298,11 +291,11 @@ static struct intc_sense_reg irq_sense_registers[] __initdata = { | |||
298 | }; | 291 | }; |
299 | 292 | ||
300 | static DECLARE_INTC_DESC(intc_irq_desc, "sh7763-irq", irq_vectors, | 293 | static DECLARE_INTC_DESC(intc_irq_desc, "sh7763-irq", irq_vectors, |
301 | NULL, NULL, irq_mask_registers, irq_prio_registers, | 294 | NULL, irq_mask_registers, irq_prio_registers, |
302 | irq_sense_registers); | 295 | irq_sense_registers); |
303 | 296 | ||
304 | /* External interrupt pins in IRL mode */ | ||
305 | 297 | ||
298 | /* External interrupt pins in IRL mode */ | ||
306 | static struct intc_vect irl_vectors[] __initdata = { | 299 | static struct intc_vect irl_vectors[] __initdata = { |
307 | INTC_VECT(IRL_LLLL, 0x200), INTC_VECT(IRL_LLLH, 0x220), | 300 | INTC_VECT(IRL_LLLL, 0x200), INTC_VECT(IRL_LLLH, 0x220), |
308 | INTC_VECT(IRL_LLHL, 0x240), INTC_VECT(IRL_LLHH, 0x260), | 301 | INTC_VECT(IRL_LLHL, 0x240), INTC_VECT(IRL_LLHH, 0x260), |
@@ -332,10 +325,10 @@ static struct intc_mask_reg irl7654_mask_registers[] __initdata = { | |||
332 | }; | 325 | }; |
333 | 326 | ||
334 | static DECLARE_INTC_DESC(intc_irl7654_desc, "sh7763-irl7654", irl_vectors, | 327 | static DECLARE_INTC_DESC(intc_irl7654_desc, "sh7763-irl7654", irl_vectors, |
335 | NULL, NULL, irl7654_mask_registers, NULL, NULL); | 328 | NULL, irl7654_mask_registers, NULL, NULL); |
336 | 329 | ||
337 | static DECLARE_INTC_DESC(intc_irl3210_desc, "sh7763-irl3210", irl_vectors, | 330 | static DECLARE_INTC_DESC(intc_irl3210_desc, "sh7763-irl3210", irl_vectors, |
338 | NULL, NULL, irl3210_mask_registers, NULL, NULL); | 331 | NULL, irl3210_mask_registers, NULL, NULL); |
339 | 332 | ||
340 | #define INTC_ICR0 0xffd00000 | 333 | #define INTC_ICR0 0xffd00000 |
341 | #define INTC_INTMSK0 0xffd00044 | 334 | #define INTC_INTMSK0 0xffd00044 |
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7770.c b/arch/sh/kernel/cpu/sh4a/setup-sh7770.c index b9cec48b1808..b73578ee295d 100644 --- a/arch/sh/kernel/cpu/sh4a/setup-sh7770.c +++ b/arch/sh/kernel/cpu/sh4a/setup-sh7770.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * SH7770 Setup | 2 | * SH7770 Setup |
3 | * | 3 | * |
4 | * Copyright (C) 2006 Paul Mundt | 4 | * Copyright (C) 2006 - 2008 Paul Mundt |
5 | * | 5 | * |
6 | * This file is subject to the terms and conditions of the GNU General Public | 6 | * This file is subject to the terms and conditions of the GNU General Public |
7 | * License. See the file "COPYING" in the main directory of this archive | 7 | * License. See the file "COPYING" in the main directory of this archive |
@@ -29,6 +29,41 @@ static struct plat_sci_port sci_platform_data[] = { | |||
29 | .type = PORT_SCIF, | 29 | .type = PORT_SCIF, |
30 | .irqs = { 63, 63, 63, 63 }, | 30 | .irqs = { 63, 63, 63, 63 }, |
31 | }, { | 31 | }, { |
32 | .mapbase = 0xff926000, | ||
33 | .flags = UPF_BOOT_AUTOCONF, | ||
34 | .type = PORT_SCIF, | ||
35 | .irqs = { 64, 64, 64, 64 }, | ||
36 | }, { | ||
37 | .mapbase = 0xff927000, | ||
38 | .flags = UPF_BOOT_AUTOCONF, | ||
39 | .type = PORT_SCIF, | ||
40 | .irqs = { 65, 65, 65, 65 }, | ||
41 | }, { | ||
42 | .mapbase = 0xff928000, | ||
43 | .flags = UPF_BOOT_AUTOCONF, | ||
44 | .type = PORT_SCIF, | ||
45 | .irqs = { 66, 66, 66, 66 }, | ||
46 | }, { | ||
47 | .mapbase = 0xff929000, | ||
48 | .flags = UPF_BOOT_AUTOCONF, | ||
49 | .type = PORT_SCIF, | ||
50 | .irqs = { 67, 67, 67, 67 }, | ||
51 | }, { | ||
52 | .mapbase = 0xff92a000, | ||
53 | .flags = UPF_BOOT_AUTOCONF, | ||
54 | .type = PORT_SCIF, | ||
55 | .irqs = { 68, 68, 68, 68 }, | ||
56 | }, { | ||
57 | .mapbase = 0xff92b000, | ||
58 | .flags = UPF_BOOT_AUTOCONF, | ||
59 | .type = PORT_SCIF, | ||
60 | .irqs = { 69, 69, 69, 69 }, | ||
61 | }, { | ||
62 | .mapbase = 0xff92c000, | ||
63 | .flags = UPF_BOOT_AUTOCONF, | ||
64 | .type = PORT_SCIF, | ||
65 | .irqs = { 70, 70, 70, 70 }, | ||
66 | }, { | ||
32 | .flags = 0, | 67 | .flags = 0, |
33 | } | 68 | } |
34 | }; | 69 | }; |
diff --git a/arch/sh/kernel/cpu/sh5/entry.S b/arch/sh/kernel/cpu/sh5/entry.S index ba8750176d91..05372ed6c568 100644 --- a/arch/sh/kernel/cpu/sh5/entry.S +++ b/arch/sh/kernel/cpu/sh5/entry.S | |||
@@ -143,12 +143,22 @@ resvec_save_area: | |||
143 | trap_jtable: | 143 | trap_jtable: |
144 | .long do_exception_error /* 0x000 */ | 144 | .long do_exception_error /* 0x000 */ |
145 | .long do_exception_error /* 0x020 */ | 145 | .long do_exception_error /* 0x020 */ |
146 | #ifdef CONFIG_MMU | ||
146 | .long tlb_miss_load /* 0x040 */ | 147 | .long tlb_miss_load /* 0x040 */ |
147 | .long tlb_miss_store /* 0x060 */ | 148 | .long tlb_miss_store /* 0x060 */ |
149 | #else | ||
150 | .long do_exception_error | ||
151 | .long do_exception_error | ||
152 | #endif | ||
148 | ! ARTIFICIAL pseudo-EXPEVT setting | 153 | ! ARTIFICIAL pseudo-EXPEVT setting |
149 | .long do_debug_interrupt /* 0x080 */ | 154 | .long do_debug_interrupt /* 0x080 */ |
155 | #ifdef CONFIG_MMU | ||
150 | .long tlb_miss_load /* 0x0A0 */ | 156 | .long tlb_miss_load /* 0x0A0 */ |
151 | .long tlb_miss_store /* 0x0C0 */ | 157 | .long tlb_miss_store /* 0x0C0 */ |
158 | #else | ||
159 | .long do_exception_error | ||
160 | .long do_exception_error | ||
161 | #endif | ||
152 | .long do_address_error_load /* 0x0E0 */ | 162 | .long do_address_error_load /* 0x0E0 */ |
153 | .long do_address_error_store /* 0x100 */ | 163 | .long do_address_error_store /* 0x100 */ |
154 | #ifdef CONFIG_SH_FPU | 164 | #ifdef CONFIG_SH_FPU |
@@ -185,10 +195,18 @@ trap_jtable: | |||
185 | .endr | 195 | .endr |
186 | .long do_IRQ /* 0xA00 */ | 196 | .long do_IRQ /* 0xA00 */ |
187 | .long do_IRQ /* 0xA20 */ | 197 | .long do_IRQ /* 0xA20 */ |
198 | #ifdef CONFIG_MMU | ||
188 | .long itlb_miss_or_IRQ /* 0xA40 */ | 199 | .long itlb_miss_or_IRQ /* 0xA40 */ |
200 | #else | ||
201 | .long do_IRQ | ||
202 | #endif | ||
189 | .long do_IRQ /* 0xA60 */ | 203 | .long do_IRQ /* 0xA60 */ |
190 | .long do_IRQ /* 0xA80 */ | 204 | .long do_IRQ /* 0xA80 */ |
205 | #ifdef CONFIG_MMU | ||
191 | .long itlb_miss_or_IRQ /* 0xAA0 */ | 206 | .long itlb_miss_or_IRQ /* 0xAA0 */ |
207 | #else | ||
208 | .long do_IRQ | ||
209 | #endif | ||
192 | .long do_exception_error /* 0xAC0 */ | 210 | .long do_exception_error /* 0xAC0 */ |
193 | .long do_address_error_exec /* 0xAE0 */ | 211 | .long do_address_error_exec /* 0xAE0 */ |
194 | .rept 8 | 212 | .rept 8 |
@@ -274,6 +292,7 @@ not_a_tlb_miss: | |||
274 | * Instead of '.space 1024-TEXT_SIZE' place the RESVEC | 292 | * Instead of '.space 1024-TEXT_SIZE' place the RESVEC |
275 | * block making sure the final alignment is correct. | 293 | * block making sure the final alignment is correct. |
276 | */ | 294 | */ |
295 | #ifdef CONFIG_MMU | ||
277 | tlb_miss: | 296 | tlb_miss: |
278 | synco /* TAKum03020 (but probably a good idea anyway.) */ | 297 | synco /* TAKum03020 (but probably a good idea anyway.) */ |
279 | putcon SP, KCR1 | 298 | putcon SP, KCR1 |
@@ -377,6 +396,9 @@ fixup_to_invoke_general_handler: | |||
377 | getcon KCR1, SP | 396 | getcon KCR1, SP |
378 | pta handle_exception, tr0 | 397 | pta handle_exception, tr0 |
379 | blink tr0, ZERO | 398 | blink tr0, ZERO |
399 | #else /* CONFIG_MMU */ | ||
400 | .balign 256 | ||
401 | #endif | ||
380 | 402 | ||
381 | /* NB TAKE GREAT CARE HERE TO ENSURE THAT THE INTERRUPT CODE | 403 | /* NB TAKE GREAT CARE HERE TO ENSURE THAT THE INTERRUPT CODE |
382 | DOES END UP AT VBR+0x600 */ | 404 | DOES END UP AT VBR+0x600 */ |
@@ -1103,6 +1125,7 @@ restore_all: | |||
1103 | * fpu_error_or_IRQ? is a helper to deflect to the right cause. | 1125 | * fpu_error_or_IRQ? is a helper to deflect to the right cause. |
1104 | * | 1126 | * |
1105 | */ | 1127 | */ |
1128 | #ifdef CONFIG_MMU | ||
1106 | tlb_miss_load: | 1129 | tlb_miss_load: |
1107 | or SP, ZERO, r2 | 1130 | or SP, ZERO, r2 |
1108 | or ZERO, ZERO, r3 /* Read */ | 1131 | or ZERO, ZERO, r3 /* Read */ |
@@ -1132,6 +1155,7 @@ call_do_page_fault: | |||
1132 | movi do_page_fault, r6 | 1155 | movi do_page_fault, r6 |
1133 | ptabs r6, tr0 | 1156 | ptabs r6, tr0 |
1134 | blink tr0, ZERO | 1157 | blink tr0, ZERO |
1158 | #endif /* CONFIG_MMU */ | ||
1135 | 1159 | ||
1136 | fpu_error_or_IRQA: | 1160 | fpu_error_or_IRQA: |
1137 | pta its_IRQ, tr0 | 1161 | pta its_IRQ, tr0 |
@@ -1481,6 +1505,7 @@ poke_real_address_q: | |||
1481 | ptabs LINK, tr0 | 1505 | ptabs LINK, tr0 |
1482 | blink tr0, r63 | 1506 | blink tr0, r63 |
1483 | 1507 | ||
1508 | #ifdef CONFIG_MMU | ||
1484 | /* | 1509 | /* |
1485 | * --- User Access Handling Section | 1510 | * --- User Access Handling Section |
1486 | */ | 1511 | */ |
@@ -1604,6 +1629,7 @@ ___clear_user_exit: | |||
1604 | ptabs LINK, tr0 | 1629 | ptabs LINK, tr0 |
1605 | blink tr0, ZERO | 1630 | blink tr0, ZERO |
1606 | 1631 | ||
1632 | #endif /* CONFIG_MMU */ | ||
1607 | 1633 | ||
1608 | /* | 1634 | /* |
1609 | * int __strncpy_from_user(unsigned long __dest, unsigned long __src, | 1635 | * int __strncpy_from_user(unsigned long __dest, unsigned long __src, |
@@ -2014,9 +2040,11 @@ sa_default_restorer: | |||
2014 | .global asm_uaccess_start /* Just a marker */ | 2040 | .global asm_uaccess_start /* Just a marker */ |
2015 | asm_uaccess_start: | 2041 | asm_uaccess_start: |
2016 | 2042 | ||
2043 | #ifdef CONFIG_MMU | ||
2017 | .long ___copy_user1, ___copy_user_exit | 2044 | .long ___copy_user1, ___copy_user_exit |
2018 | .long ___copy_user2, ___copy_user_exit | 2045 | .long ___copy_user2, ___copy_user_exit |
2019 | .long ___clear_user1, ___clear_user_exit | 2046 | .long ___clear_user1, ___clear_user_exit |
2047 | #endif | ||
2020 | .long ___strncpy_from_user1, ___strncpy_from_user_exit | 2048 | .long ___strncpy_from_user1, ___strncpy_from_user_exit |
2021 | .long ___strnlen_user1, ___strnlen_user_exit | 2049 | .long ___strnlen_user1, ___strnlen_user_exit |
2022 | .long ___get_user_asm_b1, ___get_user_asm_b_exit | 2050 | .long ___get_user_asm_b1, ___get_user_asm_b_exit |
diff --git a/arch/sh/kernel/cpu/sh5/fpu.c b/arch/sh/kernel/cpu/sh5/fpu.c index 30b76a94abf2..dd4f51ffb50e 100644 --- a/arch/sh/kernel/cpu/sh5/fpu.c +++ b/arch/sh/kernel/cpu/sh5/fpu.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <asm/processor.h> | 17 | #include <asm/processor.h> |
18 | #include <asm/user.h> | 18 | #include <asm/user.h> |
19 | #include <asm/io.h> | 19 | #include <asm/io.h> |
20 | #include <asm/fpu.h> | ||
20 | 21 | ||
21 | /* | 22 | /* |
22 | * Initially load the FPU with signalling NANS. This bit pattern | 23 | * Initially load the FPU with signalling NANS. This bit pattern |
diff --git a/arch/sh/kernel/cpu/sh5/probe.c b/arch/sh/kernel/cpu/sh5/probe.c index 31f8cb0f6374..92ad844b5c12 100644 --- a/arch/sh/kernel/cpu/sh5/probe.c +++ b/arch/sh/kernel/cpu/sh5/probe.c | |||
@@ -15,6 +15,7 @@ | |||
15 | #include <linux/string.h> | 15 | #include <linux/string.h> |
16 | #include <asm/processor.h> | 16 | #include <asm/processor.h> |
17 | #include <asm/cache.h> | 17 | #include <asm/cache.h> |
18 | #include <asm/tlb.h> | ||
18 | 19 | ||
19 | int __init detect_cpu_and_cache_system(void) | 20 | int __init detect_cpu_and_cache_system(void) |
20 | { | 21 | { |
@@ -67,5 +68,8 @@ int __init detect_cpu_and_cache_system(void) | |||
67 | set_bit(SH_CACHE_MODE_WB, &(boot_cpu_data.dcache.flags)); | 68 | set_bit(SH_CACHE_MODE_WB, &(boot_cpu_data.dcache.flags)); |
68 | #endif | 69 | #endif |
69 | 70 | ||
71 | /* Setup some I/D TLB defaults */ | ||
72 | sh64_tlb_init(); | ||
73 | |||
70 | return 0; | 74 | return 0; |
71 | } | 75 | } |
diff --git a/arch/sh/kernel/dump_task.c b/arch/sh/kernel/dump_task.c index 4a8a4083ff0b..1db7ce0f25d4 100644 --- a/arch/sh/kernel/dump_task.c +++ b/arch/sh/kernel/dump_task.c | |||
@@ -1,5 +1,6 @@ | |||
1 | #include <linux/elfcore.h> | 1 | #include <linux/elfcore.h> |
2 | #include <linux/sched.h> | 2 | #include <linux/sched.h> |
3 | #include <asm/fpu.h> | ||
3 | 4 | ||
4 | /* | 5 | /* |
5 | * Capture the user space registers if the task is not running (in user space) | 6 | * Capture the user space registers if the task is not running (in user space) |
diff --git a/arch/sh/kernel/early_printk.c b/arch/sh/kernel/early_printk.c index 957f25611543..6b7d166694e2 100644 --- a/arch/sh/kernel/early_printk.c +++ b/arch/sh/kernel/early_printk.c | |||
@@ -141,7 +141,9 @@ static void scif_sercon_init(char *s) | |||
141 | */ | 141 | */ |
142 | static void scif_sercon_init(char *s) | 142 | static void scif_sercon_init(char *s) |
143 | { | 143 | { |
144 | struct uart_port *port = &scif_port; | ||
144 | unsigned baud = DEFAULT_BAUD; | 145 | unsigned baud = DEFAULT_BAUD; |
146 | unsigned int status; | ||
145 | char *e; | 147 | char *e; |
146 | 148 | ||
147 | if (*s == ',') | 149 | if (*s == ',') |
@@ -160,19 +162,25 @@ static void scif_sercon_init(char *s) | |||
160 | baud = DEFAULT_BAUD; | 162 | baud = DEFAULT_BAUD; |
161 | } | 163 | } |
162 | 164 | ||
163 | ctrl_outw(0, scif_port.mapbase + 8); | 165 | do { |
164 | ctrl_outw(0, scif_port.mapbase); | 166 | status = sci_in(port, SCxSR); |
167 | } while (!(status & SCxSR_TEND(port))); | ||
168 | |||
169 | sci_out(port, SCSCR, 0); /* TE=0, RE=0 */ | ||
170 | sci_out(port, SCFCR, SCFCR_RFRST | SCFCR_TFRST); | ||
171 | sci_out(port, SCSMR, 0); | ||
165 | 172 | ||
166 | /* Set baud rate */ | 173 | /* Set baud rate */ |
167 | ctrl_outb((CONFIG_SH_PCLK_FREQ + 16 * baud) / | 174 | sci_out(port, SCBRR, (CONFIG_SH_PCLK_FREQ + 16 * baud) / |
168 | (32 * baud) - 1, scif_port.mapbase + 4); | 175 | (32 * baud) - 1); |
169 | 176 | udelay((1000000+(baud-1)) / baud); /* Wait one bit interval */ | |
170 | ctrl_outw(12, scif_port.mapbase + 24); | 177 | |
171 | ctrl_outw(8, scif_port.mapbase + 24); | 178 | sci_out(port, SCSPTR, 0); |
172 | ctrl_outw(0, scif_port.mapbase + 32); | 179 | sci_out(port, SCxSR, 0x60); |
173 | ctrl_outw(0x60, scif_port.mapbase + 16); | 180 | sci_out(port, SCLSR, 0); |
174 | ctrl_outw(0, scif_port.mapbase + 36); | 181 | |
175 | ctrl_outw(0x30, scif_port.mapbase + 8); | 182 | sci_out(port, SCFCR, 0); |
183 | sci_out(port, SCSCR, 0x30); /* TE=1, RE=1 */ | ||
176 | } | 184 | } |
177 | #endif /* defined(CONFIG_CPU_SUBTYPE_SH7720) */ | 185 | #endif /* defined(CONFIG_CPU_SUBTYPE_SH7720) */ |
178 | #endif /* !defined(CONFIG_SH_STANDARD_BIOS) */ | 186 | #endif /* !defined(CONFIG_SH_STANDARD_BIOS) */ |
diff --git a/arch/sh/kernel/entry-common.S b/arch/sh/kernel/entry-common.S index 926b2e7b11c1..718bd2356b34 100644 --- a/arch/sh/kernel/entry-common.S +++ b/arch/sh/kernel/entry-common.S | |||
@@ -1,9 +1,6 @@ | |||
1 | /* $Id: entry.S,v 1.37 2004/06/11 13:02:46 doyu Exp $ | 1 | /* |
2 | * | ||
3 | * linux/arch/sh/entry.S | ||
4 | * | ||
5 | * Copyright (C) 1999, 2000, 2002 Niibe Yutaka | 2 | * Copyright (C) 1999, 2000, 2002 Niibe Yutaka |
6 | * Copyright (C) 2003 Paul Mundt | 3 | * Copyright (C) 2003 - 2008 Paul Mundt |
7 | * | 4 | * |
8 | * This file is subject to the terms and conditions of the GNU General Public | 5 | * This file is subject to the terms and conditions of the GNU General Public |
9 | * License. See the file "COPYING" in the main directory of this archive | 6 | * License. See the file "COPYING" in the main directory of this archive |
@@ -262,6 +259,7 @@ __restore_all: | |||
262 | 259 | ||
263 | .align 2 | 260 | .align 2 |
264 | syscall_badsys: ! Bad syscall number | 261 | syscall_badsys: ! Bad syscall number |
262 | get_current_thread_info r8, r0 | ||
265 | mov #-ENOSYS, r0 | 263 | mov #-ENOSYS, r0 |
266 | bra resume_userspace | 264 | bra resume_userspace |
267 | mov.l r0, @(OFF_R0,r15) ! Return value | 265 | mov.l r0, @(OFF_R0,r15) ! Return value |
@@ -281,7 +279,9 @@ debug_trap: | |||
281 | mov.l 1f, r8 | 279 | mov.l 1f, r8 |
282 | add r0, r8 | 280 | add r0, r8 |
283 | mov.l @r8, r8 | 281 | mov.l @r8, r8 |
284 | jmp @r8 | 282 | jsr @r8 |
283 | nop | ||
284 | bra __restore_all | ||
285 | nop | 285 | nop |
286 | 286 | ||
287 | .align 2 | 287 | .align 2 |
diff --git a/arch/sh/kernel/head_32.S b/arch/sh/kernel/head_32.S index d67d7ed09f22..ae0a382a82eb 100644 --- a/arch/sh/kernel/head_32.S +++ b/arch/sh/kernel/head_32.S | |||
@@ -30,8 +30,8 @@ ENTRY(empty_zero_page) | |||
30 | .long 0 /* RAMDISK_FLAGS */ | 30 | .long 0 /* RAMDISK_FLAGS */ |
31 | .long 0x0200 /* ORIG_ROOT_DEV */ | 31 | .long 0x0200 /* ORIG_ROOT_DEV */ |
32 | .long 1 /* LOADER_TYPE */ | 32 | .long 1 /* LOADER_TYPE */ |
33 | .long 0x00360000 /* INITRD_START */ | 33 | .long 0x00000000 /* INITRD_START */ |
34 | .long 0x000a0000 /* INITRD_SIZE */ | 34 | .long 0x00000000 /* INITRD_SIZE */ |
35 | #ifdef CONFIG_32BIT | 35 | #ifdef CONFIG_32BIT |
36 | .long 0x53453f00 + 32 /* "SE?" = 32 bit */ | 36 | .long 0x53453f00 + 32 /* "SE?" = 32 bit */ |
37 | #else | 37 | #else |
diff --git a/arch/sh/kernel/init_task.c b/arch/sh/kernel/init_task.c index f9bcc606127e..b151a25cb14d 100644 --- a/arch/sh/kernel/init_task.c +++ b/arch/sh/kernel/init_task.c | |||
@@ -8,7 +8,6 @@ | |||
8 | #include <asm/pgtable.h> | 8 | #include <asm/pgtable.h> |
9 | 9 | ||
10 | static struct fs_struct init_fs = INIT_FS; | 10 | static struct fs_struct init_fs = INIT_FS; |
11 | static struct files_struct init_files = INIT_FILES; | ||
12 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 11 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
13 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 12 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
14 | struct pt_regs fake_swapper_regs; | 13 | struct pt_regs fake_swapper_regs; |
diff --git a/arch/sh/kernel/irq.c b/arch/sh/kernel/irq.c index 9bf19b00696a..a2a99e487e33 100644 --- a/arch/sh/kernel/irq.c +++ b/arch/sh/kernel/irq.c | |||
@@ -200,8 +200,6 @@ void irq_ctx_exit(int cpu) | |||
200 | hardirq_ctx[cpu] = NULL; | 200 | hardirq_ctx[cpu] = NULL; |
201 | } | 201 | } |
202 | 202 | ||
203 | extern asmlinkage void __do_softirq(void); | ||
204 | |||
205 | asmlinkage void do_softirq(void) | 203 | asmlinkage void do_softirq(void) |
206 | { | 204 | { |
207 | unsigned long flags; | 205 | unsigned long flags; |
diff --git a/arch/sh/kernel/kgdb_stub.c b/arch/sh/kernel/kgdb_stub.c index d453c3a1c79f..bf8ac4c71640 100644 --- a/arch/sh/kernel/kgdb_stub.c +++ b/arch/sh/kernel/kgdb_stub.c | |||
@@ -274,8 +274,7 @@ static char *mem_to_hex(const char *mem, char *buf, const int count) | |||
274 | } | 274 | } |
275 | for (i = 0; i < count; i++) { | 275 | for (i = 0; i < count; i++) { |
276 | ch = *mem++; | 276 | ch = *mem++; |
277 | *buf++ = highhex(ch); | 277 | buf = pack_hex_byte(buf, ch); |
278 | *buf++ = lowhex(ch); | ||
279 | } | 278 | } |
280 | *buf = 0; | 279 | *buf = 0; |
281 | return (buf); | 280 | return (buf); |
@@ -330,14 +329,6 @@ static char *ebin_to_mem(const char *buf, char *mem, int count) | |||
330 | return mem; | 329 | return mem; |
331 | } | 330 | } |
332 | 331 | ||
333 | /* Pack a hex byte */ | ||
334 | static char *pack_hex_byte(char *pkt, int byte) | ||
335 | { | ||
336 | *pkt++ = hexchars[(byte >> 4) & 0xf]; | ||
337 | *pkt++ = hexchars[(byte & 0xf)]; | ||
338 | return pkt; | ||
339 | } | ||
340 | |||
341 | /* Scan for the start char '$', read the packet and check the checksum */ | 332 | /* Scan for the start char '$', read the packet and check the checksum */ |
342 | static void get_packet(char *buffer, int buflen) | 333 | static void get_packet(char *buffer, int buflen) |
343 | { | 334 | { |
@@ -435,8 +426,8 @@ static void put_packet(char *buffer) | |||
435 | 426 | ||
436 | /* '#' Separator, put high and low components of checksum */ | 427 | /* '#' Separator, put high and low components of checksum */ |
437 | put_debug_char('#'); | 428 | put_debug_char('#'); |
438 | put_debug_char(highhex(checksum)); | 429 | put_debug_char(hex_asc_hi(checksum)); |
439 | put_debug_char(lowhex(checksum)); | 430 | put_debug_char(hex_asc_lo(checksum)); |
440 | } | 431 | } |
441 | while ((get_debug_char()) != '+'); /* While no ack */ | 432 | while ((get_debug_char()) != '+'); /* While no ack */ |
442 | } | 433 | } |
@@ -658,8 +649,8 @@ static void undo_single_step(void) | |||
658 | static void send_signal_msg(const int signum) | 649 | static void send_signal_msg(const int signum) |
659 | { | 650 | { |
660 | out_buffer[0] = 'S'; | 651 | out_buffer[0] = 'S'; |
661 | out_buffer[1] = highhex(signum); | 652 | out_buffer[1] = hex_asc_hi(signum); |
662 | out_buffer[2] = lowhex(signum); | 653 | out_buffer[2] = hex_asc_lo(signum); |
663 | out_buffer[3] = 0; | 654 | out_buffer[3] = 0; |
664 | put_packet(out_buffer); | 655 | put_packet(out_buffer); |
665 | } | 656 | } |
diff --git a/arch/sh/kernel/module.c b/arch/sh/kernel/module.c index b3d0a03b4c76..5482e65375a9 100644 --- a/arch/sh/kernel/module.c +++ b/arch/sh/kernel/module.c | |||
@@ -30,6 +30,7 @@ | |||
30 | #include <linux/fs.h> | 30 | #include <linux/fs.h> |
31 | #include <linux/string.h> | 31 | #include <linux/string.h> |
32 | #include <linux/kernel.h> | 32 | #include <linux/kernel.h> |
33 | #include <asm/unaligned.h> | ||
33 | 34 | ||
34 | void *module_alloc(unsigned long size) | 35 | void *module_alloc(unsigned long size) |
35 | { | 36 | { |
@@ -56,34 +57,6 @@ int module_frob_arch_sections(Elf_Ehdr *hdr, | |||
56 | return 0; | 57 | return 0; |
57 | } | 58 | } |
58 | 59 | ||
59 | #ifdef CONFIG_SUPERH32 | ||
60 | #define COPY_UNALIGNED_WORD(sw, tw, align) \ | ||
61 | { \ | ||
62 | void *__s = &(sw), *__t = &(tw); \ | ||
63 | unsigned short *__s2 = __s, *__t2 = __t; \ | ||
64 | unsigned char *__s1 = __s, *__t1 = __t; \ | ||
65 | switch ((align)) \ | ||
66 | { \ | ||
67 | case 0: \ | ||
68 | *(unsigned long *) __t = *(unsigned long *) __s; \ | ||
69 | break; \ | ||
70 | case 2: \ | ||
71 | *__t2++ = *__s2++; \ | ||
72 | *__t2 = *__s2; \ | ||
73 | break; \ | ||
74 | default: \ | ||
75 | *__t1++ = *__s1++; \ | ||
76 | *__t1++ = *__s1++; \ | ||
77 | *__t1++ = *__s1++; \ | ||
78 | *__t1 = *__s1; \ | ||
79 | break; \ | ||
80 | } \ | ||
81 | } | ||
82 | #else | ||
83 | /* One thing SHmedia doesn't screw up! */ | ||
84 | #define COPY_UNALIGNED_WORD(sw, tw, align) { (tw) = (sw); } | ||
85 | #endif | ||
86 | |||
87 | int apply_relocate_add(Elf32_Shdr *sechdrs, | 60 | int apply_relocate_add(Elf32_Shdr *sechdrs, |
88 | const char *strtab, | 61 | const char *strtab, |
89 | unsigned int symindex, | 62 | unsigned int symindex, |
@@ -96,7 +69,6 @@ int apply_relocate_add(Elf32_Shdr *sechdrs, | |||
96 | Elf32_Addr relocation; | 69 | Elf32_Addr relocation; |
97 | uint32_t *location; | 70 | uint32_t *location; |
98 | uint32_t value; | 71 | uint32_t value; |
99 | int align; | ||
100 | 72 | ||
101 | pr_debug("Applying relocate section %u to %u\n", relsec, | 73 | pr_debug("Applying relocate section %u to %u\n", relsec, |
102 | sechdrs[relsec].sh_info); | 74 | sechdrs[relsec].sh_info); |
@@ -109,7 +81,6 @@ int apply_relocate_add(Elf32_Shdr *sechdrs, | |||
109 | sym = (Elf32_Sym *)sechdrs[symindex].sh_addr | 81 | sym = (Elf32_Sym *)sechdrs[symindex].sh_addr |
110 | + ELF32_R_SYM(rel[i].r_info); | 82 | + ELF32_R_SYM(rel[i].r_info); |
111 | relocation = sym->st_value + rel[i].r_addend; | 83 | relocation = sym->st_value + rel[i].r_addend; |
112 | align = (int)location & 3; | ||
113 | 84 | ||
114 | #ifdef CONFIG_SUPERH64 | 85 | #ifdef CONFIG_SUPERH64 |
115 | /* For text addresses, bit2 of the st_other field indicates | 86 | /* For text addresses, bit2 of the st_other field indicates |
@@ -122,15 +93,15 @@ int apply_relocate_add(Elf32_Shdr *sechdrs, | |||
122 | 93 | ||
123 | switch (ELF32_R_TYPE(rel[i].r_info)) { | 94 | switch (ELF32_R_TYPE(rel[i].r_info)) { |
124 | case R_SH_DIR32: | 95 | case R_SH_DIR32: |
125 | COPY_UNALIGNED_WORD (*location, value, align); | 96 | value = get_unaligned(location); |
126 | value += relocation; | 97 | value += relocation; |
127 | COPY_UNALIGNED_WORD (value, *location, align); | 98 | put_unaligned(value, location); |
128 | break; | 99 | break; |
129 | case R_SH_REL32: | 100 | case R_SH_REL32: |
130 | relocation = (relocation - (Elf32_Addr) location); | 101 | relocation = (relocation - (Elf32_Addr) location); |
131 | COPY_UNALIGNED_WORD (*location, value, align); | 102 | value = get_unaligned(location); |
132 | value += relocation; | 103 | value += relocation; |
133 | COPY_UNALIGNED_WORD (value, *location, align); | 104 | put_unaligned(value, location); |
134 | break; | 105 | break; |
135 | case R_SH_IMM_LOW16: | 106 | case R_SH_IMM_LOW16: |
136 | *location = (*location & ~0x3fffc00) | | 107 | *location = (*location & ~0x3fffc00) | |
diff --git a/arch/sh/kernel/process_32.c b/arch/sh/kernel/process_32.c index 9ab1926b9d10..b98e37a1f54c 100644 --- a/arch/sh/kernel/process_32.c +++ b/arch/sh/kernel/process_32.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <asm/pgalloc.h> | 25 | #include <asm/pgalloc.h> |
26 | #include <asm/system.h> | 26 | #include <asm/system.h> |
27 | #include <asm/ubc.h> | 27 | #include <asm/ubc.h> |
28 | #include <asm/fpu.h> | ||
28 | 29 | ||
29 | static int hlt_counter; | 30 | static int hlt_counter; |
30 | int ubc_usercnt = 0; | 31 | int ubc_usercnt = 0; |
diff --git a/arch/sh/kernel/process_64.c b/arch/sh/kernel/process_64.c index 046999b1d1af..0283d8133075 100644 --- a/arch/sh/kernel/process_64.c +++ b/arch/sh/kernel/process_64.c | |||
@@ -28,6 +28,7 @@ | |||
28 | #include <asm/uaccess.h> | 28 | #include <asm/uaccess.h> |
29 | #include <asm/pgtable.h> | 29 | #include <asm/pgtable.h> |
30 | #include <asm/mmu_context.h> | 30 | #include <asm/mmu_context.h> |
31 | #include <asm/fpu.h> | ||
31 | 32 | ||
32 | struct task_struct *last_task_used_math = NULL; | 33 | struct task_struct *last_task_used_math = NULL; |
33 | 34 | ||
diff --git a/arch/sh/kernel/ptrace_64.c b/arch/sh/kernel/ptrace_64.c index f6fbdfa6876d..d453c47dc522 100644 --- a/arch/sh/kernel/ptrace_64.c +++ b/arch/sh/kernel/ptrace_64.c | |||
@@ -33,6 +33,7 @@ | |||
33 | #include <asm/system.h> | 33 | #include <asm/system.h> |
34 | #include <asm/processor.h> | 34 | #include <asm/processor.h> |
35 | #include <asm/mmu_context.h> | 35 | #include <asm/mmu_context.h> |
36 | #include <asm/fpu.h> | ||
36 | 37 | ||
37 | /* This mask defines the bits of the SR which the user is not allowed to | 38 | /* This mask defines the bits of the SR which the user is not allowed to |
38 | change, which are everything except S, Q, M, PR, SZ, FR. */ | 39 | change, which are everything except S, Q, M, PR, SZ, FR. */ |
diff --git a/arch/sh/kernel/semaphore.c b/arch/sh/kernel/semaphore.c deleted file mode 100644 index 184119eeae56..000000000000 --- a/arch/sh/kernel/semaphore.c +++ /dev/null | |||
@@ -1,139 +0,0 @@ | |||
1 | /* | ||
2 | * Just taken from alpha implementation. | ||
3 | * This can't work well, perhaps. | ||
4 | */ | ||
5 | /* | ||
6 | * Generic semaphore code. Buyer beware. Do your own | ||
7 | * specific changes in <asm/semaphore-helper.h> | ||
8 | */ | ||
9 | |||
10 | #include <linux/errno.h> | ||
11 | #include <linux/sched.h> | ||
12 | #include <linux/wait.h> | ||
13 | #include <linux/init.h> | ||
14 | #include <asm/semaphore.h> | ||
15 | #include <asm/semaphore-helper.h> | ||
16 | |||
17 | DEFINE_SPINLOCK(semaphore_wake_lock); | ||
18 | |||
19 | /* | ||
20 | * Semaphores are implemented using a two-way counter: | ||
21 | * The "count" variable is decremented for each process | ||
22 | * that tries to sleep, while the "waking" variable is | ||
23 | * incremented when the "up()" code goes to wake up waiting | ||
24 | * processes. | ||
25 | * | ||
26 | * Notably, the inline "up()" and "down()" functions can | ||
27 | * efficiently test if they need to do any extra work (up | ||
28 | * needs to do something only if count was negative before | ||
29 | * the increment operation. | ||
30 | * | ||
31 | * waking_non_zero() (from asm/semaphore.h) must execute | ||
32 | * atomically. | ||
33 | * | ||
34 | * When __up() is called, the count was negative before | ||
35 | * incrementing it, and we need to wake up somebody. | ||
36 | * | ||
37 | * This routine adds one to the count of processes that need to | ||
38 | * wake up and exit. ALL waiting processes actually wake up but | ||
39 | * only the one that gets to the "waking" field first will gate | ||
40 | * through and acquire the semaphore. The others will go back | ||
41 | * to sleep. | ||
42 | * | ||
43 | * Note that these functions are only called when there is | ||
44 | * contention on the lock, and as such all this is the | ||
45 | * "non-critical" part of the whole semaphore business. The | ||
46 | * critical part is the inline stuff in <asm/semaphore.h> | ||
47 | * where we want to avoid any extra jumps and calls. | ||
48 | */ | ||
49 | void __up(struct semaphore *sem) | ||
50 | { | ||
51 | wake_one_more(sem); | ||
52 | wake_up(&sem->wait); | ||
53 | } | ||
54 | |||
55 | /* | ||
56 | * Perform the "down" function. Return zero for semaphore acquired, | ||
57 | * return negative for signalled out of the function. | ||
58 | * | ||
59 | * If called from __down, the return is ignored and the wait loop is | ||
60 | * not interruptible. This means that a task waiting on a semaphore | ||
61 | * using "down()" cannot be killed until someone does an "up()" on | ||
62 | * the semaphore. | ||
63 | * | ||
64 | * If called from __down_interruptible, the return value gets checked | ||
65 | * upon return. If the return value is negative then the task continues | ||
66 | * with the negative value in the return register (it can be tested by | ||
67 | * the caller). | ||
68 | * | ||
69 | * Either form may be used in conjunction with "up()". | ||
70 | * | ||
71 | */ | ||
72 | |||
73 | #define DOWN_VAR \ | ||
74 | struct task_struct *tsk = current; \ | ||
75 | wait_queue_t wait; \ | ||
76 | init_waitqueue_entry(&wait, tsk); | ||
77 | |||
78 | #define DOWN_HEAD(task_state) \ | ||
79 | \ | ||
80 | \ | ||
81 | tsk->state = (task_state); \ | ||
82 | add_wait_queue(&sem->wait, &wait); \ | ||
83 | \ | ||
84 | /* \ | ||
85 | * Ok, we're set up. sem->count is known to be less than zero \ | ||
86 | * so we must wait. \ | ||
87 | * \ | ||
88 | * We can let go the lock for purposes of waiting. \ | ||
89 | * We re-acquire it after awaking so as to protect \ | ||
90 | * all semaphore operations. \ | ||
91 | * \ | ||
92 | * If "up()" is called before we call waking_non_zero() then \ | ||
93 | * we will catch it right away. If it is called later then \ | ||
94 | * we will have to go through a wakeup cycle to catch it. \ | ||
95 | * \ | ||
96 | * Multiple waiters contend for the semaphore lock to see \ | ||
97 | * who gets to gate through and who has to wait some more. \ | ||
98 | */ \ | ||
99 | for (;;) { | ||
100 | |||
101 | #define DOWN_TAIL(task_state) \ | ||
102 | tsk->state = (task_state); \ | ||
103 | } \ | ||
104 | tsk->state = TASK_RUNNING; \ | ||
105 | remove_wait_queue(&sem->wait, &wait); | ||
106 | |||
107 | void __sched __down(struct semaphore * sem) | ||
108 | { | ||
109 | DOWN_VAR | ||
110 | DOWN_HEAD(TASK_UNINTERRUPTIBLE) | ||
111 | if (waking_non_zero(sem)) | ||
112 | break; | ||
113 | schedule(); | ||
114 | DOWN_TAIL(TASK_UNINTERRUPTIBLE) | ||
115 | } | ||
116 | |||
117 | int __sched __down_interruptible(struct semaphore * sem) | ||
118 | { | ||
119 | int ret = 0; | ||
120 | DOWN_VAR | ||
121 | DOWN_HEAD(TASK_INTERRUPTIBLE) | ||
122 | |||
123 | ret = waking_non_zero_interruptible(sem, tsk); | ||
124 | if (ret) | ||
125 | { | ||
126 | if (ret == 1) | ||
127 | /* ret != 0 only if we get interrupted -arca */ | ||
128 | ret = 0; | ||
129 | break; | ||
130 | } | ||
131 | schedule(); | ||
132 | DOWN_TAIL(TASK_INTERRUPTIBLE) | ||
133 | return ret; | ||
134 | } | ||
135 | |||
136 | int __down_trylock(struct semaphore * sem) | ||
137 | { | ||
138 | return waking_non_zero_trylock(sem); | ||
139 | } | ||
diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c index ff4f54a47c07..bca2bbc575db 100644 --- a/arch/sh/kernel/setup.c +++ b/arch/sh/kernel/setup.c | |||
@@ -23,6 +23,8 @@ | |||
23 | #include <linux/kexec.h> | 23 | #include <linux/kexec.h> |
24 | #include <linux/module.h> | 24 | #include <linux/module.h> |
25 | #include <linux/smp.h> | 25 | #include <linux/smp.h> |
26 | #include <linux/err.h> | ||
27 | #include <linux/debugfs.h> | ||
26 | #include <asm/uaccess.h> | 28 | #include <asm/uaccess.h> |
27 | #include <asm/io.h> | 29 | #include <asm/io.h> |
28 | #include <asm/page.h> | 30 | #include <asm/page.h> |
@@ -51,6 +53,7 @@ EXPORT_SYMBOL(cpu_data); | |||
51 | * sh_mv= on the command line, prior to .machvec.init teardown. | 53 | * sh_mv= on the command line, prior to .machvec.init teardown. |
52 | */ | 54 | */ |
53 | struct sh_machine_vector sh_mv = { .mv_name = "generic", }; | 55 | struct sh_machine_vector sh_mv = { .mv_name = "generic", }; |
56 | EXPORT_SYMBOL(sh_mv); | ||
54 | 57 | ||
55 | #ifdef CONFIG_VT | 58 | #ifdef CONFIG_VT |
56 | struct screen_info screen_info; | 59 | struct screen_info screen_info; |
@@ -74,11 +77,18 @@ static struct resource data_resource = { | |||
74 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM, | 77 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM, |
75 | }; | 78 | }; |
76 | 79 | ||
80 | static struct resource bss_resource = { | ||
81 | .name = "Kernel bss", | ||
82 | .flags = IORESOURCE_BUSY | IORESOURCE_MEM, | ||
83 | }; | ||
84 | |||
77 | unsigned long memory_start; | 85 | unsigned long memory_start; |
78 | EXPORT_SYMBOL(memory_start); | 86 | EXPORT_SYMBOL(memory_start); |
79 | unsigned long memory_end = 0; | 87 | unsigned long memory_end = 0; |
80 | EXPORT_SYMBOL(memory_end); | 88 | EXPORT_SYMBOL(memory_end); |
81 | 89 | ||
90 | static struct resource mem_resources[MAX_NUMNODES]; | ||
91 | |||
82 | int l1i_cache_shape, l1d_cache_shape, l2_cache_shape; | 92 | int l1i_cache_shape, l1d_cache_shape, l2_cache_shape; |
83 | 93 | ||
84 | static int __init early_parse_mem(char *p) | 94 | static int __init early_parse_mem(char *p) |
@@ -167,6 +177,40 @@ static inline void __init reserve_crashkernel(void) | |||
167 | {} | 177 | {} |
168 | #endif | 178 | #endif |
169 | 179 | ||
180 | void __init __add_active_range(unsigned int nid, unsigned long start_pfn, | ||
181 | unsigned long end_pfn) | ||
182 | { | ||
183 | struct resource *res = &mem_resources[nid]; | ||
184 | |||
185 | WARN_ON(res->name); /* max one active range per node for now */ | ||
186 | |||
187 | res->name = "System RAM"; | ||
188 | res->start = start_pfn << PAGE_SHIFT; | ||
189 | res->end = (end_pfn << PAGE_SHIFT) - 1; | ||
190 | res->flags = IORESOURCE_MEM | IORESOURCE_BUSY; | ||
191 | if (request_resource(&iomem_resource, res)) { | ||
192 | pr_err("unable to request memory_resource 0x%lx 0x%lx\n", | ||
193 | start_pfn, end_pfn); | ||
194 | return; | ||
195 | } | ||
196 | |||
197 | /* | ||
198 | * We don't know which RAM region contains kernel data, | ||
199 | * so we try it repeatedly and let the resource manager | ||
200 | * test it. | ||
201 | */ | ||
202 | request_resource(res, &code_resource); | ||
203 | request_resource(res, &data_resource); | ||
204 | request_resource(res, &bss_resource); | ||
205 | |||
206 | #ifdef CONFIG_KEXEC | ||
207 | if (crashk_res.start != crashk_res.end) | ||
208 | request_resource(res, &crashk_res); | ||
209 | #endif | ||
210 | |||
211 | add_active_range(nid, start_pfn, end_pfn); | ||
212 | } | ||
213 | |||
170 | void __init setup_bootmem_allocator(unsigned long free_pfn) | 214 | void __init setup_bootmem_allocator(unsigned long free_pfn) |
171 | { | 215 | { |
172 | unsigned long bootmap_size; | 216 | unsigned long bootmap_size; |
@@ -179,7 +223,7 @@ void __init setup_bootmem_allocator(unsigned long free_pfn) | |||
179 | bootmap_size = init_bootmem_node(NODE_DATA(0), free_pfn, | 223 | bootmap_size = init_bootmem_node(NODE_DATA(0), free_pfn, |
180 | min_low_pfn, max_low_pfn); | 224 | min_low_pfn, max_low_pfn); |
181 | 225 | ||
182 | add_active_range(0, min_low_pfn, max_low_pfn); | 226 | __add_active_range(0, min_low_pfn, max_low_pfn); |
183 | register_bootmem_low_pages(); | 227 | register_bootmem_low_pages(); |
184 | 228 | ||
185 | node_set_online(0); | 229 | node_set_online(0); |
@@ -248,6 +292,17 @@ void __init setup_arch(char **cmdline_p) | |||
248 | 292 | ||
249 | ROOT_DEV = old_decode_dev(ORIG_ROOT_DEV); | 293 | ROOT_DEV = old_decode_dev(ORIG_ROOT_DEV); |
250 | 294 | ||
295 | printk(KERN_NOTICE "Boot params:\n" | ||
296 | "... MOUNT_ROOT_RDONLY - %08lx\n" | ||
297 | "... RAMDISK_FLAGS - %08lx\n" | ||
298 | "... ORIG_ROOT_DEV - %08lx\n" | ||
299 | "... LOADER_TYPE - %08lx\n" | ||
300 | "... INITRD_START - %08lx\n" | ||
301 | "... INITRD_SIZE - %08lx\n", | ||
302 | MOUNT_ROOT_RDONLY, RAMDISK_FLAGS, | ||
303 | ORIG_ROOT_DEV, LOADER_TYPE, | ||
304 | INITRD_START, INITRD_SIZE); | ||
305 | |||
251 | #ifdef CONFIG_BLK_DEV_RAM | 306 | #ifdef CONFIG_BLK_DEV_RAM |
252 | rd_image_start = RAMDISK_FLAGS & RAMDISK_IMAGE_START_MASK; | 307 | rd_image_start = RAMDISK_FLAGS & RAMDISK_IMAGE_START_MASK; |
253 | rd_prompt = ((RAMDISK_FLAGS & RAMDISK_PROMPT_FLAG) != 0); | 308 | rd_prompt = ((RAMDISK_FLAGS & RAMDISK_PROMPT_FLAG) != 0); |
@@ -265,6 +320,8 @@ void __init setup_arch(char **cmdline_p) | |||
265 | code_resource.end = virt_to_phys(_etext)-1; | 320 | code_resource.end = virt_to_phys(_etext)-1; |
266 | data_resource.start = virt_to_phys(_etext); | 321 | data_resource.start = virt_to_phys(_etext); |
267 | data_resource.end = virt_to_phys(_edata)-1; | 322 | data_resource.end = virt_to_phys(_edata)-1; |
323 | bss_resource.start = virt_to_phys(__bss_start); | ||
324 | bss_resource.end = virt_to_phys(_ebss)-1; | ||
268 | 325 | ||
269 | memory_start = (unsigned long)__va(__MEMORY_START); | 326 | memory_start = (unsigned long)__va(__MEMORY_START); |
270 | if (!memory_end) | 327 | if (!memory_end) |
@@ -333,6 +390,7 @@ static const char *cpu_name[] = { | |||
333 | [CPU_SH7343] = "SH7343", [CPU_SH7785] = "SH7785", | 390 | [CPU_SH7343] = "SH7343", [CPU_SH7785] = "SH7785", |
334 | [CPU_SH7722] = "SH7722", [CPU_SHX3] = "SH-X3", | 391 | [CPU_SH7722] = "SH7722", [CPU_SHX3] = "SH-X3", |
335 | [CPU_SH5_101] = "SH5-101", [CPU_SH5_103] = "SH5-103", | 392 | [CPU_SH5_101] = "SH5-101", [CPU_SH5_103] = "SH5-103", |
393 | [CPU_MXG] = "MX-G", [CPU_SH7723] = "SH7723", | ||
336 | [CPU_SH7366] = "SH7366", [CPU_SH_NONE] = "Unknown" | 394 | [CPU_SH7366] = "SH7366", [CPU_SH_NONE] = "Unknown" |
337 | }; | 395 | }; |
338 | 396 | ||
@@ -443,3 +501,15 @@ const struct seq_operations cpuinfo_op = { | |||
443 | .show = show_cpuinfo, | 501 | .show = show_cpuinfo, |
444 | }; | 502 | }; |
445 | #endif /* CONFIG_PROC_FS */ | 503 | #endif /* CONFIG_PROC_FS */ |
504 | |||
505 | struct dentry *sh_debugfs_root; | ||
506 | |||
507 | static int __init sh_debugfs_init(void) | ||
508 | { | ||
509 | sh_debugfs_root = debugfs_create_dir("sh", NULL); | ||
510 | if (IS_ERR(sh_debugfs_root)) | ||
511 | return PTR_ERR(sh_debugfs_root); | ||
512 | |||
513 | return 0; | ||
514 | } | ||
515 | arch_initcall(sh_debugfs_init); | ||
diff --git a/arch/sh/kernel/sh_ksyms_32.c b/arch/sh/kernel/sh_ksyms_32.c index d80de3903271..8f916536719c 100644 --- a/arch/sh/kernel/sh_ksyms_32.c +++ b/arch/sh/kernel/sh_ksyms_32.c | |||
@@ -9,7 +9,6 @@ | |||
9 | #include <linux/pci.h> | 9 | #include <linux/pci.h> |
10 | #include <linux/irq.h> | 10 | #include <linux/irq.h> |
11 | #include <asm/sections.h> | 11 | #include <asm/sections.h> |
12 | #include <asm/semaphore.h> | ||
13 | #include <asm/processor.h> | 12 | #include <asm/processor.h> |
14 | #include <asm/uaccess.h> | 13 | #include <asm/uaccess.h> |
15 | #include <asm/checksum.h> | 14 | #include <asm/checksum.h> |
@@ -21,8 +20,6 @@ | |||
21 | extern int dump_fpu(struct pt_regs *, elf_fpregset_t *); | 20 | extern int dump_fpu(struct pt_regs *, elf_fpregset_t *); |
22 | extern struct hw_interrupt_type no_irq_type; | 21 | extern struct hw_interrupt_type no_irq_type; |
23 | 22 | ||
24 | EXPORT_SYMBOL(sh_mv); | ||
25 | |||
26 | /* platform dependent support */ | 23 | /* platform dependent support */ |
27 | EXPORT_SYMBOL(dump_fpu); | 24 | EXPORT_SYMBOL(dump_fpu); |
28 | EXPORT_SYMBOL(kernel_thread); | 25 | EXPORT_SYMBOL(kernel_thread); |
@@ -48,12 +45,6 @@ EXPORT_SYMBOL(__copy_user); | |||
48 | EXPORT_SYMBOL(get_vm_area); | 45 | EXPORT_SYMBOL(get_vm_area); |
49 | #endif | 46 | #endif |
50 | 47 | ||
51 | /* semaphore exports */ | ||
52 | EXPORT_SYMBOL(__up); | ||
53 | EXPORT_SYMBOL(__down); | ||
54 | EXPORT_SYMBOL(__down_interruptible); | ||
55 | EXPORT_SYMBOL(__down_trylock); | ||
56 | |||
57 | EXPORT_SYMBOL(__udelay); | 48 | EXPORT_SYMBOL(__udelay); |
58 | EXPORT_SYMBOL(__ndelay); | 49 | EXPORT_SYMBOL(__ndelay); |
59 | EXPORT_SYMBOL(__const_udelay); | 50 | EXPORT_SYMBOL(__const_udelay); |
@@ -149,3 +140,4 @@ EXPORT_SYMBOL(clear_page); | |||
149 | EXPORT_SYMBOL(copy_page); | 140 | EXPORT_SYMBOL(copy_page); |
150 | EXPORT_SYMBOL(__clear_user); | 141 | EXPORT_SYMBOL(__clear_user); |
151 | EXPORT_SYMBOL(_ebss); | 142 | EXPORT_SYMBOL(_ebss); |
143 | EXPORT_SYMBOL(empty_zero_page); | ||
diff --git a/arch/sh/kernel/sh_ksyms_64.c b/arch/sh/kernel/sh_ksyms_64.c index dd38a683de65..9324d32adacc 100644 --- a/arch/sh/kernel/sh_ksyms_64.c +++ b/arch/sh/kernel/sh_ksyms_64.c | |||
@@ -16,7 +16,7 @@ | |||
16 | #include <linux/in6.h> | 16 | #include <linux/in6.h> |
17 | #include <linux/interrupt.h> | 17 | #include <linux/interrupt.h> |
18 | #include <linux/screen_info.h> | 18 | #include <linux/screen_info.h> |
19 | #include <asm/semaphore.h> | 19 | #include <asm/cacheflush.h> |
20 | #include <asm/processor.h> | 20 | #include <asm/processor.h> |
21 | #include <asm/uaccess.h> | 21 | #include <asm/uaccess.h> |
22 | #include <asm/checksum.h> | 22 | #include <asm/checksum.h> |
@@ -30,27 +30,50 @@ extern int dump_fpu(struct pt_regs *, elf_fpregset_t *); | |||
30 | EXPORT_SYMBOL(dump_fpu); | 30 | EXPORT_SYMBOL(dump_fpu); |
31 | EXPORT_SYMBOL(kernel_thread); | 31 | EXPORT_SYMBOL(kernel_thread); |
32 | 32 | ||
33 | #if !defined(CONFIG_CACHE_OFF) && defined(CONFIG_MMU) | ||
34 | EXPORT_SYMBOL(clear_user_page); | ||
35 | #endif | ||
36 | |||
37 | #ifndef CONFIG_CACHE_OFF | ||
38 | EXPORT_SYMBOL(flush_dcache_page); | ||
39 | #endif | ||
40 | |||
33 | /* Networking helper routines. */ | 41 | /* Networking helper routines. */ |
42 | EXPORT_SYMBOL(csum_partial); | ||
34 | EXPORT_SYMBOL(csum_partial_copy_nocheck); | 43 | EXPORT_SYMBOL(csum_partial_copy_nocheck); |
44 | #ifdef CONFIG_IPV6 | ||
45 | EXPORT_SYMBOL(csum_ipv6_magic); | ||
46 | #endif | ||
35 | 47 | ||
36 | #ifdef CONFIG_VT | 48 | #ifdef CONFIG_VT |
37 | EXPORT_SYMBOL(screen_info); | 49 | EXPORT_SYMBOL(screen_info); |
38 | #endif | 50 | #endif |
39 | 51 | ||
40 | EXPORT_SYMBOL(__down); | 52 | EXPORT_SYMBOL(__put_user_asm_b); |
41 | EXPORT_SYMBOL(__down_trylock); | 53 | EXPORT_SYMBOL(__put_user_asm_w); |
42 | EXPORT_SYMBOL(__up); | ||
43 | EXPORT_SYMBOL(__put_user_asm_l); | 54 | EXPORT_SYMBOL(__put_user_asm_l); |
55 | EXPORT_SYMBOL(__put_user_asm_q); | ||
56 | EXPORT_SYMBOL(__get_user_asm_b); | ||
57 | EXPORT_SYMBOL(__get_user_asm_w); | ||
44 | EXPORT_SYMBOL(__get_user_asm_l); | 58 | EXPORT_SYMBOL(__get_user_asm_l); |
59 | EXPORT_SYMBOL(__get_user_asm_q); | ||
60 | EXPORT_SYMBOL(__strnlen_user); | ||
61 | EXPORT_SYMBOL(__strncpy_from_user); | ||
62 | EXPORT_SYMBOL(clear_page); | ||
63 | EXPORT_SYMBOL(__clear_user); | ||
45 | EXPORT_SYMBOL(copy_page); | 64 | EXPORT_SYMBOL(copy_page); |
46 | EXPORT_SYMBOL(__copy_user); | 65 | EXPORT_SYMBOL(__copy_user); |
66 | EXPORT_SYMBOL(empty_zero_page); | ||
47 | EXPORT_SYMBOL(memcpy); | 67 | EXPORT_SYMBOL(memcpy); |
48 | EXPORT_SYMBOL(__udelay); | 68 | EXPORT_SYMBOL(__udelay); |
49 | EXPORT_SYMBOL(__ndelay); | 69 | EXPORT_SYMBOL(__ndelay); |
70 | EXPORT_SYMBOL(__const_udelay); | ||
50 | 71 | ||
51 | /* Ugh. These come in from libgcc.a at link time. */ | 72 | /* Ugh. These come in from libgcc.a at link time. */ |
52 | #define DECLARE_EXPORT(name) extern void name(void);EXPORT_SYMBOL(name) | 73 | #define DECLARE_EXPORT(name) extern void name(void);EXPORT_SYMBOL(name) |
53 | 74 | ||
54 | DECLARE_EXPORT(__sdivsi3); | 75 | DECLARE_EXPORT(__sdivsi3); |
76 | DECLARE_EXPORT(__sdivsi3_2); | ||
55 | DECLARE_EXPORT(__muldi3); | 77 | DECLARE_EXPORT(__muldi3); |
56 | DECLARE_EXPORT(__udivsi3); | 78 | DECLARE_EXPORT(__udivsi3); |
79 | DECLARE_EXPORT(__div_table); | ||
diff --git a/arch/sh/kernel/signal_32.c b/arch/sh/kernel/signal_32.c index f6b5fbfe75c4..f311551d9a05 100644 --- a/arch/sh/kernel/signal_32.c +++ b/arch/sh/kernel/signal_32.c | |||
@@ -29,6 +29,7 @@ | |||
29 | #include <asm/uaccess.h> | 29 | #include <asm/uaccess.h> |
30 | #include <asm/pgtable.h> | 30 | #include <asm/pgtable.h> |
31 | #include <asm/cacheflush.h> | 31 | #include <asm/cacheflush.h> |
32 | #include <asm/fpu.h> | ||
32 | 33 | ||
33 | #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP))) | 34 | #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP))) |
34 | 35 | ||
diff --git a/arch/sh/kernel/signal_64.c b/arch/sh/kernel/signal_64.c index 80bde19d445b..552eb810cd85 100644 --- a/arch/sh/kernel/signal_64.c +++ b/arch/sh/kernel/signal_64.c | |||
@@ -26,6 +26,7 @@ | |||
26 | #include <asm/uaccess.h> | 26 | #include <asm/uaccess.h> |
27 | #include <asm/pgtable.h> | 27 | #include <asm/pgtable.h> |
28 | #include <asm/cacheflush.h> | 28 | #include <asm/cacheflush.h> |
29 | #include <asm/fpu.h> | ||
29 | 30 | ||
30 | #define REG_RET 9 | 31 | #define REG_RET 9 |
31 | #define REG_ARG1 2 | 32 | #define REG_ARG1 2 |
diff --git a/arch/sh/kernel/sys_sh64.c b/arch/sh/kernel/sys_sh64.c index 578004d71e02..91fb8445a5a0 100644 --- a/arch/sh/kernel/sys_sh64.c +++ b/arch/sh/kernel/sys_sh64.c | |||
@@ -31,23 +31,6 @@ | |||
31 | #include <asm/unistd.h> | 31 | #include <asm/unistd.h> |
32 | 32 | ||
33 | /* | 33 | /* |
34 | * sys_pipe() is the normal C calling standard for creating | ||
35 | * a pipe. It's not the way Unix traditionally does this, though. | ||
36 | */ | ||
37 | asmlinkage int sys_pipe(unsigned long * fildes) | ||
38 | { | ||
39 | int fd[2]; | ||
40 | int error; | ||
41 | |||
42 | error = do_pipe(fd); | ||
43 | if (!error) { | ||
44 | if (copy_to_user(fildes, fd, 2*sizeof(int))) | ||
45 | error = -EFAULT; | ||
46 | } | ||
47 | return error; | ||
48 | } | ||
49 | |||
50 | /* | ||
51 | * Do a system call from kernel instead of calling sys_execve so we | 34 | * Do a system call from kernel instead of calling sys_execve so we |
52 | * end up with proper pt_regs. | 35 | * end up with proper pt_regs. |
53 | */ | 36 | */ |
diff --git a/arch/sh/kernel/time_64.c b/arch/sh/kernel/time_64.c index 898977ee2030..022a55f1c1d4 100644 --- a/arch/sh/kernel/time_64.c +++ b/arch/sh/kernel/time_64.c | |||
@@ -172,6 +172,7 @@ void do_gettimeofday(struct timeval *tv) | |||
172 | tv->tv_sec = sec; | 172 | tv->tv_sec = sec; |
173 | tv->tv_usec = usec; | 173 | tv->tv_usec = usec; |
174 | } | 174 | } |
175 | EXPORT_SYMBOL(do_gettimeofday); | ||
175 | 176 | ||
176 | int do_settimeofday(struct timespec *tv) | 177 | int do_settimeofday(struct timespec *tv) |
177 | { | 178 | { |
@@ -240,7 +241,7 @@ static inline void do_timer_interrupt(void) | |||
240 | * the irq version of write_lock because as just said we have irq | 241 | * the irq version of write_lock because as just said we have irq |
241 | * locally disabled. -arca | 242 | * locally disabled. -arca |
242 | */ | 243 | */ |
243 | write_lock(&xtime_lock); | 244 | write_seqlock(&xtime_lock); |
244 | asm ("getcon cr62, %0" : "=r" (current_ctc)); | 245 | asm ("getcon cr62, %0" : "=r" (current_ctc)); |
245 | ctc_last_interrupt = (unsigned long) current_ctc; | 246 | ctc_last_interrupt = (unsigned long) current_ctc; |
246 | 247 | ||
@@ -266,7 +267,7 @@ static inline void do_timer_interrupt(void) | |||
266 | /* do it again in 60 s */ | 267 | /* do it again in 60 s */ |
267 | last_rtc_update = xtime.tv_sec - 600; | 268 | last_rtc_update = xtime.tv_sec - 600; |
268 | } | 269 | } |
269 | write_unlock(&xtime_lock); | 270 | write_sequnlock(&xtime_lock); |
270 | 271 | ||
271 | #ifndef CONFIG_SMP | 272 | #ifndef CONFIG_SMP |
272 | update_process_times(user_mode(get_irq_regs())); | 273 | update_process_times(user_mode(get_irq_regs())); |
diff --git a/arch/sh/kernel/traps.c b/arch/sh/kernel/traps.c index a3bdc68ef02c..438f1ebcc453 100644 --- a/arch/sh/kernel/traps.c +++ b/arch/sh/kernel/traps.c | |||
@@ -4,6 +4,7 @@ | |||
4 | #include <linux/kdebug.h> | 4 | #include <linux/kdebug.h> |
5 | #include <linux/signal.h> | 5 | #include <linux/signal.h> |
6 | #include <linux/sched.h> | 6 | #include <linux/sched.h> |
7 | #include <linux/uaccess.h> | ||
7 | #include <asm/system.h> | 8 | #include <asm/system.h> |
8 | 9 | ||
9 | #ifdef CONFIG_BUG | 10 | #ifdef CONFIG_BUG |
@@ -21,7 +22,14 @@ static void handle_BUG(struct pt_regs *regs) | |||
21 | 22 | ||
22 | int is_valid_bugaddr(unsigned long addr) | 23 | int is_valid_bugaddr(unsigned long addr) |
23 | { | 24 | { |
24 | return addr >= PAGE_OFFSET; | 25 | unsigned short opcode; |
26 | |||
27 | if (addr < PAGE_OFFSET) | ||
28 | return 0; | ||
29 | if (probe_kernel_address((u16 *)addr, opcode)) | ||
30 | return 0; | ||
31 | |||
32 | return opcode == TRAPA_BUG_OPCODE; | ||
25 | } | 33 | } |
26 | #endif | 34 | #endif |
27 | 35 | ||
diff --git a/arch/sh/kernel/traps_32.c b/arch/sh/kernel/traps_32.c index baa4fa368dce..e08b3bfeb656 100644 --- a/arch/sh/kernel/traps_32.c +++ b/arch/sh/kernel/traps_32.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <linux/limits.h> | 25 | #include <linux/limits.h> |
26 | #include <asm/system.h> | 26 | #include <asm/system.h> |
27 | #include <asm/uaccess.h> | 27 | #include <asm/uaccess.h> |
28 | #include <asm/fpu.h> | ||
28 | 29 | ||
29 | #ifdef CONFIG_SH_KGDB | 30 | #ifdef CONFIG_SH_KGDB |
30 | #include <asm/kgdb.h> | 31 | #include <asm/kgdb.h> |
diff --git a/arch/sh/kernel/traps_64.c b/arch/sh/kernel/traps_64.c index 1b58a7499087..a85831cbf18b 100644 --- a/arch/sh/kernel/traps_64.c +++ b/arch/sh/kernel/traps_64.c | |||
@@ -30,6 +30,7 @@ | |||
30 | #include <asm/atomic.h> | 30 | #include <asm/atomic.h> |
31 | #include <asm/processor.h> | 31 | #include <asm/processor.h> |
32 | #include <asm/pgtable.h> | 32 | #include <asm/pgtable.h> |
33 | #include <asm/fpu.h> | ||
33 | 34 | ||
34 | #undef DEBUG_EXCEPTION | 35 | #undef DEBUG_EXCEPTION |
35 | #ifdef DEBUG_EXCEPTION | 36 | #ifdef DEBUG_EXCEPTION |
diff --git a/arch/sh/lib/clear_page.S b/arch/sh/lib/clear_page.S index 3539123fe517..8342bfbde64c 100644 --- a/arch/sh/lib/clear_page.S +++ b/arch/sh/lib/clear_page.S | |||
@@ -27,11 +27,11 @@ ENTRY(clear_page) | |||
27 | mov #0,r0 | 27 | mov #0,r0 |
28 | ! | 28 | ! |
29 | 1: | 29 | 1: |
30 | #if defined(CONFIG_CPU_SH3) | 30 | #if defined(CONFIG_CPU_SH4) |
31 | mov.l r0,@r4 | ||
32 | #elif defined(CONFIG_CPU_SH4) | ||
33 | movca.l r0,@r4 | 31 | movca.l r0,@r4 |
34 | mov r4,r1 | 32 | mov r4,r1 |
33 | #else | ||
34 | mov.l r0,@r4 | ||
35 | #endif | 35 | #endif |
36 | add #32,r4 | 36 | add #32,r4 |
37 | mov.l r0,@-r4 | 37 | mov.l r0,@-r4 |
diff --git a/arch/sh/lib/copy_page.S b/arch/sh/lib/copy_page.S index e002b91c8752..5d12e657be34 100644 --- a/arch/sh/lib/copy_page.S +++ b/arch/sh/lib/copy_page.S | |||
@@ -41,11 +41,11 @@ ENTRY(copy_page) | |||
41 | mov.l @r11+,r5 | 41 | mov.l @r11+,r5 |
42 | mov.l @r11+,r6 | 42 | mov.l @r11+,r6 |
43 | mov.l @r11+,r7 | 43 | mov.l @r11+,r7 |
44 | #if defined(CONFIG_CPU_SH3) | 44 | #if defined(CONFIG_CPU_SH4) |
45 | mov.l r0,@r10 | ||
46 | #elif defined(CONFIG_CPU_SH4) | ||
47 | movca.l r0,@r10 | 45 | movca.l r0,@r10 |
48 | mov r10,r0 | 46 | mov r10,r0 |
47 | #else | ||
48 | mov.l r0,@r10 | ||
49 | #endif | 49 | #endif |
50 | add #32,r10 | 50 | add #32,r10 |
51 | mov.l r7,@-r10 | 51 | mov.l r7,@-r10 |
diff --git a/arch/sh/lib/memcpy-sh4.S b/arch/sh/lib/memcpy-sh4.S index 560bc17eebdd..459fa92a7c53 100644 --- a/arch/sh/lib/memcpy-sh4.S +++ b/arch/sh/lib/memcpy-sh4.S | |||
@@ -126,10 +126,10 @@ | |||
126 | 126 | ||
127 | mov.l r3,@-r0 ! 30 LS | 127 | mov.l r3,@-r0 ! 30 LS |
128 | #else | 128 | #else |
129 | 3: mov r1,r3 ! OPQR | 129 | 3: mov r7,r3 ! OPQR |
130 | shlr8 r3 ! xOPQ | 130 | shlr8 r3 ! xOPQ |
131 | mov.l @(r0,r5),r1 ! KLMN | 131 | mov.l @(r0,r5),r7 ! KLMN |
132 | mov r1,r6 | 132 | mov r7,r6 |
133 | shll16 r6 | 133 | shll16 r6 |
134 | shll8 r6 ! Nxxx | 134 | shll8 r6 ! Nxxx |
135 | or r6,r3 ! NOPQ | 135 | or r6,r3 ! NOPQ |
@@ -733,24 +733,24 @@ ENTRY(memcpy) | |||
733 | movca.l r0,@r1 ! 40 LS (latency=3-7) | 733 | movca.l r0,@r1 ! 40 LS (latency=3-7) |
734 | add #-0x1c, r1 ! 50 EX | 734 | add #-0x1c, r1 ! 50 EX |
735 | 735 | ||
736 | mov.l r3, @(0x1c,r1) ! 33 LS | 736 | mov.l r3, @(0x18,r1) ! 33 LS |
737 | xtrct r11, r10 ! 48 EX | 737 | xtrct r11, r10 ! 48 EX |
738 | 738 | ||
739 | mov.l r6, @(0x18,r1) ! 33 LS | 739 | mov.l r6, @(0x14,r1) ! 33 LS |
740 | xtrct r12, r11 ! 48 EX | 740 | xtrct r12, r11 ! 48 EX |
741 | 741 | ||
742 | mov.l r7, @(0x14,r1) ! 33 LS | 742 | mov.l r7, @(0x10,r1) ! 33 LS |
743 | 743 | ||
744 | mov.l r8, @(0x10,r1) ! 33 LS | 744 | mov.l r8, @(0x0c,r1) ! 33 LS |
745 | add #-0x3e, r5 ! 50 EX | 745 | add #-0x1e, r5 ! 50 EX |
746 | 746 | ||
747 | mov.l r9, @(0x0c,r1) ! 33 LS | 747 | mov.l r9, @(0x08,r1) ! 33 LS |
748 | cmp/eq r2,r1 ! 54 MT | 748 | cmp/eq r2,r1 ! 54 MT |
749 | 749 | ||
750 | mov.l r10, @(0x08,r1) ! 33 LS | 750 | mov.l r10, @(0x04,r1) ! 33 LS |
751 | bf/s 2b ! 109 BR | 751 | bf/s 2b ! 109 BR |
752 | 752 | ||
753 | mov.l r11, @(0x04,r1) ! 33 LS | 753 | mov.l r11, @(0x00,r1) ! 33 LS |
754 | #endif | 754 | #endif |
755 | 755 | ||
756 | mov.l @r15+, r12 | 756 | mov.l @r15+, r12 |
diff --git a/arch/sh/lib64/dbg.c b/arch/sh/lib64/dbg.c index 75825ef6e084..2fb8eaf6de60 100644 --- a/arch/sh/lib64/dbg.c +++ b/arch/sh/lib64/dbg.c | |||
@@ -186,8 +186,8 @@ void evt_debug(int evt, int ret_addr, int event, int tra, struct pt_regs *regs) | |||
186 | rr->pc = regs->pc; | 186 | rr->pc = regs->pc; |
187 | 187 | ||
188 | if (sp < stack_bottom + 3092) { | 188 | if (sp < stack_bottom + 3092) { |
189 | printk("evt_debug : stack underflow report\n"); | ||
190 | int i, j; | 189 | int i, j; |
190 | printk("evt_debug : stack underflow report\n"); | ||
191 | for (j=0, i = event_ptr; j<16; j++) { | 191 | for (j=0, i = event_ptr; j<16; j++) { |
192 | rr = event_ring + i; | 192 | rr = event_ring + i; |
193 | printk("evt=%08x event=%08x tra=%08x pid=%5d sp=%08lx pc=%08lx\n", | 193 | printk("evt=%08x event=%08x tra=%08x pid=%5d sp=%08lx pc=%08lx\n", |
diff --git a/arch/sh/mm/Makefile_64 b/arch/sh/mm/Makefile_64 index cbd6aa33c5ac..0d92a8a3ac9a 100644 --- a/arch/sh/mm/Makefile_64 +++ b/arch/sh/mm/Makefile_64 | |||
@@ -2,10 +2,11 @@ | |||
2 | # Makefile for the Linux SuperH-specific parts of the memory manager. | 2 | # Makefile for the Linux SuperH-specific parts of the memory manager. |
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y := init.o extable_64.o consistent.o | 5 | obj-y := init.o consistent.o |
6 | 6 | ||
7 | mmu-y := tlb-nommu.o pg-nommu.o | 7 | mmu-y := tlb-nommu.o pg-nommu.o extable_32.o |
8 | mmu-$(CONFIG_MMU) := fault_64.o ioremap_64.o tlbflush_64.o tlb-sh5.o | 8 | mmu-$(CONFIG_MMU) := fault_64.o ioremap_64.o tlbflush_64.o tlb-sh5.o \ |
9 | extable_64.o | ||
9 | 10 | ||
10 | ifndef CONFIG_CACHE_OFF | 11 | ifndef CONFIG_CACHE_OFF |
11 | obj-y += cache-sh5.o | 12 | obj-y += cache-sh5.o |
diff --git a/arch/sh/mm/cache-debugfs.c b/arch/sh/mm/cache-debugfs.c index db6d950b6f5e..c5b56d52b7d2 100644 --- a/arch/sh/mm/cache-debugfs.c +++ b/arch/sh/mm/cache-debugfs.c | |||
@@ -127,13 +127,13 @@ static int __init cache_debugfs_init(void) | |||
127 | { | 127 | { |
128 | struct dentry *dcache_dentry, *icache_dentry; | 128 | struct dentry *dcache_dentry, *icache_dentry; |
129 | 129 | ||
130 | dcache_dentry = debugfs_create_file("dcache", S_IRUSR, NULL, | 130 | dcache_dentry = debugfs_create_file("dcache", S_IRUSR, sh_debugfs_root, |
131 | (unsigned int *)CACHE_TYPE_DCACHE, | 131 | (unsigned int *)CACHE_TYPE_DCACHE, |
132 | &cache_debugfs_fops); | 132 | &cache_debugfs_fops); |
133 | if (IS_ERR(dcache_dentry)) | 133 | if (IS_ERR(dcache_dentry)) |
134 | return PTR_ERR(dcache_dentry); | 134 | return PTR_ERR(dcache_dentry); |
135 | 135 | ||
136 | icache_dentry = debugfs_create_file("icache", S_IRUSR, NULL, | 136 | icache_dentry = debugfs_create_file("icache", S_IRUSR, sh_debugfs_root, |
137 | (unsigned int *)CACHE_TYPE_ICACHE, | 137 | (unsigned int *)CACHE_TYPE_ICACHE, |
138 | &cache_debugfs_fops); | 138 | &cache_debugfs_fops); |
139 | if (IS_ERR(icache_dentry)) { | 139 | if (IS_ERR(icache_dentry)) { |
diff --git a/arch/sh/mm/cache-sh5.c b/arch/sh/mm/cache-sh5.c index 3877321fcede..9e277ec7d536 100644 --- a/arch/sh/mm/cache-sh5.c +++ b/arch/sh/mm/cache-sh5.c | |||
@@ -714,6 +714,7 @@ void flush_cache_sigtramp(unsigned long vaddr) | |||
714 | sh64_icache_inv_current_user_range(vaddr, end); | 714 | sh64_icache_inv_current_user_range(vaddr, end); |
715 | } | 715 | } |
716 | 716 | ||
717 | #ifdef CONFIG_MMU | ||
717 | /* | 718 | /* |
718 | * These *MUST* lie in an area of virtual address space that's otherwise | 719 | * These *MUST* lie in an area of virtual address space that's otherwise |
719 | * unused. | 720 | * unused. |
@@ -830,3 +831,4 @@ void clear_user_page(void *to, unsigned long address, struct page *page) | |||
830 | else | 831 | else |
831 | sh64_clear_user_page_coloured(to, address); | 832 | sh64_clear_user_page_coloured(to, address); |
832 | } | 833 | } |
834 | #endif | ||
diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c index 53dde0607362..d7df26bd1e54 100644 --- a/arch/sh/mm/init.c +++ b/arch/sh/mm/init.c | |||
@@ -307,15 +307,6 @@ void free_initrd_mem(unsigned long start, unsigned long end) | |||
307 | #endif | 307 | #endif |
308 | 308 | ||
309 | #ifdef CONFIG_MEMORY_HOTPLUG | 309 | #ifdef CONFIG_MEMORY_HOTPLUG |
310 | void online_page(struct page *page) | ||
311 | { | ||
312 | ClearPageReserved(page); | ||
313 | init_page_count(page); | ||
314 | __free_page(page); | ||
315 | totalram_pages++; | ||
316 | num_physpages++; | ||
317 | } | ||
318 | |||
319 | int arch_add_memory(int nid, u64 start, u64 size) | 310 | int arch_add_memory(int nid, u64 start, u64 size) |
320 | { | 311 | { |
321 | pg_data_t *pgdat; | 312 | pg_data_t *pgdat; |
diff --git a/arch/sh/mm/ioremap_64.c b/arch/sh/mm/ioremap_64.c index cea224c3e49b..6e0be24d26e2 100644 --- a/arch/sh/mm/ioremap_64.c +++ b/arch/sh/mm/ioremap_64.c | |||
@@ -343,6 +343,7 @@ unsigned long onchip_remap(unsigned long phys, unsigned long size, const char *n | |||
343 | 343 | ||
344 | return shmedia_alloc_io(phys, size, name); | 344 | return shmedia_alloc_io(phys, size, name); |
345 | } | 345 | } |
346 | EXPORT_SYMBOL(onchip_remap); | ||
346 | 347 | ||
347 | void onchip_unmap(unsigned long vaddr) | 348 | void onchip_unmap(unsigned long vaddr) |
348 | { | 349 | { |
@@ -370,6 +371,7 @@ void onchip_unmap(unsigned long vaddr) | |||
370 | kfree(res); | 371 | kfree(res); |
371 | } | 372 | } |
372 | } | 373 | } |
374 | EXPORT_SYMBOL(onchip_unmap); | ||
373 | 375 | ||
374 | #ifdef CONFIG_PROC_FS | 376 | #ifdef CONFIG_PROC_FS |
375 | static int | 377 | static int |
diff --git a/arch/sh/mm/numa.c b/arch/sh/mm/numa.c index 2de7302724fc..1663199ce888 100644 --- a/arch/sh/mm/numa.c +++ b/arch/sh/mm/numa.c | |||
@@ -59,7 +59,7 @@ void __init setup_bootmem_node(int nid, unsigned long start, unsigned long end) | |||
59 | free_pfn = start_pfn = start >> PAGE_SHIFT; | 59 | free_pfn = start_pfn = start >> PAGE_SHIFT; |
60 | end_pfn = end >> PAGE_SHIFT; | 60 | end_pfn = end >> PAGE_SHIFT; |
61 | 61 | ||
62 | add_active_range(nid, start_pfn, end_pfn); | 62 | __add_active_range(nid, start_pfn, end_pfn); |
63 | 63 | ||
64 | /* Node-local pgdat */ | 64 | /* Node-local pgdat */ |
65 | NODE_DATA(nid) = pfn_to_kaddr(free_pfn); | 65 | NODE_DATA(nid) = pfn_to_kaddr(free_pfn); |
diff --git a/arch/sh/mm/pmb.c b/arch/sh/mm/pmb.c index ab81c602295f..0b0ec6e04753 100644 --- a/arch/sh/mm/pmb.c +++ b/arch/sh/mm/pmb.c | |||
@@ -393,7 +393,7 @@ static int __init pmb_debugfs_init(void) | |||
393 | struct dentry *dentry; | 393 | struct dentry *dentry; |
394 | 394 | ||
395 | dentry = debugfs_create_file("pmb", S_IFREG | S_IRUGO, | 395 | dentry = debugfs_create_file("pmb", S_IFREG | S_IRUGO, |
396 | NULL, NULL, &pmb_debugfs_fops); | 396 | sh_debugfs_root, NULL, &pmb_debugfs_fops); |
397 | if (IS_ERR(dentry)) | 397 | if (IS_ERR(dentry)) |
398 | return PTR_ERR(dentry); | 398 | return PTR_ERR(dentry); |
399 | 399 | ||
diff --git a/arch/sh/tools/mach-types b/arch/sh/tools/mach-types index d63b93da952d..1bba7d36be90 100644 --- a/arch/sh/tools/mach-types +++ b/arch/sh/tools/mach-types | |||
@@ -21,13 +21,13 @@ HD64465 HD64465 | |||
21 | 7206SE SH_7206_SOLUTION_ENGINE | 21 | 7206SE SH_7206_SOLUTION_ENGINE |
22 | 7343SE SH_7343_SOLUTION_ENGINE | 22 | 7343SE SH_7343_SOLUTION_ENGINE |
23 | 7619SE SH_7619_SOLUTION_ENGINE | 23 | 7619SE SH_7619_SOLUTION_ENGINE |
24 | 7722SE SH_7722_SOLUTION_ENGINE | 24 | 7721SE SH_7721_SOLUTION_ENGINE |
25 | 7751SE SH_7751_SOLUTION_ENGINE | 25 | 7722SE SH_7722_SOLUTION_ENGINE |
26 | 7751SE SH_7751_SOLUTION_ENGINE | ||
26 | 7780SE SH_7780_SOLUTION_ENGINE | 27 | 7780SE SH_7780_SOLUTION_ENGINE |
27 | 7751SYSTEMH SH_7751_SYSTEMH | 28 | 7751SYSTEMH SH_7751_SYSTEMH |
28 | HP6XX SH_HP6XX | 29 | HP6XX SH_HP6XX |
29 | DREAMCAST SH_DREAMCAST | 30 | DREAMCAST SH_DREAMCAST |
30 | MPC1211 SH_MPC1211 | ||
31 | SNAPGEAR SH_SECUREEDGE5410 | 31 | SNAPGEAR SH_SECUREEDGE5410 |
32 | EDOSK7705 SH_EDOSK7705 | 32 | EDOSK7705 SH_EDOSK7705 |
33 | SH4202_MICRODEV SH_SH4202_MICRODEV | 33 | SH4202_MICRODEV SH_SH4202_MICRODEV |